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...
 
DGStructureGeneratorSettingsgetSettings ()
 Returns the current generator settings (mutable). More...
 
const DGStructureGeneratorSettingsgetSettings () const
 Returns the current generator settings. More...
 
const Util::BitSetgetExcludedHydrogenMask () 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 DGConstraintGeneratorgetConstraintGenerator () 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 (mutable).

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: