OBConformerSearch Class Reference
[Conformer Searching]

Conformer searching using genetic algorithm. See Conformer Searching. More...

#include <openbabel/conformersearch.h>

List of all members.

Public Member Functions

 OBConformerSearch ()
 ~OBConformerSearch ()
bool Setup (const OBMol &mol, int numConformers=30, int numChildren=5, int mutability=5, int convergence=25)
void SetNumConformers (int numConformers)
void SetNumChildren (int numChildren)
void SetMutability (int mutability)
void SetConvergence (int convergence)
void SetFixedBonds (const OBBitVec &fixedBonds)
void SetFilter (OBConformerFilter *filter)
void SetScore (OBConformerScore *score)
void Search ()
const RotorKeysGetRotorKeys () const
void GetConformers (OBMol &mol)

Detailed Description

Conformer searching using genetic algorithm. See Conformer Searching.



Constructor & Destructor Documentation

Member Function Documentation

bool Setup ( const OBMol mol,
int  numConformers = 30,
int  numChildren = 5,
int  mutability = 5,
int  convergence = 25 

Setup this instance with the specified molecule.

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.
void SetNumConformers ( int  numConformers  )  [inline]

Set the number of conformers.

void SetNumChildren ( int  numChildren  )  [inline]

Set the number of children generated for each parent.

void SetMutability ( int  mutability  )  [inline]

Set the mutability.

void SetConvergence ( int  convergence  )  [inline]

Set the convergence (i.e. number of generations that did not change the score before considering the iteration converged).

void SetFixedBonds ( const OBBitVec fixedBonds  )  [inline]

Set the bonds to be fixed.

void SetFilter ( OBConformerFilter filter  )  [inline]

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.

void SetScore ( OBConformerScore score  )  [inline]

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.

void Search (  ) 

Perform conformer search using a genetic algorithm.

const RotorKeys& GetRotorKeys (  )  const [inline]
void GetConformers ( OBMol mol  ) 

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines