RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
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, 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 {1}
 
boost::shared_ptr< const DistGeom::BoundsMatrixboundsMat
 
bool embedFragmentsSeparately {true}
 
bool useSmallRingTorsions {false}
 
bool useMacrocycleTorsions {false}
 
bool useMacrocycle14config {false}
 
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 intfailures
 
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 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 120 of file Embedder.h.

Constructor & Destructor Documentation

◆ EmbedParameters() [1/2]

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

Definition at line 155 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 = 2,
const DistGeom::BoundsMatrix boundsMat = nullptr,
bool  embedFragmentsSeparately = true,
bool  useSmallRingTorsions = false,
bool  useMacrocycleTorsions = false,
bool  useMacrocycle14config = false,
std::shared_ptr< std::map< std::pair< unsigned int, unsigned int >, double > >  CPCI = nullptr,
void(*)(unsigned int callback = nullptr 
)
inline

Definition at line 156 of file Embedder.h.

Member Data Documentation

◆ basinThresh

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

Definition at line 136 of file Embedder.h.

◆ boundsMat

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

Definition at line 140 of file Embedder.h.

◆ boundsMatForceScaling

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

Definition at line 149 of file Embedder.h.

◆ boxSizeMult

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

Definition at line 126 of file Embedder.h.

◆ callback

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

Definition at line 146 of file Embedder.h.

◆ clearConfs

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

Definition at line 124 of file Embedder.h.

◆ coordMap

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

Definition at line 129 of file Embedder.h.

◆ CPCI

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

Definition at line 145 of file Embedder.h.

◆ embedFragmentsSeparately

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

Definition at line 141 of file Embedder.h.

◆ enableSequentialRandomSeeds

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

Definition at line 152 of file Embedder.h.

◆ enforceChirality

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

Definition at line 132 of file Embedder.h.

◆ ETversion

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

Definition at line 139 of file Embedder.h.

◆ failures

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

Definition at line 151 of file Embedder.h.

◆ forceTransAmides

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

Definition at line 147 of file Embedder.h.

◆ ignoreSmoothingFailures

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

Definition at line 131 of file Embedder.h.

◆ maxIterations

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

Definition at line 121 of file Embedder.h.

◆ numThreads

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

Definition at line 122 of file Embedder.h.

◆ numZeroFail

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

Definition at line 128 of file Embedder.h.

◆ onlyHeavyAtomsForRMS

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

Definition at line 138 of file Embedder.h.

◆ optimizerForceTol

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

Definition at line 130 of file Embedder.h.

◆ pruneRmsThresh

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

Definition at line 137 of file Embedder.h.

◆ randNegEig

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

Definition at line 127 of file Embedder.h.

◆ randomSeed

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

Definition at line 123 of file Embedder.h.

◆ symmetrizeConjugatedTerminalGroupsForPruning

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

Definition at line 153 of file Embedder.h.

◆ trackFailures

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

Definition at line 150 of file Embedder.h.

◆ useBasicKnowledge

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

Definition at line 134 of file Embedder.h.

◆ useExpTorsionAnglePrefs

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

Definition at line 133 of file Embedder.h.

◆ useMacrocycle14config

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

Definition at line 144 of file Embedder.h.

◆ useMacrocycleTorsions

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

Definition at line 143 of file Embedder.h.

◆ useRandomCoords

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

Definition at line 125 of file Embedder.h.

◆ useSmallRingTorsions

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

Definition at line 142 of file Embedder.h.

◆ useSymmetryForPruning

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

Definition at line 148 of file Embedder.h.

◆ verbose

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

Definition at line 135 of file Embedder.h.


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