Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Public Member Functions | List of all members
CDPL::ForceField::MMFF94InteractionParameterizer Class Reference

One-stop MMFF94 parameterizer that combines atom typing, bond typing, partial-charge assignment and per-interaction-type parameter look-up into a single parameterize() call. More...

#include <MMFF94InteractionParameterizer.hpp>

Public Types

typedef std::shared_ptr< MMFF94InteractionParameterizerSharedPointer
 A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94InteractionParameterizer instances. More...
 

Public Member Functions

 MMFF94InteractionParameterizer (unsigned int param_set=MMFF94ParameterSet::STATIC)
 Constructs the parameterizer with the default tables for the chosen MMFF94 parameter set. More...
 
 MMFF94InteractionParameterizer (const MMFF94InteractionParameterizer &parameterizer)
 Constructs a copy of the parameterizer parameterizer. More...
 
void setBondStretchingFilterFunction (const InteractionFilterFunction2 &func)
 Installs a filter that decides whether a candidate bond-stretching interaction is kept. More...
 
void setAngleBendingFilterFunction (const InteractionFilterFunction3 &func)
 Installs a filter that decides whether a candidate angle-bending interaction is kept. More...
 
void setStretchBendFilterFunction (const InteractionFilterFunction3 &func)
 Installs a filter that decides whether a candidate stretch-bend interaction is kept. More...
 
void setOutOfPlaneBendingFilterFunction (const InteractionFilterFunction4 &func)
 Installs a filter that decides whether a candidate out-of-plane bending interaction is kept. More...
 
void setTorsionFilterFunction (const InteractionFilterFunction4 &func)
 Installs a filter that decides whether a candidate torsion interaction is kept. More...
 
void setElectrostaticFilterFunction (const InteractionFilterFunction2 &func)
 Installs a filter that decides whether a candidate electrostatic interaction is kept. More...
 
void setVanDerWaalsFilterFunction (const InteractionFilterFunction2 &func)
 Installs a filter that decides whether a candidate van-der-Waals interaction is kept. More...
 
void clearFilterFunctions ()
 Removes every previously installed interaction-filter function. More...
 
void setSymbolicAtomTypePatternTable (const MMFF94SymbolicAtomTypePatternTable::SharedPointer &table)
 Sets the symbolic-atom-type pattern table to use during atom typing. More...
 
void setHeavyToHydrogenAtomTypeMap (const MMFF94HeavyToHydrogenAtomTypeMap::SharedPointer &map)
 Sets the heavy-to-hydrogen atom-type map used to derive hydrogen atom types from their non-hydrogen neighbors. More...
 
void setSymbolicToNumericAtomTypeMap (const MMFF94SymbolicToNumericAtomTypeMap::SharedPointer &map)
 Sets the symbolic-to-numeric atom-type map used to convert symbolic types to numeric ones. More...
 
void setAromaticAtomTypeDefinitionTable (const MMFF94AromaticAtomTypeDefinitionTable::SharedPointer &table)
 Sets the aromatic-atom-type definition table used to override types of aromatic atoms. More...
 
void setAtomTypePropertyTable (const MMFF94AtomTypePropertyTable::SharedPointer &table)
 Sets the atom-type property table used to resolve per-numeric-type properties. More...
 
void setFormalAtomChargeDefinitionTable (const MMFF94FormalAtomChargeDefinitionTable::SharedPointer &table)
 Sets the formal-atomic-charge definition table used during charge assignment. More...
 
void setBondChargeIncrementTable (const MMFF94BondChargeIncrementTable::SharedPointer &table)
 Sets the bond charge-increment table used during partial-charge calculation. More...
 
void setPartialBondChargeIncrementTable (const MMFF94PartialBondChargeIncrementTable::SharedPointer &table)
 Sets the partial bond charge-increment table used during partial-charge calculation. More...
 
void setPrimaryToParameterAtomTypeMap (const MMFF94PrimaryToParameterAtomTypeMap::SharedPointer &map)
 Sets the primary-to-parameter atom-type map used by the parameter look-ups. More...
 
void setAngleBendingParameterTable (const MMFF94AngleBendingParameterTable::SharedPointer &table)
 Sets the angle-bending parameter table to use. More...
 
void setBondStretchingParameterTable (const MMFF94BondStretchingParameterTable::SharedPointer &table)
 Sets the bond-stretching parameter table to use. More...
 
void setBondStretchingRuleParameterTable (const MMFF94BondStretchingRuleParameterTable::SharedPointer &table)
 Sets the bond-stretching rule parameter table used as a fallback when no explicit bond-stretching entry is available. More...
 
void setStretchBendParameterTable (const MMFF94StretchBendParameterTable::SharedPointer &table)
 Sets the stretch-bend parameter table to use. More...
 
