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

Distance-geometry-based generation of raw 3D structures for molecular graphs. More...

#include <DGStructureGenerator.hpp>

Public Member Functions

 DGStructureGenerator ()
 Constructs the DGStructureGenerator instance. More...
 
DGStructureGeneratorSettings & getSettings ()
 Returns the current generator settings. More...
 
const DGStructureGeneratorSettings & getSettings () const
 Returns the current generator settings. More...
 
const Util::BitSet & getExcludedHydrogenMask () const
 Returns the bit mask of hydrogens excluded from the coordinate-generation step. More...
 
void setup (const Chem::MolecularGraph &molgraph)
 Sets up the generator for molgraph using geometry defaults derived from each atom's element number and hybridization state. More...
 
void setup (const Chem::MolecularGraph &molgraph, const ForceField::MMFF94InteractionData &ia_data)
 Sets up the generator for molgraph using the supplied MMFF94 interaction data. More...
 
void setup (const Chem::MolecularGraph &molgraph, const Chem::FragmentList &fixed_substr_frags, const Math::Vector3DArray &fixed_substr_coords)
 Sets up the generator for molgraph while keeping the substructure fragments in fixed_substr_frags at the supplied 3D coordinates. More...
 
void setup (const Chem::MolecularGraph &molgraph, const ForceField::MMFF94InteractionData &ia_data, const Chem::FragmentList &fixed_substr_frags, const Math::Vector3DArray &fixed_substr_coords)
 Sets up the generator for molgraph using the supplied MMFF94 interaction data and fixed-substructure data. More...
 
bool generate (Math::Vector3DArray &coords)
 Generates a 3D coordinate set that respects the configured distance constraints. More...
 
bool checkAtomConfigurations (Math::Vector3DArray &coords) const
 Validates the per-atom stereo-configurations of coords against the perceived stereo descriptors. More...
 
bool checkBondConfigurations (Math::Vector3DArray &coords) const
 Validates the per-bond stereo-configurations of coords against the perceived stereo descriptors. More...
 
std::size_t getNumAtomStereoCenters () const
 Returns the number of atom stereo centers in the set-up molecular graph. More...
 
std::size_t getNumBondStereoCenters () const
 Returns the number of bond stereo centers in the set-up molecular graph. More...
 
const DGConstraintGenerator & getConstraintGenerator () const
 Returns the embedded constraint generator used to produce the distance/volume constraints. More...
 

Detailed Description

Distance-geometry-based generation of raw 3D structures for molecular graphs.

Constraints are produced by an embedded ConfGen::DGConstraintGenerator and used to embed the coordinates via a two-phase Util::DG3DCoordinatesGenerator pipeline. After generation, atom and bond stereo configurations can be validated against the perceived stereo descriptors.

Constructor & Destructor Documentation

◆ DGStructureGenerator()

CDPL::ConfGen::DGStructureGenerator::DGStructureGenerator ( )

Constructs the DGStructureGenerator instance.

Member Function Documentation

◆ getSettings() [1/2]

DGStructureGeneratorSettings& CDPL::ConfGen::DGStructureGenerator::getSettings ( )

Returns the current generator settings.

Returns
A reference to the settings.

◆ getSettings() [2/2]

const DGStructureGeneratorSettings& CDPL::ConfGen::DGStructureGenerator::getSettings ( ) const

Returns the current generator settings.

Returns
A const reference to the settings.

◆ getExcludedHydrogenMask()

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

Returns the bit mask of hydrogens excluded from the coordinate-generation step.

Returns
A const reference to the bit mask.

◆ setup() [1/4]

void CDPL::ConfGen::DGStructureGenerator::setup ( const Chem::MolecularGraph &  molgraph)

Sets up the generator for molgraph using geometry defaults derived from each atom's element number and hybridization state.

No MMFF94 parameterization is carried out; reference bond lengths and angles are taken from element-/hybridization-based lookup tables.

Parameters
molgraphThe input molecular graph.

◆ setup() [2/4]

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

Sets up the generator for molgraph using the supplied MMFF94 interaction data.

Parameters
molgraphThe input molecular graph.
ia_dataThe pre-computed MMFF94 interaction data.

◆ setup() [3/4]

void CDPL::ConfGen::DGStructureGenerator::setup ( const Chem::MolecularGraph &  molgraph,
const Chem::FragmentList &  fixed_substr_frags,
const Math::Vector3DArray &  fixed_substr_coords 
)

Sets up the generator for molgraph while keeping the substructure fragments in fixed_substr_frags at the supplied 3D coordinates.

Parameters
molgraphThe input molecular graph.
fixed_substr_fragsThe substructure fragments that must retain their 3D coordinates.
fixed_substr_coordsThe 3D coordinates assigned to the fixed substructures.
Since
1.1

◆ setup() [4/4]

void CDPL::ConfGen::DGStructureGenerator::setup ( const Chem::MolecularGraph &  molgraph,
const ForceField::MMFF94InteractionData &  ia_data,
const Chem::FragmentList &  fixed_substr_frags,
const Math::Vector3DArray &  fixed_substr_coords 
)

Sets up the generator for molgraph using the supplied MMFF94 interaction data and fixed-substructure data.

Parameters
molgraphThe input molecular graph.
ia_dataThe pre-computed MMFF94 interaction data.
fixed_substr_fragsThe substructure fragments that must retain their 3D coordinates.
fixed_substr_coordsThe 3D coordinates assigned to the fixed substructures.
Since
1.1

◆ generate()

bool CDPL::ConfGen::DGStructureGenerator::generate ( Math::Vector3DArray &  coords)

Generates a 3D coordinate set that respects the configured distance constraints.

Parameters
coordsThe output 3D coordinate array.
Returns
true if the embedding succeeded, and false otherwise.

◆ checkAtomConfigurations()

bool CDPL::ConfGen::DGStructureGenerator::checkAtomConfigurations ( Math::Vector3DArray &  coords) const

Validates the per-atom stereo-configurations of coords against the perceived stereo descriptors.

Parameters
coordsThe 3D coordinates to test.
Returns
true if all per-atom stereo-configurations are valid, and false otherwise.

◆ checkBondConfigurations()

bool CDPL::ConfGen::DGStructureGenerator::checkBondConfigurations ( Math::Vector3DArray &  coords) const

Validates the per-bond stereo-configurations of coords against the perceived stereo descriptors.

Parameters
coordsThe 3D coordinates to test.
Returns
true if all per-bond stereo-configurations are valid, and false otherwise.

◆ getNumAtomStereoCenters()

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

Returns the number of atom stereo centers in the set-up molecular graph.

Returns
The atom stereo-center count.

◆ getNumBondStereoCenters()

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

Returns the number of bond stereo centers in the set-up molecular graph.

Returns
The bond stereo-center count.

◆ getConstraintGenerator()

const DGConstraintGenerator& CDPL::ConfGen::DGStructureGenerator::getConstraintGenerator ( ) const

Returns the embedded constraint generator used to produce the distance/volume constraints.

Returns
A const reference to the constraint generator.

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