11 #ifndef RD_EMBEDDER_H_GUARD 12 #define RD_EMBEDDER_H_GUARD 19 namespace DGeomHelpers {
102 int EmbedMolecule(ROMol &mol,
unsigned int maxIterations = 0,
int seed = -1,
103 bool clearConfs =
true,
bool useRandomCoords =
false,
104 double boxSizeMult = 2.0,
bool randNegEig =
true,
105 unsigned int numZeroFail = 1,
106 const std::map<int, RDGeom::Point3D> *coordMap = 0,
107 double optimizerForceTol = 1e-3,
108 bool ignoreSmoothingFailures =
false,
109 bool enforceChirality =
true,
110 bool useExpTorsionAnglePrefs =
false,
111 bool useBasicKnowledge =
false,
bool verbose =
false,
112 double basinThresh = 5.0,
bool onlyHeavyAtomsForRMS =
false);
205 ROMol &mol,
INT_VECT &res,
unsigned int numConfs = 10,
int numThreads = 1,
206 unsigned int maxIterations = 30,
int seed = -1,
bool clearConfs =
true,
207 bool useRandomCoords =
false,
double boxSizeMult = 2.0,
208 bool randNegEig =
true,
unsigned int numZeroFail = 1,
209 double pruneRmsThresh = -1.0,
210 const std::map<int, RDGeom::Point3D> *coordMap = 0,
211 double optimizerForceTol = 1e-3,
bool ignoreSmoothingFailures =
false,
212 bool enforceChirality =
true,
bool useExpTorsionAnglePrefs =
false,
213 bool useBasicKnowledge =
false,
bool verbose =
false,
214 double basinThresh = 5.0,
bool onlyHeavyAtomsForRMS =
false);
217 ROMol &mol,
unsigned int numConfs = 10,
unsigned int maxIterations = 30,
218 int seed = -1,
bool clearConfs =
true,
bool useRandomCoords =
false,
219 double boxSizeMult = 2.0,
bool randNegEig =
true,
220 unsigned int numZeroFail = 1,
double pruneRmsThresh = -1.0,
221 const std::map<int, RDGeom::Point3D> *coordMap = 0,
222 double optimizerForceTol = 1e-3,
bool ignoreSmoothingFailures =
false,
223 bool enforceChirality =
true,
bool useExpTorsionAnglePrefs =
false,
224 bool useBasicKnowledge =
false,
bool verbose =
false,
225 double basinThresh = 5.0,
bool onlyHeavyAtomsForRMS =
false);
326 useRandomCoords(false),
331 optimizerForceTol(1e-3),
332 ignoreSmoothingFailures(false),
333 enforceChirality(true),
334 useExpTorsionAnglePrefs(false),
335 useBasicKnowledge(false),
338 pruneRmsThresh(-1.0),
339 onlyHeavyAtomsForRMS(false){};
341 bool clearConfs,
bool useRandomCoords,
double boxSizeMult,
342 bool randNegEig,
unsigned int numZeroFail,
343 const std::map<int, RDGeom::Point3D> *coordMap,
344 double optimizerForceTol,
bool ignoreSmoothingFailures,
345 bool enforceChirality,
bool useExpTorsionAnglePrefs,
346 bool useBasicKnowledge,
bool verbose,
double basinThresh,
347 double pruneRmsThresh,
bool onlyHeavyAtomsForRMS)
348 : maxIterations(maxIterations),
349 numThreads(numThreads),
350 randomSeed(randomSeed),
351 clearConfs(clearConfs),
352 useRandomCoords(useRandomCoords),
353 boxSizeMult(boxSizeMult),
354 randNegEig(randNegEig),
355 numZeroFail(numZeroFail),
357 optimizerForceTol(optimizerForceTol),
358 ignoreSmoothingFailures(ignoreSmoothingFailures),
359 enforceChirality(enforceChirality),
360 useExpTorsionAnglePrefs(useExpTorsionAnglePrefs),
361 useBasicKnowledge(useBasicKnowledge),
363 basinThresh(basinThresh),
364 pruneRmsThresh(pruneRmsThresh),
365 onlyHeavyAtomsForRMS(onlyHeavyAtomsForRMS){};
bool onlyHeavyAtomsForRMS
const EmbedParameters ETDG
Parameters corresponding to Sereina Riniker's ETDG approach.
const EmbedParameters KDG
Parameters corresponding to Sereina Riniker's KDG approach.
Defines the primary molecule class ROMol as well as associated typedefs.
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)
const std::map< int, RDGeom::Point3D > * coordMap
bool ignoreSmoothingFailures
ROMol is a molecule class that is intended to have a fixed topology.
void EmbedMultipleConfs(ROMol &mol, INT_VECT &res, unsigned int numConfs=10, int numThreads=1, unsigned int maxIterations=30, int seed=-1, bool clearConfs=true, bool useRandomCoords=false, double boxSizeMult=2.0, bool randNegEig=true, unsigned int numZeroFail=1, double pruneRmsThresh=-1.0, const std::map< int, RDGeom::Point3D > *coordMap=0, double optimizerForceTol=1e-3, bool ignoreSmoothingFailures=false, bool enforceChirality=true, bool useExpTorsionAnglePrefs=false, bool useBasicKnowledge=false, bool verbose=false, double basinThresh=5.0, bool onlyHeavyAtomsForRMS=false)
Parameter object for controlling embedding.
std::vector< int > INT_VECT
unsigned int maxIterations
int EmbedMolecule(ROMol &mol, unsigned int maxIterations=0, int seed=-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=0, double optimizerForceTol=1e-3, bool ignoreSmoothingFailures=false, bool enforceChirality=true, bool useExpTorsionAnglePrefs=false, bool useBasicKnowledge=false, bool verbose=false, double basinThresh=5.0, bool onlyHeavyAtomsForRMS=false)
Compute an embedding (in 3D) for the specified molecule using Distance.
const EmbedParameters ETKDG
Parameters corresponding to Sereina Riniker's ETKDG approach.
bool useExpTorsionAnglePrefs