void setDefaultStretchBendParameterTable (const MMFF94DefaultStretchBendParameterTable::SharedPointer &table)
 Sets the default stretch-bend parameter table used as a periodic-row fallback. More...
 
void setOutOfPlaneBendingParameterTable (const MMFF94OutOfPlaneBendingParameterTable::SharedPointer &table)
 Sets the out-of-plane bending parameter table to use. More...
 
void setTorsionParameterTable (const MMFF94TorsionParameterTable::SharedPointer &table)
 Sets the torsion parameter table to use. More...
 
void setVanDerWaalsParameterTable (const MMFF94VanDerWaalsParameterTable::SharedPointer &table)
 Sets the van-der-Waals parameter table to use. More...
 
void setDielectricConstant (double de_const)
 Sets the dielectric constant used by the electrostatic interaction parameterizer. More...
 
void setDistanceExponent (double dist_expo)
 Sets the distance exponent used by the electrostatic interaction parameterizer. More...
 
void setParameterSet (unsigned int param_set)
 Switches the active MMFF94 parameter-set variant and reinstalls the matching default tables. More...
 
MMFF94InteractionParameterizeroperator= (const MMFF94InteractionParameterizer &parameterizer)
 Copies the state of parameterizer. More...
 
void parameterize (const Chem::MolecularGraph &molgraph, MMFF94InteractionData &ia_data, unsigned int ia_types=InteractionType::ALL, bool strict=true)
 Parameterizes the MMFF94 force field interactions for molgraph and stores them in ia_data. More...
 

Detailed Description

One-stop MMFF94 parameterizer that combines atom typing, bond typing, partial-charge assignment and per-interaction-type parameter look-up into a single parameterize() call.

The constructor installs default parameter tables and atom-/bond-typing helpers for the selected ForceField::MMFF94ParameterSet variant (STATIC, DYNAMIC, etc.); every table, map and filter function can be overridden via the corresponding setter. 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 lists in the supplied ForceField::MMFF94InteractionData object.

Member Typedef Documentation

◆ SharedPointer

A reference-counted smart pointer [SHPTR] for dynamically allocated MMFF94InteractionParameterizer instances.

Constructor & Destructor Documentation

◆ MMFF94InteractionParameterizer() [1/2]

CDPL::ForceField::MMFF94InteractionParameterizer::MMFF94InteractionParameterizer ( unsigned int  param_set = MMFF94ParameterSet::STATIC)

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

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

◆ MMFF94InteractionParameterizer() [2/2]

CDPL::ForceField::MMFF94InteractionParameterizer::MMFF94InteractionParameterizer ( const MMFF94InteractionParameterizer parameterizer)

Constructs a copy of the parameterizer parameterizer.

Parameters
parameterizerThe parameterizer to copy.

Member Function Documentation

◆ setBondStretchingFilterFunction()

