Add optional context fields for pKa values (temperature, ionic strength, solvent)
## Problem
pKa values are not immutable properties - they depend on the experimental conditions under which they are measured. Currently, the ChemROF schema stores pKa values without capturing the physical parameter context, which can lead to ambiguity and imprecise modeling.
## Background
Standard pKa values are typically reported under specific conditions, but these conditions significantly affect the measured values:
- **Temperature**: pKa values shift with temperature following the van't Hoff equation. Most tabulated values assume 25°C
- **Solvent**: pKa in water vs. non-aqueous solvents can be dramatically different due to polarity effects
- **Ionic strength**: Salt concentration affects pKa through electrostatic shielding of charges
- **Pressure**: Generally minor effect under standard laboratory conditions (1 atm)
## Proposed Solution
Add optional context fields to provide precise physical parameter context for pKa values:
### New Optional Slots
```yaml
slots:
pka_temperature:
range: float
description: Temperature in Celsius at which pKa was measured
unit: degree Celsius
pka_ionic_strength:
range: float
description: Ionic strength of solution in mol/L
unit: M
pka_solvent:
range: string
description: Solvent system for pKa measurement
pka_pressure:
range: float
description: Pressure in atmospheres
unit: atm
```
### Proposed Defaults
When context fields are not specified, assume standard conditions:
- **Temperature**: 25°C (298.15 K)
- **Solvent**: Water (H₂O)
- **Pressure**: 1 atm
- **Ionic strength**: 0.0 M (zero ionic strength corresponding to distilled water)
### Usage Examples
```yaml
# Simple case - uses defaults (25°C, H₂O, 0.1M, 1 atm)
pka_values: [3.13, 4.76, 6.40]
# Explicit context
pka_values: [3.13, 4.76, 6.40]
pka_temperature: 37.0 # body temperature
pka_ionic_strength: 0.15 # physiological
pka_solvent: "water"
# Non-aqueous system
pka_values: [8.2]
pka_solvent: "DMSO"
pka_temperature: 25.0
```
## Design Considerations
1. **Backwards compatibility**: All context fields are optional - existing pKa data remains valid
2. **Standard assumptions**: Clear documentation of default conditions when context not specified
3. **Literature alignment**: Most database pKa values are at ~25°C in water, fitting the defaults
4. **Flexibility**: Supports specialized conditions (physiological, non-aqueous, etc.)
## Implementation Notes
- Consider adding validation that temperatures are in reasonable ranges
- Document units clearly (°C vs K, M vs mM for ionic strength)
- May want enumerated values for common solvents rather than free text
- Could reference external ontologies for solvent terms (CHEBI solvent terms)
## References
- Standard conditions: 2012books.lardbucket.org
- Temperature dependence: van't Hoff equation, reachdevices.com
- Ionic strength effects: electrostatic shielding, researchgate.net
@dragon-ai-agent
关闭于 2025-08-21 2 条评论