Chemical Data Processing Library Python API - Version 1.4.0
Public Member Functions | Properties | List of all members
CDPL.ForceField.MMFF94InteractionParameterizer Class Reference

Highly configurable implementation of the complete workflow for molecular graph MMFF94 interaction perception and parameterization. More...

+ Inheritance diagram for CDPL.ForceField.MMFF94InteractionParameterizer:

Public Member Functions

None __init__ (int param_set=1)
 Constructs the parameterizer with the default tables for the chosen MMFF94 parameter set. More...
 
None __init__ (MMFF94InteractionParameterizer parameterizer)
 Constructs a copy of the parameterizer parameterizer. More...
 
int getObjectID ()
 Returns the numeric identifier (ID) of the wrapped C++ class instance. More...
 
None setBondStretchingFilterFunction (Chem.BoolAtom2Functor func)
 Installs a filter that decides whether a candidate bond-stretching interaction is kept. More...
 
None setAngleBendingFilterFunction (InteractionFilterFunction3 func)
 Installs a filter that decides whether a candidate angle-bending interaction is kept. More...
 
None setStretchBendFilterFunction (InteractionFilterFunction3 func)
 Installs a filter that decides whether a candidate stretch-bend interaction is kept. More...
 
None setOutOfPlaneBendingFilterFunction (InteractionFilterFunction4 func)
 Installs a filter that decides whether a candidate out-of-plane bending interaction is kept. More...
 
None setTorsionFilterFunction (InteractionFilterFunction4 func)
 Installs a filter that decides whether a candidate torsion interaction is kept. More...
 
None setElectrostaticFilterFunction (Chem.BoolAtom2Functor func)
 Installs a filter that decides whether a candidate electrostatic interaction is kept. More...
 
None setVanDerWaalsFilterFunction (Chem.BoolAtom2Functor func)
 Installs a filter that decides whether a candidate Van der Waals interaction is kept. More...
 
None clearFilterFunctions ()
 Removes all previously installed interaction filter functions.
 
None setSymbolicAtomTypePatternTable (MMFF94SymbolicAtomTypePatternTable table)
 Sets the symbolic atom type pattern table to use during atom typing. More...
 
None setHeavyToHydrogenAtomTypeMap (MMFF94HeavyToHydrogenAtomTypeMap map)
 Sets the heavy-to-hydrogen atom type map used to derive hydrogen atom types from their non-hydrogen neighbors. More...
 
None setSymbolicToNumericAtomTypeMap (MMFF94SymbolicToNumericAtomTypeMap map)
 Sets the symbolic-to-numeric atom type map used to convert symbolic types to numeric ones. More...
 
None setAromaticAtomTypeDefinitionTable (MMFF94AromaticAtomTypeDefinitionTable table)
 Sets the aromatic atom type definition table used to override types of aromatic atoms. More...
 
None setAtomTypePropertyTable (MMFF94AtomTypePropertyTable table)
 Sets the atom type property table used to retrieve per-numeric type properties. More...
 
None setFormalAtomChargeDefinitionTable (MMFF94FormalAtomChargeDefinitionTable table)
 Sets the formal atom charge definition table used during charge assignment. More...
 
None setBondChargeIncrementTable (MMFF94BondChargeIncrementTable table)
 Sets the bond charge-increment table used during partial-charge calculation. More...
 
None setPartialBondChargeIncrementTable (MMFF94PartialBondChargeIncrementTable table)
 Sets the partial bond charge-increment table used during partial charge calculation. More...
 
None setPrimaryToParameterAtomTypeMap (MMFF94PrimaryToParameterAtomTypeMap map)
 Sets the primary-to-parameter atom type map used by the parameter look-ups. More...
 
None setAngleBendingParameterTable (MMFF94AngleBendingParameterTable table)
 Sets the angle-bending parameter table to use. More...
 
None setBondStretchingParameterTable (MMFF94BondStretchingParameterTable table)
 Sets the bond-stretching parameter table to use. More...
 
