![]() |
Chemical Data Processing Library C++ API - Version 1.4.0
|
Contains classes and functions related to conformer ensemble generation. More...
Namespaces | |
| ConformerSamplingMode | |
| Provides constants used to specify the employed conformer sampling method. | |
| ControlParameter | |
| Provides keys for built-in control-parameters. | |
| ControlParameterDefault | |
| Provides default values for built-in control-parameters. | |
| DataFormat | |
| Provides preinitialized Base::DataFormat objects for all supported data formats. | |
| ForceFieldType | |
| Provides constants used to specify the forcefield that shall be used for 3D coordinates refinement and energy calculations. | |
| FragmentType | |
| Provides constants that are used to describe the nature of fragments used to build-up molecule 3D models. | |
| NitrogenEnumerationMode | |
| Provides constants for specifying the mode of invertible nitrogen enumeration. | |
| ReturnCode | |
| Provides constants that are used to describe the result of operations related to conformer generation. | |
| StructureGenerationMode | |
| Provides constants used to specify the 3D structure generation method that shall be employed. | |
Classes | |
| class | CanonicalFragment |
| Data structure representing a canonicalized molecular fragment. More... | |
| class | CFLMoleculeReader |
| Reader for molecule fragment data stored in the CDPL Conformer Generator Fragment Library (CFL) format. More... | |
| class | ConformerData |
| Container for the 3D coordinates of a generated conformer plus its associated energy value. More... | |
| class | ConformerGenerator |
| High-level driver for the generation of low-energy conformer ensembles of molecular graphs. More... | |
| class | ConformerGeneratorSettings |
| Bundle of configuration parameters for conformer ensemble generation via class ConfGen::ConformerGenerator. More... | |
| class | DGConstraintGenerator |
| Constructs geometric constraints (distance, planarity, volume) for distance-geometry-based 3D structure generation. More... | |
| class | DGConstraintGeneratorSettings |
| Bundle of configuration parameters for distance-geometry constraint generation via class ConfGen::DGConstraintGenerator. More... | |
| class | DGStructureGenerator |
| Distance-geometry-based generation of raw 3D structures for molecular graphs. More... | |
| class | DGStructureGeneratorSettings |
| Bundle of configuration parameters for raw coordinates generation via class ConfGen::DGStructureGenerator. More... | |
| class | FragmentAssembler |
| Driver for the fragment-based generation of 3D starting conformers. More... | |
| class | FragmentAssemblerSettings |
| Bundle of configuration parameters for fragment conformer assembly via class ConfGen::FragmentAssembler. More... | |
| class | FragmentConformerGenerator |
| Driver for the generation of low-energy conformer ensembles for single molecular fragments (chain, small ring system or macrocycle) More... | |
| class | FragmentConformerGeneratorSettings |
| Bundle of configuration parameters for fragment conformer ensemble generation via class ConfGen::FragmentConformerGenerator. More... | |
| class | FragmentLibrary |
| Data structure representing a library of pre-generated molecular fragment conformer ensembles. More... | |
| class | FragmentLibraryEntry |
| Data structure representing a single entry of a conformer generation fragment library. More... | |
| class | FragmentLibraryGenerator |
| Driver for populating a ConfGen::FragmentLibrary with conformers of canonicalized molecular fragments. More... | |
| class | RMSDConformerSelector |
| Greedy RMSD-based conformer-diversity filter. More... | |
| class | StructureGenerator |
| High-level driver for the generation of a single low-energy 3D structure from a molecular graph. More... | |
| class | StructureGeneratorSettings |
| Bundle of configuration parameters for single 3D structure generation via class ConfGen::StructureGenerator. More... | |
| class | TorsionCategory |
| Represents a node of a hierarchical torsion library. More... | |
| class | TorsionDriver |
| Driver for the systematic enumeration of conformers obtained by rotating around rotatable bonds of a molecular graph, using preferred torsion angles taken from configured ConfGen::TorsionLibrary instances. More... | |
| class | TorsionDriverSettings |
| Bundle of configuration parameters for systematic conformer enumeration via class ConfGen::TorsionDriver. More... | |
| class | TorsionLibrary |
| Data structure representing a hierarchical library of torsion rules organized into categories. More... | |
| class | TorsionRule |
| Data structure for the representation of single torsion library rules. More... | |
| class | TorsionRuleMatch |
| A single match of a ConfGen::TorsionRule against a rotatable bond: the rule, the bond and the four atoms that span the torsion. More... | |
| class | TorsionRuleMatcher |
| Finds torsion rules from a ConfGen::TorsionLibrary instance that match a given rotatable bond. More... | |
Typedefs | |
| typedef std::function< bool()> | CallbackFunction |
Generic wrapper for storing user-defined callback functions returning a bool status flag (see [FUNWRP]). More... | |
| typedef Util::DefaultDataInputHandler< CFLMoleculeReader, DataFormat::CFL > | CFLMoleculeInputHandler |
| Handler for the input of molecule fragments stored in the CDPL Conformer Generator Fragment Library (CFL) format. More... | |
| typedef std::vector< ConformerData::SharedPointer > | ConformerDataArray |
| Dynamically-sized array of shared pointers to ConfGen::ConformerData objects. More... | |
| typedef std::function< void(const std::string &)> | LogMessageCallbackFunction |
| Generic wrapper for storing user-defined log message callback functions (see [FUNWRP]). More... | |
Functions | |
| CDPL_CONFGEN_API bool | isFragmentLinkBond (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph) |
| Tells whether bond is a link bond between two fragments under the fragment-based conformer generation heuristics. More... | |
| CDPL_CONFGEN_API bool | isRotatableBond (const Chem::Bond &bond, const Chem::MolecularGraph &molgraph, bool het_h_rotors) |
| Tells whether bond is rotatable under the conformer generation rotatable bond heuristics. More... | |
| CDPL_CONFGEN_API bool | getStrictErrorCheckingParameter (const Base::ControlParameterContainer &cntnr) |
| Returns the value of the ConfGen::ControlParameter::STRICT_ERROR_CHECKING parameter stored in cntnr. More... | |
| CDPL_CONFGEN_API void | setStrictErrorCheckingParameter (Base::ControlParameterContainer &cntnr, bool strict) |
| Sets the value of the ConfGen::ControlParameter::STRICT_ERROR_CHECKING parameter stored in cntnr. More... | |
| CDPL_CONFGEN_API bool | hasStrictErrorCheckingParameter (const Base::ControlParameterContainer &cntnr) |
| Tells whether the ConfGen::ControlParameter::STRICT_ERROR_CHECKING parameter is set on cntnr. More... | |
| CDPL_CONFGEN_API void | clearStrictErrorCheckingParameter (Base::ControlParameterContainer &cntnr) |
| Removes the ConfGen::ControlParameter::STRICT_ERROR_CHECKING parameter from cntnr. More... | |
| CDPL_CONFGEN_API std::size_t | createFragmentLinkBondMask (const Chem::MolecularGraph &molgraph, Util::BitSet &bond_mask, bool reset=true) |
| Sets bits in bond_mask for every fragment-link bond of molgraph (see ConfGen::isFragmentLinkBond()). More... | |
| CDPL_CONFGEN_API std::size_t | createRotatableBondMask (const Chem::MolecularGraph &molgraph, Util::BitSet &bond_mask, bool het_h_rotors, bool reset=true) |
| Sets bits in bond_mask for every rotatable bond of molgraph (see ConfGen::isRotatableBond()). More... | |
| CDPL_CONFGEN_API std::size_t | createRotatableBondMask (const Chem::MolecularGraph &molgraph, const Util::BitSet &excl_bond_mask, Util::BitSet &bond_mask, bool het_h_rotors, bool reset=true) |
| Sets bits in bond_mask for every rotatable bond of molgraph that is not already marked in excl_bond_mask. More... | |
| CDPL_CONFGEN_API std::size_t | getRotatableBondCount (const Chem::MolecularGraph &molgraph, bool het_h_rotors) |
| Returns the number of rotatable bonds in molgraph (see ConfGen::isRotatableBond()). More... | |
| CDPL_CONFGEN_API unsigned int | perceiveFragmentType (const Chem::MolecularGraph &molgraph) |
| Classifies molgraph as a ConfGen::FragmentType (chain, flexible ring, rigid ring, etc.). More... | |
| CDPL_CONFGEN_API unsigned int | parameterizeMMFF94Interactions (const Chem::MolecularGraph &molgraph, ForceField::MMFF94InteractionParameterizer ¶meterizer, ForceField::MMFF94InteractionData ¶m_data, unsigned int ff_type, bool strict, double estat_de_const, double estat_dist_expo) |
| Parameterizes the MMFF94 interactions of molgraph via parameterizer and stores them in param_data. More... | |
| CDPL_CONFGEN_API void | setConformers (Chem::MolecularGraph &molgraph, const ConformerDataArray &conf_array) |
| Transfers the conformer ensemble stored in conf_array onto molgraph (sets the per-atom 3D coordinates and conformer energies). More... | |
| CDPL_CONFGEN_API std::size_t | setupFixedSubstructureData (const Chem::SubstructureSearch &sub_search, std::size_t max_num_matches, Chem::MolecularGraph &molgraph, Chem::Fragment &fixed_substr, Math::Vector3DArray *fixed_substr_coords) |
| Configures the fixed-substructure handling of molgraph using the matches produced by sub_search. More... | |
| CDPL_CONFGEN_API std::size_t | setupFixedSubstructureData (const Chem::CommonConnectedSubstructureSearch &sub_search, std::size_t max_num_matches, Chem::MolecularGraph &molgraph, Chem::Fragment &fixed_substr, Math::Vector3DArray *fixed_substr_coords) |
| Configures the fixed-substructure handling of molgraph using the matches produced by sub_search. More... | |
| CDPL_CONFGEN_API void | initFixedSubstructureTemplate (Chem::MolecularGraph &molgraph, bool init_match_expr) |
| Initializes molgraph as a fixed-substructure template (perception of atom/bond properties and optionally match expressions). More... | |
| CDPL_CONFGEN_API bool | initFixedSubstructurePattern (Chem::MolecularGraph &molgraph, const Chem::MolecularGraph *tmplt) |
| Initializes molgraph as a fixed-substructure pattern matched against the supplied tmplt template. More... | |
| CDPL_CONFGEN_API void | prepareForConformerGeneration (Chem::Molecule &mol, bool canonicalize=false) |
| Prepares the molecule mol for conformer generation. More... | |
Contains classes and functions related to conformer ensemble generation.
| typedef std::function<bool()> CDPL::ConfGen::CallbackFunction |
Generic wrapper for storing user-defined callback functions returning a bool status flag (see [FUNWRP]).
Used by the conformer generation pipeline (Chem::ConformerGenerator, Chem::TorsionDriver, etc.) for the periodic abort and timeout-check callbacks: returning false signals the pipeline to abort.
| typedef Util::DefaultDataInputHandler<CFLMoleculeReader, DataFormat::CFL> CDPL::ConfGen::CFLMoleculeInputHandler |
Handler for the input of molecule fragments stored in the CDPL Conformer Generator Fragment Library (CFL) format.
| typedef std::vector<ConformerData::SharedPointer> CDPL::ConfGen::ConformerDataArray |
Dynamically-sized array of shared pointers to ConfGen::ConformerData objects.
| typedef std::function<void(const std::string&)> CDPL::ConfGen::LogMessageCallbackFunction |
Generic wrapper for storing user-defined log message callback functions (see [FUNWRP]).
Used by the conformer generation pipeline (Chem::ConformerGenerator, Chem::FragmentConformerGenerator, Chem::FragmentLibraryGenerator) to forward textual log messages to the caller.
| CDPL_CONFGEN_API bool CDPL::ConfGen::isFragmentLinkBond | ( | const Chem::Bond & | bond, |
| const Chem::MolecularGraph & | molgraph | ||
| ) |
Tells whether bond is a link bond between two fragments under the fragment-based conformer generation heuristics.
| bond | The bond to test. |
| molgraph | The parent molecular graph. |
true if bond connects two fragments, and false otherwise. | CDPL_CONFGEN_API bool CDPL::ConfGen::isRotatableBond | ( | const Chem::Bond & | bond, |
| const Chem::MolecularGraph & | molgraph, | ||
| bool | het_h_rotors | ||
| ) |
Tells whether bond is rotatable under the conformer generation rotatable bond heuristics.
| bond | The bond to test. |
| molgraph | The parent molecular graph. |
| het_h_rotors | If true, rotors involving only heteroatom-bound hydrogens are also counted as rotatable. |
true if bond is rotatable, and false otherwise. | CDPL_CONFGEN_API bool CDPL::ConfGen::getStrictErrorCheckingParameter | ( | const Base::ControlParameterContainer & | cntnr | ) |
Returns the value of the ConfGen::ControlParameter::STRICT_ERROR_CHECKING parameter stored in cntnr.
| cntnr | The control-parameter container to query. |
| CDPL_CONFGEN_API void CDPL::ConfGen::setStrictErrorCheckingParameter | ( | Base::ControlParameterContainer & | cntnr, |
| bool | strict | ||
| ) |
Sets the value of the ConfGen::ControlParameter::STRICT_ERROR_CHECKING parameter stored in cntnr.
| cntnr | The control-parameter container. |
| strict | The new STRICT_ERROR_CHECKING value. |
| CDPL_CONFGEN_API bool CDPL::ConfGen::hasStrictErrorCheckingParameter | ( | const Base::ControlParameterContainer & | cntnr | ) |
Tells whether the ConfGen::ControlParameter::STRICT_ERROR_CHECKING parameter is set on cntnr.
| cntnr | The control-parameter container. |
true if the parameter is set, and false otherwise. | CDPL_CONFGEN_API void CDPL::ConfGen::clearStrictErrorCheckingParameter | ( | Base::ControlParameterContainer & | cntnr | ) |
Removes the ConfGen::ControlParameter::STRICT_ERROR_CHECKING parameter from cntnr.
| cntnr | The control-parameter container. |
| CDPL_CONFGEN_API std::size_t CDPL::ConfGen::createFragmentLinkBondMask | ( | const Chem::MolecularGraph & | molgraph, |
| Util::BitSet & | bond_mask, | ||
| bool | reset = true |
||
| ) |
Sets bits in bond_mask for every fragment-link bond of molgraph (see ConfGen::isFragmentLinkBond()).
| molgraph | The molecular graph. |
| bond_mask | The output bit mask sized to the number of bonds in molgraph. |
| reset | If true, the output mask is cleared before bits are set. |
| CDPL_CONFGEN_API std::size_t CDPL::ConfGen::createRotatableBondMask | ( | const Chem::MolecularGraph & | molgraph, |
| Util::BitSet & | bond_mask, | ||
| bool | het_h_rotors, | ||
| bool | reset = true |
||
| ) |
Sets bits in bond_mask for every rotatable bond of molgraph (see ConfGen::isRotatableBond()).
| molgraph | The molecular graph. |
| bond_mask | The output bit mask sized to the number of bonds in molgraph. |
| het_h_rotors | If true, rotors involving only heteroatom-bound hydrogens are also counted as rotatable. |
| reset | If true, the output mask is cleared before bits are set. |
| CDPL_CONFGEN_API std::size_t CDPL::ConfGen::createRotatableBondMask | ( | const Chem::MolecularGraph & | molgraph, |
| const Util::BitSet & | excl_bond_mask, | ||
| Util::BitSet & | bond_mask, | ||
| bool | het_h_rotors, | ||
| bool | reset = true |
||
| ) |
Sets bits in bond_mask for every rotatable bond of molgraph that is not already marked in excl_bond_mask.
| molgraph | The molecular graph. |
| excl_bond_mask | The bit mask of bonds to exclude from rotatable bond consideration. |
| bond_mask | The output bit mask sized to the number of bonds in molgraph. |
| het_h_rotors | If true, rotors involving only heteroatom-bound hydrogens are also counted as rotatable. |
| reset | If true, the output mask is cleared before bits are set. |
| CDPL_CONFGEN_API std::size_t CDPL::ConfGen::getRotatableBondCount | ( | const Chem::MolecularGraph & | molgraph, |
| bool | het_h_rotors | ||
| ) |
Returns the number of rotatable bonds in molgraph (see ConfGen::isRotatableBond()).
| molgraph | The molecular graph. |
| het_h_rotors | If true, rotors involving only heteroatom-bound hydrogens are also counted as rotatable. |
| CDPL_CONFGEN_API unsigned int CDPL::ConfGen::perceiveFragmentType | ( | const Chem::MolecularGraph & | molgraph | ) |
Classifies molgraph as a ConfGen::FragmentType (chain, flexible ring, rigid ring, etc.).
| molgraph | The molecular graph. |
| CDPL_CONFGEN_API unsigned int CDPL::ConfGen::parameterizeMMFF94Interactions | ( | const Chem::MolecularGraph & | molgraph, |
| ForceField::MMFF94InteractionParameterizer & | parameterizer, | ||
| ForceField::MMFF94InteractionData & | param_data, | ||
| unsigned int | ff_type, | ||
| bool | strict, | ||
| double | estat_de_const, | ||
| double | estat_dist_expo | ||
| ) |
Parameterizes the MMFF94 interactions of molgraph via parameterizer and stores them in param_data.
| molgraph | The molecular graph. |
| parameterizer | The MMFF94 interaction parameterizer. |
| param_data | The output interaction-data structure. |
| ff_type | The MMFF94 force field variant (see ForceField::MMFF94InteractionParameterizer for valid values). |
| strict | If true, missing parameters are treated as fatal errors. Otherwise, in case of parameterization problems, suitable fallback parameters will be used. |
| estat_de_const | The dielectric constant used in the electrostatic energy term. |
| estat_dist_expo | The distance exponent used in the electrostatic energy term. |
| CDPL_CONFGEN_API void CDPL::ConfGen::setConformers | ( | Chem::MolecularGraph & | molgraph, |
| const ConformerDataArray & | conf_array | ||
| ) |
Transfers the conformer ensemble stored in conf_array onto molgraph (sets the per-atom 3D coordinates and conformer energies).
| molgraph | The molecular graph receiving the conformer data. |
| conf_array | The conformer ensemble to attach. |
| CDPL_CONFGEN_API std::size_t CDPL::ConfGen::setupFixedSubstructureData | ( | const Chem::SubstructureSearch & | sub_search, |
| std::size_t | max_num_matches, | ||
| Chem::MolecularGraph & | molgraph, | ||
| Chem::Fragment & | fixed_substr, | ||
| Math::Vector3DArray * | fixed_substr_coords | ||
| ) |
Configures the fixed-substructure handling of molgraph using the matches produced by sub_search.
| sub_search | The substructure search engine providing the matches. |
| max_num_matches | The maximum number of matches to process (0 means unlimited). |
| molgraph | The molecular graph that holds the input atoms (modified in place). |
| fixed_substr | The output fragment receiving the matched atoms/bonds. |
| fixed_substr_coords | Optional output array receiving the 3D coordinates of the fixed substructure atoms. |
| CDPL_CONFGEN_API std::size_t CDPL::ConfGen::setupFixedSubstructureData | ( | const Chem::CommonConnectedSubstructureSearch & | sub_search, |
| std::size_t | max_num_matches, | ||
| Chem::MolecularGraph & | molgraph, | ||
| Chem::Fragment & | fixed_substr, | ||
| Math::Vector3DArray * | fixed_substr_coords | ||
| ) |
Configures the fixed-substructure handling of molgraph using the matches produced by sub_search.
| sub_search | The common-connected-substructure search engine providing the matches. |
| max_num_matches | The maximum number of matches to process (0 means unlimited). |
| molgraph | The molecular graph that holds the input atoms (modified in place). |
| fixed_substr | The output fragment receiving the matched atoms/bonds. |
| fixed_substr_coords | Optional output array receiving the 3D coordinates of the fixed substructure atoms. |
| CDPL_CONFGEN_API void CDPL::ConfGen::initFixedSubstructureTemplate | ( | Chem::MolecularGraph & | molgraph, |
| bool | init_match_expr | ||
| ) |
Initializes molgraph as a fixed-substructure template (perception of atom/bond properties and optionally match expressions).
| molgraph | The molecular graph that will serve as the template. |
| init_match_expr | If true, atom/bond match expressions are also generated. |
| CDPL_CONFGEN_API bool CDPL::ConfGen::initFixedSubstructurePattern | ( | Chem::MolecularGraph & | molgraph, |
| const Chem::MolecularGraph * | tmplt | ||
| ) |
Initializes molgraph as a fixed-substructure pattern matched against the supplied tmplt template.
| molgraph | The molecular graph to initialize. |
| tmplt | The template molecular graph (may be nullptr). |
true if the initialization succeeded, and false otherwise. | CDPL_CONFGEN_API void CDPL::ConfGen::prepareForConformerGeneration | ( | Chem::Molecule & | mol, |
| bool | canonicalize = false |
||
| ) |
Prepares the molecule mol for conformer generation.
The molecules gets prepared by completing its hydrogens, perceiving the SSSR, ring flags, implicit hydrogen counts, hybridization states, aromaticity and (optionally) canonicalizing the atom ordering.
| mol | The molecule to prepare (modified in place). |
| canonicalize | If true, the atom ordering of mol is canonicalized. |