![]() |
Chemical Data Processing Library Python API - Version 1.4.0
|
Calculator for the MMFF94 partial atomic charges of a molecular graph. More...
Inheritance diagram for CDPL.ForceField.MMFF94ChargeCalculator:Public Member Functions | |
| None | __init__ () |
Constructs the MMFF94ChargeCalculator instance. | |
| None | __init__ (MMFF94ChargeCalculator calc) |
Initializes a copy of the MMFF94ChargeCalculator instance calc. More... | |
| None | __init__ (Chem.MolecularGraph molgraph, Util.DArray charges, bool strict) |
Constructs the MMFF94ChargeCalculator instance and immediately calculates partial charges for the atoms of molgraph. More... | |
| int | getObjectID () |
| Returns the numeric identifier (ID) of the wrapped C++ class instance. More... | |
| None | setAromaticRingSetFunction (MMFF94RingSetFunction func) |
| Specifies the function used to retrieve the aromatic ring set of a molecular graph. More... | |
| None | setNumericAtomTypeFunction (MMFF94NumericAtomTypeFunction func) |
| Specifies the function used to retrieve the numeric MMFF94 atom type of an atom. More... | |
| None | setSymbolicAtomTypeFunction (MMFF94SymbolicAtomTypeFunction func) |
| Specifies the function used to retrieve the symbolic MMFF94 atom type of an atom. More... | |
| None | setBondTypeIndexFunction (MMFF94BondTypeIndexFunction func) |
| Specifies the function used to retrieve the MMFF94 bond type index of a bond. More... | |
| None | setAtomTypePropertyTable (MMFF94AtomTypePropertyTable table) |
| Sets the atom-type property table to use. More... | |
| None | setFormalChargeDefinitionTable (MMFF94FormalAtomChargeDefinitionTable table) |
| Sets the formal-charge definition table to use. More... | |
| None | setBondChargeIncrementTable (MMFF94BondChargeIncrementTable table) |
| Sets the bond charge increment table to use. More... | |
| None | setPartialBondChargeIncrementTable (MMFF94PartialBondChargeIncrementTable table) |
| Sets the partial bond charge increment table to use. More... | |
| MMFF94ChargeCalculator | assign (MMFF94ChargeCalculator parameterizer) |
Replaces the current state of self with a copy of the state of the MMFF94ChargeCalculator instance parameterizer. More... | |
| None | calculate (Chem.MolecularGraph molgraph, Util.DArray charges, bool strict) |
| Calculates MMFF94 partial charges for the atoms of a molecular graph. More... | |
| Util.DArray | getFormalCharges () |
| Returns the formal atomic charges assigned during the last calculation. More... | |
| Util.DArray | formalCharges () |
Properties | |
| objectID = property(getObjectID) | |
Calculator for the MMFF94 partial atomic charges of a molecular graph.
Partial atomic charges are constructed from full or fractional formal atomic charges and per-bond charge-increment contributions according to the MMFF94 parameterization. Parameter tables and atom-/bond-typing functions can be customized via the corresponding setter methods; default tables and typing functions match the standard MMFF94 reference.
| None CDPL.ForceField.MMFF94ChargeCalculator.__init__ | ( | MMFF94ChargeCalculator | calc | ) |
Initializes a copy of the MMFF94ChargeCalculator instance calc.
| calc | The MMFF94ChargeCalculator instance to copy. |
| None CDPL.ForceField.MMFF94ChargeCalculator.__init__ | ( | Chem.MolecularGraph | molgraph, |
| Util.DArray | charges, | ||
| bool | strict | ||
| ) |
Constructs the MMFF94ChargeCalculator instance and immediately calculates partial charges for the atoms of molgraph.
| molgraph | The molecular graph for which to calculate partial atomic charges. |
| charges | The output array storing the calculated partial charges. |
| strict | If True, strict parameterization is performed (and may fail). |
| int CDPL.ForceField.MMFF94ChargeCalculator.getObjectID | ( | ) |
Returns the numeric identifier (ID) of the wrapped C++ class instance.
Different Python MMFF94ChargeCalculator instances may reference the same underlying C++ class instance. The commonly used Python expression a is not b thus cannot tell reliably whether the two MMFF94ChargeCalculator instances a and b reference different C++ objects. The numeric identifier returned by this method allows to correctly implement such an identity test via the simple expression a.getObjectID() != b.getObjectID().
| None CDPL.ForceField.MMFF94ChargeCalculator.setAromaticRingSetFunction | ( | MMFF94RingSetFunction | func | ) |
Specifies the function used to retrieve the aromatic ring set of a molecular graph.
| func | The aromatic ring set function. |
| None CDPL.ForceField.MMFF94ChargeCalculator.setNumericAtomTypeFunction | ( | MMFF94NumericAtomTypeFunction | func | ) |
Specifies the function used to retrieve the numeric MMFF94 atom type of an atom.
| func | The numeric atom type function. |
| None CDPL.ForceField.MMFF94ChargeCalculator.setSymbolicAtomTypeFunction | ( | MMFF94SymbolicAtomTypeFunction | func | ) |
Specifies the function used to retrieve the symbolic MMFF94 atom type of an atom.
| func | The symbolic atom type function. |
| None CDPL.ForceField.MMFF94ChargeCalculator.setBondTypeIndexFunction | ( | MMFF94BondTypeIndexFunction | func | ) |
Specifies the function used to retrieve the MMFF94 bond type index of a bond.
| func | The bond type index function. |
| None CDPL.ForceField.MMFF94ChargeCalculator.setAtomTypePropertyTable | ( | MMFF94AtomTypePropertyTable | table | ) |
Sets the atom-type property table to use.
| table | The table providing per-atom-type properties. |
| None CDPL.ForceField.MMFF94ChargeCalculator.setFormalChargeDefinitionTable | ( | MMFF94FormalAtomChargeDefinitionTable | table | ) |
Sets the formal-charge definition table to use.
| table | The table providing formal-charge definitions. |
| None CDPL.ForceField.MMFF94ChargeCalculator.setBondChargeIncrementTable | ( | MMFF94BondChargeIncrementTable | table | ) |
Sets the bond charge increment table to use.
| table | The table providing bond charge increments. |
| None CDPL.ForceField.MMFF94ChargeCalculator.setPartialBondChargeIncrementTable | ( | MMFF94PartialBondChargeIncrementTable | table | ) |
Sets the partial bond charge increment table to use.
| table | The table providing partial bond charge increments. |
| MMFF94ChargeCalculator CDPL.ForceField.MMFF94ChargeCalculator.assign | ( | MMFF94ChargeCalculator | parameterizer | ) |
Replaces the current state of self with a copy of the state of the MMFF94ChargeCalculator instance parameterizer.
| parameterizer | The MMFF94ChargeCalculator instance to copy. |
| None CDPL.ForceField.MMFF94ChargeCalculator.calculate | ( | Chem.MolecularGraph | molgraph, |
| Util.DArray | charges, | ||
| bool | strict | ||
| ) |
Calculates MMFF94 partial charges for the atoms of a molecular graph.
The partial atomic charges are constructed from initial full or fractional formal atomic charges \( q_I^0 \) (usually zero, but, e.g., +1/3 for guanidinium nitrogens) by adding contributions from bond charge increments \( w_{KI} \) which describe the polarity of the bonds to atom i from attached atoms k. Thus, \( w_{KI} \) is the contribution to the total charge on atom i of atom type I accumulated from, and at the expense of, its bonded neighbor k of atom type K. Specifically, MMFF computes \( q_i \) as
\( q_i = (1 - M_I \: u_I) \:q_I^0 + \sum (u_K \: q_K^0) + \sum w_{KI} \)
where \( w_{KI} = -w_{IK} \) and where the sums on the right hand side run over the \( M_I = crd(I) \) atoms k of MMFF atom type K directly attached to atom i ( \( crd(I) \) comes from "MMFFPROP.PAR"). In this equation, \( q_I^0 \) and \( q_K^0 \) are the formal charges assigned in the atom typing procedure (usually, by subroutine XTYPE), and the sum of the first two terms gives the "effective" fractional formal atomic charge residing on atom i. This approach allows a formal atomic charge initially affixed by the atom-typing procedure (e.g., \( q_I^0 \)) to be shared in a prescribed manner with the neighbors bonded to the atom in question. For example, for the series PO4(-3), HPO4(-2), H2PO4-, H3P04, it allows allows the partial charges on the terminal oxygens (each represented by the same numerical atom type, "32") to vary in a way which properly reflects the partial charges obtained from fits to the 6-31G* electrostatic potential. In particular, the difference between the resultant charges \( q_i \) calculated for the single terminal oxygen in H3PO4 and for the four equivalent terminal oxygens in PO4(-3) comes to -0.375, half (because \( u_{32} = -0.5 \)) the difference of -0.75 in the \( q_K^0 \) charges (i.e., 0.00 and -0.75, respectively) and reasonably in accord with the difference of -0.42 found by fitting the electrostatic potential.
| molgraph | The molecular graph for which to calculate partial atomic charges. |
| charges | The output array storing the calculated partial charges. |
| strict | If True, strict parameterization will be peformed that might fail. |
| Util.DArray CDPL.ForceField.MMFF94ChargeCalculator.getFormalCharges | ( | ) |
Returns the formal atomic charges assigned during the last calculation.
| Util.DArray CDPL.ForceField.MMFF94ChargeCalculator.formalCharges | ( | ) |
| arg1 |