None setBondStretchingRuleParameterTable (MMFF94BondStretchingRuleParameterTable table)
 Sets the bond-stretching rule parameter table used as a fallback when no explicit bond-stretching parameter entry is available. More...
 
None setStretchBendParameterTable (MMFF94StretchBendParameterTable table)
 Sets the stretch-bend parameter table to use. More...
 
None setDefaultStretchBendParameterTable (MMFF94DefaultStretchBendParameterTable table)
 Sets the default stretch-bend parameter table used as a periodic-row fallback. More...
 
None setOutOfPlaneBendingParameterTable (MMFF94OutOfPlaneBendingParameterTable table)
 Sets the out-of-plane bending parameter table to use. More...
 
None setTorsionParameterTable (MMFF94TorsionParameterTable table)
 Sets the torsion parameter table to use. More...
 
None setVanDerWaalsParameterTable (MMFF94VanDerWaalsParameterTable table)
 Sets the Van der Waals parameter table to use. More...
 
None setDielectricConstant (float de_const)
 Sets the dielectric constant used by the electrostatic interaction parameterizer. More...
 
None setDistanceExponent (float dist_expo)
 Sets the distance exponent used by the electrostatic interaction parameterizer. More...
 
None setParameterSet (int param_set)
 Switches the active MMFF94 parameter set variant to a different one. More...
 
MMFF94InteractionParameterizer assign (MMFF94InteractionParameterizer parameterizer)
 Copies the state of parameterizer. More...
 
None parameterize (Chem.MolecularGraph molgraph, MMFF94InteractionData ia_data, int ia_types=127, bool strict=True)
 Parameterizes the MMFF94 force field interactions for molgraph and stores them in ia_data. More...
 

Properties

 objectID = property(getObjectID)
 

Detailed Description

Highly configurable implementation of the complete workflow for molecular graph MMFF94 interaction perception and parameterization.

The constructor installs default parameter tables and atom-/bond-typing helpers for the selected force field variant (see namespace ForceField.MMFF94ParameterSet). Every table, map and filter function can be overridden via the corresponding setter methods. Calling parameterize() runs atom typing, bond typing, formal/partial charge assignment, aromaticity perception and topological distance calculation, then dispatches to the seven per-interaction MMFF94*InteractionParameterizer members and stores the resulting interaction parameter records in the supplied ForceField.MMFF94InteractionData object.

Constructor & Destructor Documentation

◆ __init__() [1/2]

None CDPL.ForceField.MMFF94InteractionParameterizer.__init__ ( int   param_set = 1)

Constructs the parameterizer with the default tables for the chosen MMFF94 parameter set.

Parameters
param_setThe parameter set variant (see namespace ForceField.MMFF94ParameterSet).

◆ __init__() [2/2]

None CDPL.ForceField.MMFF94InteractionParameterizer.__init__ ( MMFF94InteractionParameterizer  parameterizer)

Constructs a copy of the parameterizer parameterizer.

Parameters
parameterizerThe parameterizer to copy.

Member Function Documentation

◆ getObjectID()

int CDPL.ForceField.MMFF94InteractionParameterizer.getObjectID ( )

Returns the numeric identifier (ID) of the wrapped C++ class instance.

Different Python MMFF94InteractionParameterizer 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 MMFF94InteractionParameterizer 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().

Returns
The numeric ID of the internally referenced C++ class instance.

◆ setBondStretchingFilterFunction()

None CDPL.ForceField.MMFF94InteractionParameterizer.setBondStretchingFilterFunction ( Chem.BoolAtom2Functor  func)

Installs a filter that decides whether a candidate bond-stretching interaction is kept.

Parameters
funcThe filter functor (returns True to keep the interaction).

◆ setAngleBendingFilterFunction()

None CDPL.ForceField.MMFF94InteractionParameterizer.setAngleBendingFilterFunction ( InteractionFilterFunction3  func)

Installs a filter that decides whether a candidate angle-bending interaction is kept.

Parameters
funcThe filter functor (returns True to keep the interaction).

◆ setStretchBendFilterFunction()

None CDPL.ForceField.MMFF94InteractionParameterizer.setStretchBendFilterFunction ( InteractionFilterFunction3  func)

