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

Detects and parameterizes the MMFF94 stretch-bend interactions of a molecular graph. More...

#include <MMFF94StretchBendInteractionParameterizer.hpp>

Public Types

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

Public Member Functions

 MMFF94StretchBendInteractionParameterizer ()
 Constructs an MMFF94StretchBendInteractionParameterizer instance using the default MMFF94 parameter tables. More...
 
 MMFF94StretchBendInteractionParameterizer (const Chem::MolecularGraph &molgraph, const MMFF94BondStretchingInteractionList &bs_ia_list, const MMFF94AngleBendingInteractionList &ab_ia_list, MMFF94StretchBendInteractionList &ia_list, bool strict)
 Constructs the parameterizer and processes the molecular graph molgraph. More...
 
void setFilterFunction (const InteractionFilterFunction3 &func)
 Sets the filter function used to skip atom triplets during parameterization. More...
 
void setAtomTypeFunction (const MMFF94NumericAtomTypeFunction &func)
 Sets the function used to look up the MMFF94 numeric atom type of an atom. More...
 
void setStretchBendParameterTable (const MMFF94StretchBendParameterTable::SharedPointer &table)
 Sets the primary table providing stretch-bend type-specific stretch-bend parameters. More...
 
void setDefaultStretchBendParameterTable (const MMFF94DefaultStretchBendParameterTable::SharedPointer &table)
 Sets the fallback table providing periodic-table-row-based default stretch-bend parameters. More...
 
void setAtomTypePropertyTable (const MMFF94AtomTypePropertyTable::SharedPointer &table)
 Sets the table providing MMFF94 numeric atom type property data (used to look up the periodic table row of an atom for the default-parameter fallback). More...
 
void parameterize (const Chem::MolecularGraph &molgraph, const MMFF94BondStretchingInteractionList &bs_ia_list, const MMFF94AngleBendingInteractionList &ab_ia_list, MMFF94StretchBendInteractionList &ia_list, bool strict)
 Perceives the MMFF94 stretch-bend interactions for molgraph and outputs the corresponding parameter data into ia_list. More...
 

Detailed Description

Detects and parameterizes the MMFF94 stretch-bend interactions of a molecular graph.

Stretch-bend interactions couple the bending of an i-j-k bond angle to the stretching of the two participating bonds i-j and j-k. For every non-filtered atom triplet the parameterizer derives the stretch-bend type index from the bond type indices and angle type index of the already-parameterized bond-stretching and angle-bending interactions, looks up the matching stretch-bend force constants (falling back to the periodic-table-row-based default parameter table when no exact entry is available) and appends an MMFF94StretchBendInteraction instance to the output list.

See also
[MMFF94]

Member Typedef Documentation

◆ SharedPointer

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

Constructor & Destructor Documentation

◆ MMFF94StretchBendInteractionParameterizer() [1/2]

CDPL::ForceField::MMFF94StretchBendInteractionParameterizer::MMFF94StretchBendInteractionParameterizer ( )

Constructs an MMFF94StretchBendInteractionParameterizer instance using the default MMFF94 parameter tables.

◆ MMFF94StretchBendInteractionParameterizer() [2/2]

CDPL::ForceField::MMFF94StretchBendInteractionParameterizer::MMFF94StretchBendInteractionParameterizer ( const Chem::MolecularGraph molgraph,
const MMFF94BondStretchingInteractionList bs_ia_list,
const MMFF94AngleBendingInteractionList ab_ia_list,
MMFF94StretchBendInteractionList ia_list,
bool  strict 
)

Constructs the parameterizer and processes the molecular graph molgraph.

Parameters
molgraphThe molecular graph for which to parameterize the stretch-bend interactions.
bs_ia_listThe list of already-parameterized MMFF94 bond-stretching interactions (provides per-bond type indices and reference lengths).
ab_ia_listThe list of already-parameterized MMFF94 angle-bending interactions (provides per-angle type indices and reference angles).
ia_listOutput list receiving the generated MMFF94StretchBendInteraction instances.
strictIf true, missing/ambiguous parameters cause a parameterization failure. Otherwise, in case of parameterization problems, suitable fallback parameters will be used.

Member Function Documentation

◆ setFilterFunction()

void CDPL::ForceField::MMFF94StretchBendInteractionParameterizer::setFilterFunction ( const InteractionFilterFunction3 func)

Sets the filter function used to skip atom triplets during parameterization.

Parameters
funcThe new three-atom filter function (when it returns false, the triplet is skipped).

◆ setAtomTypeFunction()

void CDPL::ForceField::MMFF94StretchBendInteractionParameterizer::setAtomTypeFunction ( const MMFF94NumericAtomTypeFunction func)

Sets the function used to look up the MMFF94 numeric atom type of an atom.

Parameters
funcThe new numeric atom type lookup function.

◆ setStretchBendParameterTable()

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

Sets the primary table providing stretch-bend type-specific stretch-bend parameters.

Parameters
tableThe new stretch-bend parameter table.

◆ setDefaultStretchBendParameterTable()

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

Sets the fallback table providing periodic-table-row-based default stretch-bend parameters.

Parameters
tableThe new default stretch-bend parameter table.

◆ setAtomTypePropertyTable()

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

Sets the table providing MMFF94 numeric atom type property data (used to look up the periodic table row of an atom for the default-parameter fallback).

Parameters
tableThe new atom type property table.

◆ parameterize()

void CDPL::ForceField::MMFF94StretchBendInteractionParameterizer::parameterize ( const Chem::MolecularGraph molgraph,
const MMFF94BondStretchingInteractionList bs_ia_list,
const MMFF94AngleBendingInteractionList ab_ia_list,
MMFF94StretchBendInteractionList ia_list,
bool  strict 
)

Perceives the MMFF94 stretch-bend interactions for molgraph and outputs the corresponding parameter data into ia_list.

Parameters
molgraphThe molecular graph for which to parameterize the stretch-bend interactions.
bs_ia_listThe list of already-parameterized MMFF94 bond-stretching interactions (provides per-bond type indices and reference lengths).
ab_ia_listThe list of already-parameterized MMFF94 angle-bending interactions (provides per-angle type indices and reference angles).
ia_listOutput list receiving the generated MMFF94StretchBendInteraction instances.
strictIf true, missing/ambiguous parameters cause a parameterization failure. Otherwise, in case of parameterization problems, suitable fallback parameters will be used.

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