void CDPL::ForceField::MMFF94InteractionParameterizer::setBondStretchingFilterFunction ( const InteractionFilterFunction2 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()

void CDPL::ForceField::MMFF94InteractionParameterizer::setAngleBendingFilterFunction ( const 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()

void CDPL::ForceField::MMFF94InteractionParameterizer::setStretchBendFilterFunction ( const 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()

void CDPL::ForceField::MMFF94InteractionParameterizer::setOutOfPlaneBendingFilterFunction ( const 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()

void CDPL::ForceField::MMFF94InteractionParameterizer::setTorsionFilterFunction ( const 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()

void CDPL::ForceField::MMFF94InteractionParameterizer::setElectrostaticFilterFunction ( const InteractionFilterFunction2 func)

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

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

◆ setVanDerWaalsFilterFunction()

void CDPL::ForceField::MMFF94InteractionParameterizer::setVanDerWaalsFilterFunction ( const InteractionFilterFunction2 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).

◆ clearFilterFunctions()

void CDPL::ForceField::MMFF94InteractionParameterizer::clearFilterFunctions ( )

Removes every previously installed interaction-filter function.

◆ setSymbolicAtomTypePatternTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setSymbolicAtomTypePatternTable ( const MMFF94SymbolicAtomTypePatternTable::SharedPointer table)

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

Parameters
tableThe new symbolic-atom-type pattern table.

◆ setHeavyToHydrogenAtomTypeMap()

void CDPL::ForceField::MMFF94InteractionParameterizer::setHeavyToHydrogenAtomTypeMap ( const MMFF94HeavyToHydrogenAtomTypeMap::SharedPointer 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()

void CDPL::ForceField::MMFF94InteractionParameterizer::setSymbolicToNumericAtomTypeMap ( const MMFF94SymbolicToNumericAtomTypeMap::SharedPointer 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()

void CDPL::ForceField::MMFF94InteractionParameterizer::setAromaticAtomTypeDefinitionTable ( const MMFF94AromaticAtomTypeDefinitionTable::SharedPointer table)

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

Parameters
tableThe new aromatic-atom-type definition table.

◆ setAtomTypePropertyTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setAtomTypePropertyTable ( const MMFF94AtomTypePropertyTable::SharedPointer table)

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

Parameters
tableThe new atom-type property table.

◆ setFormalAtomChargeDefinitionTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setFormalAtomChargeDefinitionTable ( const MMFF94FormalAtomChargeDefinitionTable::SharedPointer table)

Sets the formal-atomic-charge definition table used during charge assignment.

Parameters
tableThe new formal-atomic-charge definition table.

◆ setBondChargeIncrementTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setBondChargeIncrementTable ( const MMFF94BondChargeIncrementTable::SharedPointer table)

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

Parameters
tableThe new bond-charge-increment table.

◆ setPartialBondChargeIncrementTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setPartialBondChargeIncrementTable ( const MMFF94PartialBondChargeIncrementTable::SharedPointer table)

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

Parameters
tableThe new partial-bond-charge-increment table.

◆ setPrimaryToParameterAtomTypeMap()

void CDPL::ForceField::MMFF94InteractionParameterizer::setPrimaryToParameterAtomTypeMap ( const MMFF94PrimaryToParameterAtomTypeMap::SharedPointer 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()

void CDPL::ForceField::MMFF94InteractionParameterizer::setAngleBendingParameterTable ( const MMFF94AngleBendingParameterTable::SharedPointer table)

Sets the angle-bending parameter table to use.

Parameters
tableThe new angle-bending parameter table.

◆ setBondStretchingParameterTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setBondStretchingParameterTable ( const MMFF94BondStretchingParameterTable::SharedPointer table)

Sets the bond-stretching parameter table to use.

Parameters
tableThe new bond-stretching parameter table.

◆ setBondStretchingRuleParameterTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setBondStretchingRuleParameterTable ( const MMFF94BondStretchingRuleParameterTable::SharedPointer table)

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

Parameters
tableThe new bond-stretching rule parameter table.

◆ setStretchBendParameterTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setStretchBendParameterTable ( const MMFF94StretchBendParameterTable::SharedPointer table)

Sets the stretch-bend parameter table to use.

Parameters
tableThe new stretch-bend parameter table.

◆ setDefaultStretchBendParameterTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setDefaultStretchBendParameterTable ( const MMFF94DefaultStretchBendParameterTable::SharedPointer table)

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

Parameters
tableThe new default stretch-bend parameter table.

◆ setOutOfPlaneBendingParameterTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setOutOfPlaneBendingParameterTable ( const MMFF94OutOfPlaneBendingParameterTable::SharedPointer table)

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

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

◆ setTorsionParameterTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setTorsionParameterTable ( const MMFF94TorsionParameterTable::SharedPointer table)

Sets the torsion parameter table to use.

Parameters
tableThe new torsion parameter table.

◆ setVanDerWaalsParameterTable()

void CDPL::ForceField::MMFF94InteractionParameterizer::setVanDerWaalsParameterTable ( const MMFF94VanDerWaalsParameterTable::SharedPointer table)

Sets the van-der-Waals parameter table to use.

Parameters
tableThe new van-der-Waals parameter table.

◆ setDielectricConstant()

void CDPL::ForceField::MMFF94InteractionParameterizer::setDielectricConstant ( double  de_const)

Sets the dielectric constant used by the electrostatic interaction parameterizer.

Parameters
de_constThe new dielectric constant.

◆ setDistanceExponent()

void CDPL::ForceField::MMFF94InteractionParameterizer::setDistanceExponent ( double  dist_expo)

Sets the distance exponent used by the electrostatic interaction parameterizer.

Parameters
dist_expoThe new distance exponent.

◆ setParameterSet()

void CDPL::ForceField::MMFF94InteractionParameterizer::setParameterSet ( unsigned int  param_set)

Switches the active MMFF94 parameter-set variant and reinstalls the matching default tables.

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

◆ operator=()

MMFF94InteractionParameterizer& CDPL::ForceField::MMFF94InteractionParameterizer::operator= ( const MMFF94InteractionParameterizer parameterizer)

Copies the state of parameterizer.

Parameters
parameterizerThe parameterizer to copy.
Returns
A reference to itself.

◆ parameterize()

void CDPL::ForceField::MMFF94InteractionParameterizer::parameterize ( const Chem::MolecularGraph molgraph,
MMFF94InteractionData ia_data,
unsigned int  ia_types = InteractionType::ALL,
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.
ia_typesA bitmask of ForceField::InteractionType flags selecting which interaction types are parameterized.
strictIf true, the parameterization fails when any required parameter is missing; otherwise fallback strategies (rule-based parameters, default values) are used.

The documentation for this class was generated from the following file: