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

Constructs geometric constraints (distance, planarity, volume) for distance-geometry-based 3D structure generation. More...

#include <DGConstraintGenerator.hpp>

Public Types

typedef std::pair< std::size_t, Chem::StereoDescriptorStereoCenterData
 Pair holding an atom or bond index plus the associated stereo descriptor. More...
 
typedef StereoCenterDataArray::const_iterator ConstStereoCenterDataIterator
 A constant iterator over StereoCenterData entries. More...
 

Public Member Functions

 DGConstraintGenerator ()
 Constructs the DGConstraintGenerator instance. More...
 
DGConstraintGeneratorSettingsgetSettings ()
 Returns a reference to the constraint-generation settings. More...
 
const DGConstraintGeneratorSettingsgetSettings () const
 Returns a const reference to the constraint-generation settings. More...
 
void addAtomStereoCenter (const Chem::Atom &atom, const Chem::StereoDescriptor &descr)
 Registers an atom stereo center to be constrained. More...
 
void addBondStereoCenter (const Chem::Bond &bond, const Chem::StereoDescriptor &descr)
 Registers a bond stereo center to be constrained. More...
 
void setup (const Chem::MolecularGraph &molgraph)
 Initializes the generator for the molecular graph molgraph using default geometry data. More...
 
void setup (const Chem::MolecularGraph &molgraph, const ForceField::MMFF94InteractionData &ia_data)
 Initializes the generator for the molecular graph molgraph using bond lengths and angles obtained from ia_data. More...
 
const Util::BitSetgetExcludedHydrogenMask () const
 Returns the bit mask of hydrogen atoms that have been excluded from constraint generation. More...
 
std::size_t getNumAtomStereoCenters () const
 Returns the number of registered atom stereo centers. More...
 
std::size_t getNumBondStereoCenters () const
 Returns the number of registered bond stereo centers. More...
 
const StereoCenterDatagetAtomStereoCenterData (std::size_t idx) const
 Returns the stereo-center data for the atom stereo center at index idx. More...
 
const StereoCenterDatagetBondStereoCenterData (std::size_t idx) const
 Returns the stereo-center data for the bond stereo center at index idx. More...
 
ConstStereoCenterDataIterator getAtomStereoCenterDataBegin () const
 Returns a constant iterator pointing to the first atom stereo center. More...
 
ConstStereoCenterDataIterator getAtomStereoCenterDataEnd () const
 Returns a constant iterator pointing one past the last atom stereo center. More...
 
ConstStereoCenterDataIterator getBondStereoCenterDataBegin () const
 Returns a constant iterator pointing to the first bond stereo center. More...
 
ConstStereoCenterDataIterator getBondStereoCenterDataEnd () const
 Returns a constant iterator pointing one past the last bond stereo center. More...
 
void addFixedSubstructureConstraints (const Chem::AtomContainer &atoms, const Math::Vector3DArray &coords, Util::DG3DCoordinatesGenerator &coords_gen)
 Adds distance and volume constraints that fix the supplied substructure to the given coordinates. More...
 
void addBondLengthConstraints (Util::DG3DCoordinatesGenerator &coords_gen)
 Adds bond-length distance constraints to coords_gen. More...
 
void addBondAngleConstraints (Util::DG3DCoordinatesGenerator &coords_gen)
 Adds bond-angle (1,3) distance constraints to coords_gen. More...
 
void add14DistanceConstraints (Util::DG3DCoordinatesGenerator &coords_gen)
 Adds 1,4-distance constraints (cis/trans bounds) to coords_gen. More...
 
void addDefaultDistanceConstraints (Util::DG3DCoordinatesGenerator &coords_gen)
 Adds default (Van der Waals-derived) lower/upper distance constraints between all non-bonded atom pairs to coords_gen. More...
 
void addAtomConfigurationConstraints (Util::DG3DCoordinatesGenerator &coords_gen)
 Adds volume constraints enforcing the registered atom stereo-center configurations to coords_gen. More...
 
void addBondConfigurationConstraints (Util::DG3DCoordinatesGenerator &coords_gen)
 Adds distance and volume constraints enforcing the registered bond stereo-center configurations to coords_gen. More...
 
void addAtomPlanarityConstraints (Util::DG3DCoordinatesGenerator &coords_gen)
 Adds planarity (zero-volume) constraints for sp2-hybridized / aromatic atoms to coords_gen. More...
 
void addBondPlanarityConstraints (Util::DG3DCoordinatesGenerator &coords_gen)
 Adds planarity (zero-volume) constraints for double and aromatic bonds to coords_gen. More...
 

Detailed Description

Constructs geometric constraints (distance, planarity, volume) for distance-geometry-based 3D structure generation.

Given a molecular graph (and optionally an MMFF94 force field interaction parameter set) the generator derives ideal bond lengths, bond angles and 1,4-distances, identifies atom and bond stereo centers and emits the corresponding constraints into a Util::DG3DCoordinatesGenerator. The constraint set is used by ConfGen::DGStructureGenerator to produce a 3D embedding of the molecular graph.

Member Typedef Documentation

◆ StereoCenterData

Pair holding an atom or bond index plus the associated stereo descriptor.

◆ ConstStereoCenterDataIterator

typedef StereoCenterDataArray::const_iterator CDPL::ConfGen::DGConstraintGenerator::ConstStereoCenterDataIterator

A constant iterator over StereoCenterData entries.

Constructor & Destructor Documentation

◆ DGConstraintGenerator()

CDPL::ConfGen::DGConstraintGenerator::DGConstraintGenerator ( )

Constructs the DGConstraintGenerator instance.

Member Function Documentation

◆ getSettings() [1/2]

DGConstraintGeneratorSettings& CDPL::ConfGen::DGConstraintGenerator::getSettings ( )

Returns a reference to the constraint-generation settings.

Returns
A reference to the settings.

◆ getSettings() [2/2]

const DGConstraintGeneratorSettings& CDPL::ConfGen::DGConstraintGenerator::getSettings ( ) const

Returns a const reference to the constraint-generation settings.

Returns
A const reference to the settings.

◆ addAtomStereoCenter()

void CDPL::ConfGen::DGConstraintGenerator::addAtomStereoCenter ( const Chem::Atom atom,
const Chem::StereoDescriptor descr 
)

Registers an atom stereo center to be constrained.

Parameters
atomThe stereogenic atom.
descrThe stereo descriptor specifying the desired configuration.

◆ addBondStereoCenter()

void CDPL::ConfGen::DGConstraintGenerator::addBondStereoCenter ( const Chem::Bond bond,
const Chem::StereoDescriptor descr 
)

Registers a bond stereo center to be constrained.

Parameters
bondThe stereogenic bond.
descrThe stereo descriptor specifying the desired configuration.

◆ setup() [1/2]

void CDPL::ConfGen::DGConstraintGenerator::setup ( const Chem::MolecularGraph molgraph)

Initializes the generator for the molecular graph molgraph using default geometry data.

Parameters
molgraphThe molecular graph to process.

◆ setup() [2/2]

void CDPL::ConfGen::DGConstraintGenerator::setup ( const Chem::MolecularGraph molgraph,
const ForceField::MMFF94InteractionData ia_data 
)

Initializes the generator for the molecular graph molgraph using bond lengths and angles obtained from ia_data.

Parameters
molgraphThe molecular graph to process.
ia_dataMMFF94 interaction data providing the reference bond lengths and angles.

◆ getExcludedHydrogenMask()

const Util::BitSet& CDPL::ConfGen::DGConstraintGenerator::getExcludedHydrogenMask ( ) const

Returns the bit mask of hydrogen atoms that have been excluded from constraint generation.

Returns
A const reference to the excluded-hydrogen bit mask.

◆ getNumAtomStereoCenters()

std::size_t CDPL::ConfGen::DGConstraintGenerator::getNumAtomStereoCenters ( ) const

Returns the number of registered atom stereo centers.

Returns
The number of atom stereo centers.

◆ getNumBondStereoCenters()

std::size_t CDPL::ConfGen::DGConstraintGenerator::getNumBondStereoCenters ( ) const

Returns the number of registered bond stereo centers.

Returns
The number of bond stereo centers.

◆ getAtomStereoCenterData()

const StereoCenterData& CDPL::ConfGen::DGConstraintGenerator::getAtomStereoCenterData ( std::size_t  idx) const

Returns the stereo-center data for the atom stereo center at index idx.

Parameters
idxThe zero-based stereo-center index.
Returns
A const reference to the stereo-center data.
Exceptions
Base::IndexErrorif the number of atom stereo centers is zero or idx is not in the range [0, getNumAtomStereoCenters() - 1].

◆ getBondStereoCenterData()

const StereoCenterData& CDPL::ConfGen::DGConstraintGenerator::getBondStereoCenterData ( std::size_t  idx) const

Returns the stereo-center data for the bond stereo center at index idx.

Parameters
idxThe zero-based stereo-center index.
Returns
A const reference to the stereo-center data.
Exceptions
Base::IndexErrorif the number of bond stereo centers is zero or idx is not in the range [0, getNumBondStereoCenters() - 1].

◆ getAtomStereoCenterDataBegin()

ConstStereoCenterDataIterator CDPL::ConfGen::DGConstraintGenerator::getAtomStereoCenterDataBegin ( ) const

Returns a constant iterator pointing to the first atom stereo center.

Returns
A constant iterator pointing to the first atom stereo center.

◆ getAtomStereoCenterDataEnd()

ConstStereoCenterDataIterator CDPL::ConfGen::DGConstraintGenerator::getAtomStereoCenterDataEnd ( ) const

Returns a constant iterator pointing one past the last atom stereo center.

Returns
A constant iterator pointing one past the last atom stereo center.

◆ getBondStereoCenterDataBegin()

ConstStereoCenterDataIterator CDPL::ConfGen::DGConstraintGenerator::getBondStereoCenterDataBegin ( ) const

Returns a constant iterator pointing to the first bond stereo center.

Returns
A constant iterator pointing to the first bond stereo center.

◆ getBondStereoCenterDataEnd()

ConstStereoCenterDataIterator CDPL::ConfGen::DGConstraintGenerator::getBondStereoCenterDataEnd ( ) const

Returns a constant iterator pointing one past the last bond stereo center.

Returns
A constant iterator pointing one past the last bond stereo center.

◆ addFixedSubstructureConstraints()

void CDPL::ConfGen::DGConstraintGenerator::addFixedSubstructureConstraints ( const Chem::AtomContainer atoms,
const Math::Vector3DArray coords,
Util::DG3DCoordinatesGenerator coords_gen 
)

Adds distance and volume constraints that fix the supplied substructure to the given coordinates.

Parameters
atomsThe atoms whose positions shall be fixed.
coordsThe 3D coordinates to fix the atoms to.
coords_genThe coordinates generator to add the constraints to.
Since
1.1

◆ addBondLengthConstraints()

void CDPL::ConfGen::DGConstraintGenerator::addBondLengthConstraints ( Util::DG3DCoordinatesGenerator coords_gen)

Adds bond-length distance constraints to coords_gen.

Parameters
coords_genThe coordinates generator to add the constraints to.

◆ addBondAngleConstraints()

void CDPL::ConfGen::DGConstraintGenerator::addBondAngleConstraints ( Util::DG3DCoordinatesGenerator coords_gen)

Adds bond-angle (1,3) distance constraints to coords_gen.

Parameters
coords_genThe coordinates generator to add the constraints to.

◆ add14DistanceConstraints()

void CDPL::ConfGen::DGConstraintGenerator::add14DistanceConstraints ( Util::DG3DCoordinatesGenerator coords_gen)

Adds 1,4-distance constraints (cis/trans bounds) to coords_gen.

Parameters
coords_genThe coordinates generator to add the constraints to.

◆ addDefaultDistanceConstraints()

void CDPL::ConfGen::DGConstraintGenerator::addDefaultDistanceConstraints ( Util::DG3DCoordinatesGenerator coords_gen)

Adds default (Van der Waals-derived) lower/upper distance constraints between all non-bonded atom pairs to coords_gen.

Parameters
coords_genThe coordinates generator to add the constraints to.

◆ addAtomConfigurationConstraints()

void CDPL::ConfGen::DGConstraintGenerator::addAtomConfigurationConstraints ( Util::DG3DCoordinatesGenerator coords_gen)

Adds volume constraints enforcing the registered atom stereo-center configurations to coords_gen.

Parameters
coords_genThe coordinates generator to add the constraints to.

◆ addBondConfigurationConstraints()

void CDPL::ConfGen::DGConstraintGenerator::addBondConfigurationConstraints ( Util::DG3DCoordinatesGenerator coords_gen)

Adds distance and volume constraints enforcing the registered bond stereo-center configurations to coords_gen.

Parameters
coords_genThe coordinates generator to add the constraints to.

◆ addAtomPlanarityConstraints()

void CDPL::ConfGen::DGConstraintGenerator::addAtomPlanarityConstraints ( Util::DG3DCoordinatesGenerator coords_gen)

Adds planarity (zero-volume) constraints for sp2-hybridized / aromatic atoms to coords_gen.

Parameters
coords_genThe coordinates generator to add the constraints to.

◆ addBondPlanarityConstraints()

void CDPL::ConfGen::DGConstraintGenerator::addBondPlanarityConstraints ( Util::DG3DCoordinatesGenerator coords_gen)

Adds planarity (zero-volume) constraints for double and aromatic bonds to coords_gen.

Parameters
coords_genThe coordinates generator to add the constraints to.

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