Installs a filter that decides whether a candidate stretch-bend interaction is kept.

Parameters
funcThe filter functor (returns True to keep the interaction).

◆ setOutOfPlaneBendingFilterFunction()

None CDPL.ForceField.MMFF94InteractionParameterizer.setOutOfPlaneBendingFilterFunction ( InteractionFilterFunction4  func)

Installs a filter that decides whether a candidate out-of-plane bending interaction is kept.

Parameters
funcThe filter functor (returns True to keep the interaction).

◆ setTorsionFilterFunction()

None CDPL.ForceField.MMFF94InteractionParameterizer.setTorsionFilterFunction ( InteractionFilterFunction4  func)

Installs a filter that decides whether a candidate torsion interaction is kept.

Parameters
funcThe filter functor (returns True to keep the interaction).

◆ setElectrostaticFilterFunction()

None CDPL.ForceField.MMFF94InteractionParameterizer.setElectrostaticFilterFunction ( Chem.BoolAtom2Functor  func)

Installs a filter that decides whether a candidate electrostatic interaction is kept.

Parameters
funcThe filter functor (returns True to keep the interaction).

◆ setVanDerWaalsFilterFunction()

None CDPL.ForceField.MMFF94InteractionParameterizer.setVanDerWaalsFilterFunction ( Chem.BoolAtom2Functor  func)

Installs a filter that decides whether a candidate Van der Waals interaction is kept.

Parameters
funcThe filter functor (returns True to keep the interaction).

◆ setSymbolicAtomTypePatternTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setSymbolicAtomTypePatternTable ( MMFF94SymbolicAtomTypePatternTable  table)

Sets the symbolic atom type pattern table to use during atom typing.

Parameters
tableThe new symbolic atom type pattern table.

◆ setHeavyToHydrogenAtomTypeMap()

None CDPL.ForceField.MMFF94InteractionParameterizer.setHeavyToHydrogenAtomTypeMap ( MMFF94HeavyToHydrogenAtomTypeMap  map)

Sets the heavy-to-hydrogen atom type map used to derive hydrogen atom types from their non-hydrogen neighbors.

Parameters
mapThe new heavy-to-hydrogen atom type map.

◆ setSymbolicToNumericAtomTypeMap()

None CDPL.ForceField.MMFF94InteractionParameterizer.setSymbolicToNumericAtomTypeMap ( MMFF94SymbolicToNumericAtomTypeMap  map)

Sets the symbolic-to-numeric atom type map used to convert symbolic types to numeric ones.

Parameters
mapThe new symbolic-to-numeric atom type map.

◆ setAromaticAtomTypeDefinitionTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setAromaticAtomTypeDefinitionTable ( MMFF94AromaticAtomTypeDefinitionTable  table)

Sets the aromatic atom type definition table used to override types of aromatic atoms.

Parameters
tableThe new aromatic atom type definition table.

◆ setAtomTypePropertyTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setAtomTypePropertyTable ( MMFF94AtomTypePropertyTable  table)

Sets the atom type property table used to retrieve per-numeric type properties.

Parameters
tableThe new atom type property table.

◆ setFormalAtomChargeDefinitionTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setFormalAtomChargeDefinitionTable ( MMFF94FormalAtomChargeDefinitionTable  table)

Sets the formal atom charge definition table used during charge assignment.

Parameters
tableThe new formal atom charge definition table.

◆ setBondChargeIncrementTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setBondChargeIncrementTable ( MMFF94BondChargeIncrementTable  table)

Sets the bond charge-increment table used during partial-charge calculation.

Parameters
tableThe new bond charge-increment table.

◆ setPartialBondChargeIncrementTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setPartialBondChargeIncrementTable ( MMFF94PartialBondChargeIncrementTable  table)

Sets the partial bond charge-increment table used during partial charge calculation.

Parameters
tableThe new partial bond charge-increment table.

◆ setPrimaryToParameterAtomTypeMap()

None CDPL.ForceField.MMFF94InteractionParameterizer.setPrimaryToParameterAtomTypeMap ( MMFF94PrimaryToParameterAtomTypeMap  map)

Sets the primary-to-parameter atom type map used by the parameter look-ups.

Parameters
mapThe new primary-to-parameter atom type map.

◆ setAngleBendingParameterTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setAngleBendingParameterTable ( MMFF94AngleBendingParameterTable  table)

Sets the angle-bending parameter table to use.

Parameters
tableThe new angle-bending parameter table.

◆ setBondStretchingParameterTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setBondStretchingParameterTable ( MMFF94BondStretchingParameterTable  table)

Sets the bond-stretching parameter table to use.

Parameters
tableThe new bond-stretching parameter table.

◆ setBondStretchingRuleParameterTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setBondStretchingRuleParameterTable ( MMFF94BondStretchingRuleParameterTable  table)

Sets the bond-stretching rule parameter table used as a fallback when no explicit bond-stretching parameter entry is available.

Parameters
tableThe new bond-stretching rule parameter table.

◆ setStretchBendParameterTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setStretchBendParameterTable ( MMFF94StretchBendParameterTable  table)

Sets the stretch-bend parameter table to use.

Parameters
tableThe new stretch-bend parameter table.

◆ setDefaultStretchBendParameterTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setDefaultStretchBendParameterTable ( MMFF94DefaultStretchBendParameterTable  table)

Sets the default stretch-bend parameter table used as a periodic-row fallback.

Parameters
tableThe new default stretch-bend parameter table.

◆ setOutOfPlaneBendingParameterTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setOutOfPlaneBendingParameterTable ( MMFF94OutOfPlaneBendingParameterTable  table)

Sets the out-of-plane bending parameter table to use.

Parameters
tableThe new out-of-plane bending parameter table.

◆ setTorsionParameterTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setTorsionParameterTable ( MMFF94TorsionParameterTable  table)

Sets the torsion parameter table to use.

Parameters
tableThe new torsion parameter table.

◆ setVanDerWaalsParameterTable()

None CDPL.ForceField.MMFF94InteractionParameterizer.setVanDerWaalsParameterTable ( MMFF94VanDerWaalsParameterTable  table)

Sets the Van der Waals parameter table to use.

Parameters
tableThe new Van der Waals parameter table.

◆ setDielectricConstant()

None CDPL.ForceField.MMFF94InteractionParameterizer.setDielectricConstant ( float  de_const)

Sets the dielectric constant used by the electrostatic interaction parameterizer.

Parameters
de_constThe new dielectric constant.

◆ setDistanceExponent()

None CDPL.ForceField.MMFF94InteractionParameterizer.setDistanceExponent ( float  dist_expo)

Sets the distance exponent used by the electrostatic interaction parameterizer.

Parameters
dist_expoThe new distance exponent.

◆ setParameterSet()

None CDPL.ForceField.MMFF94InteractionParameterizer.setParameterSet ( int  param_set)

Switches the active MMFF94 parameter set variant to a different one.

Parameters
param_setThe new parameter set variant (see namespace ForceField.MMFF94ParameterSet).

◆ assign()

MMFF94InteractionParameterizer CDPL.ForceField.MMFF94InteractionParameterizer.assign ( MMFF94InteractionParameterizer  parameterizer)

Copies the state of parameterizer.

Parameters
parameterizerThe parameterizer to copy.
Returns
self

◆ parameterize()

None CDPL.ForceField.MMFF94InteractionParameterizer.parameterize ( Chem.MolecularGraph  molgraph,
MMFF94InteractionData  ia_data,
int   ia_types = 127,
bool   strict = True 
)

Parameterizes the MMFF94 force field interactions for molgraph and stores them in ia_data.

Parameters
molgraphThe molecular graph to parameterize.
ia_dataThe output container receiving the perceived interactions and their parameters.
ia_typesA bitmask of flags specifying which interaction types to parameterize (see namespace ForceField.InteractionType).
strictIf True, the parameterization fails when any required parameter is missing. Otherwise, fallback strategies (rule-based parameters, default values) are used.