12 #ifndef RD_EMBEDDER_H_GUARD
13 #define RD_EMBEDDER_H_GUARD
18 #include <boost/shared_ptr.hpp>
22 namespace DGeomHelpers {
121 boost::shared_ptr<const DistGeom::BoundsMatrix>
boundsMat;
128 useRandomCoords(false),
133 optimizerForceTol(1e-3),
134 ignoreSmoothingFailures(false),
135 enforceChirality(true),
136 useExpTorsionAnglePrefs(false),
137 useBasicKnowledge(false),
140 pruneRmsThresh(-1.0),
141 onlyHeavyAtomsForRMS(false),
144 embedFragmentsSeparately(true){};
146 bool clearConfs,
bool useRandomCoords,
double boxSizeMult,
147 bool randNegEig,
unsigned int numZeroFail,
148 const std::map<int, RDGeom::Point3D> *coordMap,
149 double optimizerForceTol,
bool ignoreSmoothingFailures,
150 bool enforceChirality,
bool useExpTorsionAnglePrefs,
151 bool useBasicKnowledge,
bool verbose,
double basinThresh,
152 double pruneRmsThresh,
bool onlyHeavyAtomsForRMS,
153 unsigned int ETversion = 1,
155 bool embedFragmentsSeparately =
true)
156 : maxIterations(maxIterations),
157 numThreads(numThreads),
158 randomSeed(randomSeed),
159 clearConfs(clearConfs),
160 useRandomCoords(useRandomCoords),
161 boxSizeMult(boxSizeMult),
162 randNegEig(randNegEig),
163 numZeroFail(numZeroFail),
165 optimizerForceTol(optimizerForceTol),
166 ignoreSmoothingFailures(ignoreSmoothingFailures),
167 enforceChirality(enforceChirality),
168 useExpTorsionAnglePrefs(useExpTorsionAnglePrefs),
169 useBasicKnowledge(useBasicKnowledge),
171 basinThresh(basinThresh),
172 pruneRmsThresh(pruneRmsThresh),
173 onlyHeavyAtomsForRMS(onlyHeavyAtomsForRMS),
174 ETversion(ETversion),
175 boundsMat(boundsMat),
176 embedFragmentsSeparately(embedFragmentsSeparately){};
182 const EmbedParameters ¶ms);
197 if (confIds.size()) {
274 int seed = -1,
bool clearConfs =
true,
275 bool useRandomCoords =
false,
double boxSizeMult = 2.0,
276 bool randNegEig =
true,
unsigned int numZeroFail = 1,
277 const std::map<int, RDGeom::Point3D> *coordMap = 0,
278 double optimizerForceTol = 1e-3,
279 bool ignoreSmoothingFailures =
false,
280 bool enforceChirality =
true,
281 bool useExpTorsionAnglePrefs =
false,
282 bool useBasicKnowledge =
false,
bool verbose =
false,
283 double basinThresh = 5.0,
284 bool onlyHeavyAtomsForRMS =
false) {
286 maxIterations, 1, seed, clearConfs, useRandomCoords, boxSizeMult,
287 randNegEig, numZeroFail, coordMap, optimizerForceTol,
288 ignoreSmoothingFailures, enforceChirality, useExpTorsionAnglePrefs,
289 useBasicKnowledge, verbose, basinThresh, -1.0, onlyHeavyAtomsForRMS);
366 ROMol &mol,
INT_VECT &res,
unsigned int numConfs = 10,
int numThreads = 1,
367 unsigned int maxIterations = 30,
int seed = -1,
bool clearConfs =
true,
368 bool useRandomCoords =
false,
double boxSizeMult = 2.0,
369 bool randNegEig =
true,
unsigned int numZeroFail = 1,
370 double pruneRmsThresh = -1.0,
371 const std::map<int, RDGeom::Point3D> *coordMap = 0,
372 double optimizerForceTol = 1e-3,
bool ignoreSmoothingFailures =
false,
373 bool enforceChirality =
true,
bool useExpTorsionAnglePrefs =
false,
374 bool useBasicKnowledge =
false,
bool verbose =
false,
375 double basinThresh = 5.0,
bool onlyHeavyAtomsForRMS =
false) {
377 useRandomCoords, boxSizeMult, randNegEig, numZeroFail,
378 coordMap, optimizerForceTol, ignoreSmoothingFailures,
379 enforceChirality, useExpTorsionAnglePrefs,
380 useBasicKnowledge, verbose, basinThresh,
381 pruneRmsThresh, onlyHeavyAtomsForRMS);
386 ROMol &mol,
unsigned int numConfs = 10,
unsigned int maxIterations = 30,
387 int seed = -1,
bool clearConfs =
true,
bool useRandomCoords =
false,
388 double boxSizeMult = 2.0,
bool randNegEig =
true,
389 unsigned int numZeroFail = 1,
double pruneRmsThresh = -1.0,
390 const std::map<int, RDGeom::Point3D> *coordMap = 0,
391 double optimizerForceTol = 1e-3,
bool ignoreSmoothingFailures =
false,
392 bool enforceChirality =
true,
bool useExpTorsionAnglePrefs =
false,
393 bool useBasicKnowledge =
false,
bool verbose =
false,
394 double basinThresh = 5.0,
bool onlyHeavyAtomsForRMS =
false) {
395 EmbedParameters params(maxIterations, 1, seed, clearConfs, useRandomCoords,
396 boxSizeMult, randNegEig, numZeroFail, coordMap,
397 optimizerForceTol, ignoreSmoothingFailures,
398 enforceChirality, useExpTorsionAnglePrefs,
399 useBasicKnowledge, verbose, basinThresh,
400 pruneRmsThresh, onlyHeavyAtomsForRMS);