#include <openbabel/conformersearch.h>
Conformer searching using genetic algorithm. See Conformer Searching.
- Since
- 2.3
- Examples:
- obconformersearch_default.cpp.
◆ OBConformerSearch()
◆ ~OBConformerSearch()
◆ Setup()
bool Setup |
( |
const OBMol & |
mol, |
|
|
int |
numConformers = 30 , |
|
|
int |
numChildren = 5 , |
|
|
int |
mutability = 5 , |
|
|
int |
convergence = 25 |
|
) |
| |
Setup this instance with the specified molecule.
- Parameters
-
mol | The molecule with initial conformer. |
numConformers | The number of conformers that should be generated. This is also the number of conformers selected for each generation. |
numChildren | When a new generation is generated, for each of the numConformers conformers, numChildren children are created. |
mutability | The mutability determines how frequent a permutation occurs when generating the next generation. |
convergence | The number of identical generations before considering the process converged. |
- Examples:
- obconformersearch_default.cpp.
◆ SetNumConformers()
void SetNumConformers |
( |
int |
numConformers | ) |
|
|
inline |
Set the number of conformers.
◆ SetNumChildren()
void SetNumChildren |
( |
int |
numChildren | ) |
|
|
inline |
Set the number of children generated for each parent.
◆ SetMutability()
void SetMutability |
( |
int |
mutability | ) |
|
|
inline |
◆ SetConvergence()
void SetConvergence |
( |
int |
convergence | ) |
|
|
inline |
Set the convergence (i.e. number of generations that did not change the score before considering the iteration converged).
◆ SetFixedBonds()
void SetFixedBonds |
( |
const OBBitVec & |
fixedBonds | ) |
|
|
inline |
Set the bonds to be fixed.
◆ SetFilter()
Set the filter method used to check if a newly generated is acceptable. Typical examples are a steric filter or electrostatic energy filter. The filters make a binary selection and one group will be scored in the next step. A number of filters are provided by default but implementing a custom filter is easy.
There is also a OBConformerFilters class to make it easy to use multiple filters.
◆ SetScore()
All acceptable conformers are scored to select the fittest conformers from the population. A higher score means the conformer is desired in the final set or next generation. Typical scoring would be force field energy to find the lowest energy conformer. Another example is the highest RMSD between conformer i and the closest conformer to create a diverse set of conformers. Diversity could also be expressed in other ways and implementing a scoring class is easy.
◆ PrintRotors()
void PrintRotors |
( |
bool |
printrotors | ) |
|
|
inline |
Set whether or not you want rotors to be printed prior to the conformer search.
◆ Search()
◆ GetRotorKeys()
◆ GetConformers()
void GetConformers |
( |
OBMol & |
mol | ) |
|
◆ SetLogStream()
void SetLogStream |
( |
std::ostream * |
sptr | ) |
|
|
inline |
◆ SetSharing()
void SetSharing |
( |
bool |
value = true | ) |
|
|
inline |
◆ GetNbNiches()
◆ SetNbNiches()
void SetNbNiches |
( |
int |
value | ) |
|
|
inline |
◆ GetNicheRadius()
double GetNicheRadius |
( |
| ) |
|
|
inline |
◆ SetNicheRadius()
void SetNicheRadius |
( |
double |
value | ) |
|
|
inline |
◆ GetAlphaSharing()
double GetAlphaSharing |
( |
| ) |
|
|
inline |
◆ SetAlphaSharing()
void SetAlphaSharing |
( |
double |
value | ) |
|
|
inline |
◆ GetSigmaSharing()
double GetSigmaSharing |
( |
| ) |
|
|
inline |
◆ SetSigmaSharing()
void SetSigmaSharing |
( |
double |
value | ) |
|
|
inline |
◆ GetCrossoverProbability()
double GetCrossoverProbability |
( |
| ) |
|
|
inline |
◆ SetCrossoverProbability()
void SetCrossoverProbability |
( |
double |
value | ) |
|
|
inline |
◆ GetNicheMating()
double GetNicheMating |
( |
| ) |
|
|
inline |
◆ SetNicheMating()
void SetNicheMating |
( |
double |
value | ) |
|
|
inline |
◆ SetLocalOptRate() [1/2]
void SetLocalOptRate |
( |
int |
value | ) |
|
|
inline |
◆ SetLocalOptRate() [2/2]
The documentation for this class was generated from the following files: