RDKit: RDKit::DGeomHelpers::EmbedParameters Struct Reference

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
RDKit::DGeomHelpers::EmbedParameters Struct Reference

Parameter object for controlling embedding. More...

`#include <Embedder.h>`

## Public Member Functions
| EmbedParameters ()
| EmbedParameters (unsigned int maxIterations, int numThreads, int randomSeed, bool clearConfs, bool useRandomCoords, double boxSizeMult, bool randNegEig, unsigned int numZeroFail, const std::map< int, RDGeom::Point3D > *coordMap, double optimizerForceTol, bool ignoreSmoothingFailures, bool enforceChirality, bool useExpTorsionAnglePrefs, bool useBasicKnowledge, bool verbose, double basinThresh, double pruneRmsThresh, bool onlyHeavyAtomsForRMS, unsigned int ETversion=2, const DistGeom::BoundsMatrix *boundsMat=nullptr, bool embedFragmentsSeparately=true, bool useSmallRingTorsions=false, bool useMacrocycleTorsions=false, bool useMacrocycle14config=false, unsigned int timeout=0, std::shared_ptr< std::map< std::pair< unsigned int, unsigned int >, double > > CPCI=nullptr, void(*callback)(unsigned int)=nullptr)

## Public Attributes
unsigned int | maxIterations {0}
int | numThreads {1}
int | randomSeed {-1}
bool | clearConfs {true}
bool | useRandomCoords {false}
double | boxSizeMult {2.0}
bool | randNegEig {true}
unsigned int | numZeroFail {1}
const std::map< int, RDGeom::Point3D > * | coordMap {nullptr}
double | optimizerForceTol {1e-3}
bool | ignoreSmoothingFailures {false}
bool | enforceChirality {true}
bool | useExpTorsionAnglePrefs {false}
bool | useBasicKnowledge {false}
bool | verbose {false}
double | basinThresh {5.0}
double | pruneRmsThresh {-1.0}
bool | onlyHeavyAtomsForRMS {true}
unsigned int | ETversion {2}
boost::shared_ptr< const DistGeom::BoundsMatrix > | boundsMat
bool | embedFragmentsSeparately {true}
bool | useSmallRingTorsions {false}
bool | useMacrocycleTorsions {false}
bool | useMacrocycle14config {false}
unsigned int | timeout {0}
std::shared_ptr< std::map< std::pair< unsigned int, unsigned int >, double > > | CPCI
void(* | callback )(unsigned int)
bool | forceTransAmides {true}
bool | useSymmetryForPruning {true}
double | boundsMatForceScaling {1.0}
bool | trackFailures {false}
std::vector< unsigned int > | failures
bool | enableSequentialRandomSeeds {false}
bool | symmetrizeConjugatedTerminalGroupsForPruning {true}

## Detailed Description

Parameter object for controlling embedding.

numConfs Number of conformations to be generated numThreads Sets the number of threads to use (more than one thread will only be used if the RDKit was build with multithread support) If set to zero, the max supported by the system will be used. maxIterations Max. number of times the embedding will be tried if coordinates are not obtained successfully. The default value is 10x the number of atoms. randomSeed provides a seed for the random number generator (so that the same coordinates can be obtained for a molecule on multiple runs) If -1, the RNG will not be seeded. clearConfs Clear all existing conformations on the molecule useRandomCoords Start the embedding from random coordinates instead of using eigenvalues of the distance matrix. boxSizeMult Determines the size of the box that is used for random coordinates. If this is a positive number, the side length will equal the largest element of the distance matrix times `boxSizeMult`. If this is a negative number, the side length will equal `-boxSizeMult` (i.e. independent of the elements of the distance matrix). randNegEig Picks coordinates at random when a embedding process produces negative eigenvalues numZeroFail Fail embedding if we find this many or more zero eigenvalues (within a tolerance) pruneRmsThresh Retain only the conformations out of 'numConfs' after embedding that are at least this far apart from each other. RMSD is computed on the heavy atoms. Prunining is greedy; i.e. the first embedded conformation is retained and from then on only those that are at least `pruneRmsThresh` away from already retained conformations are kept. The pruning is done after embedding and bounds violation minimization. No pruning by default. coordMap a map of int to Point3D, between atom IDs and their locations their locations. If this container is provided, the coordinates are used to set distance constraints on the embedding. The resulting conformer(s) should have distances between the specified atoms that reproduce those between the points in `coordMap`. Because the embedding produces a molecule in an arbitrary reference frame, an alignment step is required to actually reproduce the provided coordinates. optimizerForceTol set the tolerance on forces in the DGeom optimizer (this shouldn't normally be altered in client code). ignoreSmoothingFailures try to embed the molecule even if triangle bounds smoothing fails enforceChirality enforce the correct chirality if chiral centers are present useExpTorsionAnglePrefs impose experimental torsion-angle preferences useBasicKnowledge impose "basic knowledge" terms such as flat aromatic rings, ketones, etc. ETversion version of the experimental torsion-angle preferences verbose print output of experimental torsion-angle preferences basinThresh set the basin threshold for the DGeom force field, (this shouldn't normally be altered in client code). onlyHeavyAtomsForRMS only use the heavy atoms when doing RMS filtering boundsMat custom bound matrix to specify upper and lower bounds of atom pairs embedFragmentsSeparately embed each fragment of molecule in turn useSmallRingTorsions optional torsions to improve small ring conformer sampling useMacrocycleTorsions optional torsions to improve macrocycle conformer sampling useMacrocycle14config If 1-4 distances bound heuristics for macrocycles is used timeout time out in seconds CPCI custom columbic interactions between atom pairs callback void pointer to a function for reporting progress, will be called with the current iteration number. forceTransAmides constrain amide bonds to be trans. useSymmetryForPruning use molecule symmetry when doing the RMSD pruning. NOTE that for reasons of computational efficiency, setting this will also set onlyHeavyAtomsForRMS to true. trackFailures keep track of which checks during the embedding process fail failures if trackFailures is true, this is used to track the number of times each embedding check fails enableSequentialRandomSeeds handle the random number seeds so that conformer generation can be restarted

Definition at line 122 of file Embedder.h.

## Constructor & Destructor Documentation

## ◆ EmbedParameters() [1/2]

RDKit::DGeomHelpers::EmbedParameters::EmbedParameters | ( |  | ) |
| inline

Definition at line 158 of file Embedder.h.

References boundsMat, callback, and CPCI.

## ◆ EmbedParameters() [2/2]

RDKit::DGeomHelpers::EmbedParameters::EmbedParameters | ( | unsigned int | maxIterations,
|  | int | numThreads,
|  | int | randomSeed,
|  | bool | clearConfs,
|  | bool | useRandomCoords,
|  | double | boxSizeMult,
|  | bool | randNegEig,
|  | unsigned int | numZeroFail,
|  | const std::map< int, RDGeom::Point3D > * | coordMap,
|  | double | optimizerForceTol,
|  | bool | ignoreSmoothingFailures,
|  | bool | enforceChirality,
|  | bool | useExpTorsionAnglePrefs,
|  | bool | useBasicKnowledge,
|  | bool | verbose,
|  | double | basinThresh,
|  | double | pruneRmsThresh,
|  | bool | onlyHeavyAtomsForRMS,
|  | unsigned int | ETversion = 2,
|  | const DistGeom::BoundsMatrix * | boundsMat = nullptr,
|  | bool | embedFragmentsSeparately = true,
|  | bool | useSmallRingTorsions = false,
|  | bool | useMacrocycleTorsions = false,
|  | bool | useMacrocycle14config = false,
|  | unsigned int | timeout = 0,
|  | std::shared_ptr< std::map< std::pair< unsigned int, unsigned int >, double > > | CPCI = nullptr,
|  | void(* | callback )(unsigned int) = nullptr )
| inline

Definition at line 159 of file Embedder.h.

References basinThresh, boundsMat, boxSizeMult, callback, clearConfs, coordMap, CPCI, embedFragmentsSeparately, enforceChirality, ETversion, ignoreSmoothingFailures, maxIterations, numThreads, numZeroFail, onlyHeavyAtomsForRMS, optimizerForceTol, pruneRmsThresh, randNegEig, randomSeed, timeout, useBasicKnowledge, useExpTorsionAnglePrefs, useMacrocycle14config, useMacrocycleTorsions, useRandomCoords, useSmallRingTorsions, and verbose.

## Member Data Documentation

## ◆ basinThresh

double RDKit::DGeomHelpers::EmbedParameters::basinThresh {5.0}

Definition at line 138 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ boundsMat

boost::shared_ptr<const DistGeom::BoundsMatrix> RDKit::DGeomHelpers::EmbedParameters::boundsMat

Definition at line 142 of file Embedder.h.

Referenced by EmbedParameters(), and EmbedParameters().

## ◆ boundsMatForceScaling

double RDKit::DGeomHelpers::EmbedParameters::boundsMatForceScaling {1.0}

Definition at line 152 of file Embedder.h.

## ◆ boxSizeMult

double RDKit::DGeomHelpers::EmbedParameters::boxSizeMult {2.0}

Definition at line 128 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ callback

void(* RDKit::DGeomHelpers::EmbedParameters::callback) (unsigned int)

Definition at line 149 of file Embedder.h.

Referenced by EmbedParameters(), and EmbedParameters().

## ◆ clearConfs

bool RDKit::DGeomHelpers::EmbedParameters::clearConfs {true}

Definition at line 126 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ coordMap

const std::map<int, RDGeom::Point3D>* RDKit::DGeomHelpers::EmbedParameters::coordMap {nullptr}

Definition at line 131 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ CPCI

std::shared_ptr<std::map<std::pair<unsigned int, unsigned int>, double> > RDKit::DGeomHelpers::EmbedParameters::CPCI

Definition at line 148 of file Embedder.h.

Referenced by EmbedParameters(), and EmbedParameters().

## ◆ embedFragmentsSeparately

bool RDKit::DGeomHelpers::EmbedParameters::embedFragmentsSeparately {true}

Definition at line 143 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ enableSequentialRandomSeeds

bool RDKit::DGeomHelpers::EmbedParameters::enableSequentialRandomSeeds {false}

Definition at line 155 of file Embedder.h.

## ◆ enforceChirality

bool RDKit::DGeomHelpers::EmbedParameters::enforceChirality {true}

Definition at line 134 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ ETversion

unsigned int RDKit::DGeomHelpers::EmbedParameters::ETversion {2}

Definition at line 141 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ failures

std::vector<unsigned int> RDKit::DGeomHelpers::EmbedParameters::failures

Definition at line 154 of file Embedder.h.

## ◆ forceTransAmides

bool RDKit::DGeomHelpers::EmbedParameters::forceTransAmides {true}

Definition at line 150 of file Embedder.h.

## ◆ ignoreSmoothingFailures

bool RDKit::DGeomHelpers::EmbedParameters::ignoreSmoothingFailures {false}

Definition at line 133 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ maxIterations

unsigned int RDKit::DGeomHelpers::EmbedParameters::maxIterations {0}

Definition at line 123 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ numThreads

int RDKit::DGeomHelpers::EmbedParameters::numThreads {1}

Definition at line 124 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ numZeroFail

unsigned int RDKit::DGeomHelpers::EmbedParameters::numZeroFail {1}

Definition at line 130 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ onlyHeavyAtomsForRMS

bool RDKit::DGeomHelpers::EmbedParameters::onlyHeavyAtomsForRMS {true}

Definition at line 140 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ optimizerForceTol

double RDKit::DGeomHelpers::EmbedParameters::optimizerForceTol {1e-3}

Definition at line 132 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ pruneRmsThresh

double RDKit::DGeomHelpers::EmbedParameters::pruneRmsThresh {-1.0}

Definition at line 139 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ randNegEig

bool RDKit::DGeomHelpers::EmbedParameters::randNegEig {true}

Definition at line 129 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ randomSeed

int RDKit::DGeomHelpers::EmbedParameters::randomSeed {-1}

Definition at line 125 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ symmetrizeConjugatedTerminalGroupsForPruning

bool RDKit::DGeomHelpers::EmbedParameters::symmetrizeConjugatedTerminalGroupsForPruning {true}

Definition at line 156 of file Embedder.h.

## ◆ timeout

unsigned int RDKit::DGeomHelpers::EmbedParameters::timeout {0}

Definition at line 147 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ trackFailures

bool RDKit::DGeomHelpers::EmbedParameters::trackFailures {false}

Definition at line 153 of file Embedder.h.

## ◆ useBasicKnowledge

bool RDKit::DGeomHelpers::EmbedParameters::useBasicKnowledge {false}

Definition at line 136 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ useExpTorsionAnglePrefs

bool RDKit::DGeomHelpers::EmbedParameters::useExpTorsionAnglePrefs {false}

Definition at line 135 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ useMacrocycle14config

bool RDKit::DGeomHelpers::EmbedParameters::useMacrocycle14config {false}

Definition at line 146 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ useMacrocycleTorsions

bool RDKit::DGeomHelpers::EmbedParameters::useMacrocycleTorsions {false}

Definition at line 145 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ useRandomCoords

bool RDKit::DGeomHelpers::EmbedParameters::useRandomCoords {false}

Definition at line 127 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ useSmallRingTorsions

bool RDKit::DGeomHelpers::EmbedParameters::useSmallRingTorsions {false}

Definition at line 144 of file Embedder.h.

Referenced by EmbedParameters().

## ◆ useSymmetryForPruning

bool RDKit::DGeomHelpers::EmbedParameters::useSymmetryForPruning {true}

Definition at line 151 of file Embedder.h.

## ◆ verbose

bool RDKit::DGeomHelpers::EmbedParameters::verbose {false}

Definition at line 137 of file Embedder.h.

Referenced by EmbedParameters().

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

- Embedder.h