ITADN

Extend modeling of multiple ionizable groups to pair with pKa values

#38Openrealmarcin 创建于 2025-08-20
R
realmarcincommented
## Problem Currently, the ChemROF schema supports pKa values but lacks sophisticated modeling for molecules with multiple ionizable groups. This creates challenges when: 1. **Multiple identical groups exist**: When the same functional group occurs multiple times in a molecule (e.g., multiple carboxyl groups in citric acid), we need to distinguish between them and their respective pKa values. 2. **Group-pKa association**: There's no clear way to associate specific pKa values with their corresponding functional groups, making it difficult to understand which pKa belongs to which ionizable site. ## Use Cases - **Citric acid**: Has three carboxyl groups with pKa values [3.13, 4.76, 6.40] - need to distinguish which pKa corresponds to which carboxyl group - **Amino acids**: Need to associate pKa values with specific groups (e.g., lowest pKa = COOH, highest pKa = NH3+) - **Complex molecules**: Molecules with mixed ionizable groups (carboxyl, amino, phosphate, etc.) where group identity matters ## Proposed Solutions ### 1. Ordered pKa Lists with Conventions - Store pKa values in consistent order (ascending numerical order) - Document ordering conventions (pKa1, pKa2, etc. for polyprotic acids) - Example: `pka_values: [3.13, 4.76, 6.40]` for citric acid ### 2. Group-pKa Associations Extend the data model to pair each pKa with functional group information: - List of tuples: `[(pKa1, "COOH"), (pKa2, "NH3+")]` - Or structured objects that link pKa values to functional group instances - Could reference existing `FunctionalGroup` entities in the schema ### 3. Enhanced Functional Group Modeling - Allow functional groups to have multiplicity/occurrence counts - Enable linking specific functional group instances to their pKa values - Support distinguishing between equivalent groups in different molecular environments ## Design Considerations 1. **Backwards compatibility**: Ensure existing simple pKa modeling continues to work 2. **Flexibility**: Support both simple cases (single pKa) and complex cases (multiple groups) 3. **Standards alignment**: Follow chemical informatics conventions for pKa ordering 4. **Computational utility**: Enable downstream analysis of ionization states and pH-dependent speciation ## Current Schema Elements to Consider - Existing `pka_values` slot in molecules - `FunctionalGroup` class and its usage - Inheritance hierarchy for chemical entities ## References - Chemical ordering conventions: 2012books.lardbucket.org (polyprotic acid dissociation) - Standard practice: ascending pKa order for deprotonation sequence @dragon-ai-agent please do it.
2 条评论