RDKit
Open-source cheminformatics and machine learning.
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=1, const DistGeom::BoundsMatrix *boundsMat=nullptr, bool embedFragmentsSeparately=true)
 

Public Attributes

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
 
boost::shared_ptr< const DistGeom::BoundsMatrixboundsMat
 
bool embedFragmentsSeparately
 

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

Definition at line 101 of file Embedder.h.

Constructor & Destructor Documentation

◆ EmbedParameters() [1/2]

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

Definition at line 123 of file Embedder.h.

◆ 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 = 1,
const DistGeom::BoundsMatrix boundsMat = nullptr,
bool  embedFragmentsSeparately = true 
)
inline

Definition at line 145 of file Embedder.h.

Member Data Documentation

◆ basinThresh

double RDKit::DGeomHelpers::EmbedParameters::basinThresh

Definition at line 117 of file Embedder.h.

◆ boundsMat

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

Definition at line 121 of file Embedder.h.

◆ boxSizeMult

double RDKit::DGeomHelpers::EmbedParameters::boxSizeMult

Definition at line 107 of file Embedder.h.

◆ clearConfs

bool RDKit::DGeomHelpers::EmbedParameters::clearConfs

Definition at line 105 of file Embedder.h.

◆ coordMap

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

Definition at line 110 of file Embedder.h.

◆ embedFragmentsSeparately

bool RDKit::DGeomHelpers::EmbedParameters::embedFragmentsSeparately

Definition at line 122 of file Embedder.h.

◆ enforceChirality

bool RDKit::DGeomHelpers::EmbedParameters::enforceChirality

Definition at line 113 of file Embedder.h.

◆ ETversion

unsigned int RDKit::DGeomHelpers::EmbedParameters::ETversion

Definition at line 120 of file Embedder.h.

◆ ignoreSmoothingFailures

bool RDKit::DGeomHelpers::EmbedParameters::ignoreSmoothingFailures

Definition at line 112 of file Embedder.h.

◆ maxIterations

unsigned int RDKit::DGeomHelpers::EmbedParameters::maxIterations

Definition at line 102 of file Embedder.h.

◆ numThreads

int RDKit::DGeomHelpers::EmbedParameters::numThreads

Definition at line 103 of file Embedder.h.

◆ numZeroFail

unsigned int RDKit::DGeomHelpers::EmbedParameters::numZeroFail

Definition at line 109 of file Embedder.h.

◆ onlyHeavyAtomsForRMS

bool RDKit::DGeomHelpers::EmbedParameters::onlyHeavyAtomsForRMS

Definition at line 119 of file Embedder.h.

◆ optimizerForceTol

double RDKit::DGeomHelpers::EmbedParameters::optimizerForceTol

Definition at line 111 of file Embedder.h.

◆ pruneRmsThresh

double RDKit::DGeomHelpers::EmbedParameters::pruneRmsThresh

Definition at line 118 of file Embedder.h.

◆ randNegEig

bool RDKit::DGeomHelpers::EmbedParameters::randNegEig

Definition at line 108 of file Embedder.h.

◆ randomSeed

int RDKit::DGeomHelpers::EmbedParameters::randomSeed

Definition at line 104 of file Embedder.h.

◆ useBasicKnowledge

bool RDKit::DGeomHelpers::EmbedParameters::useBasicKnowledge

Definition at line 115 of file Embedder.h.

◆ useExpTorsionAnglePrefs

bool RDKit::DGeomHelpers::EmbedParameters::useExpTorsionAnglePrefs

Definition at line 114 of file Embedder.h.

◆ useRandomCoords

bool RDKit::DGeomHelpers::EmbedParameters::useRandomCoords

Definition at line 106 of file Embedder.h.

◆ verbose

bool RDKit::DGeomHelpers::EmbedParameters::verbose

Definition at line 116 of file Embedder.h.


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