Open Babel  3.0
Public Member Functions | List of all members
OBConformerSearch Class Reference

#include <openbabel/conformersearch.h>

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 PrintRotors (bool printrotors)
 
void Search ()
 
const RotorKeysGetRotorKeys () const
 
void GetConformers (OBMol &mol)
 
void SetLogStream (std::ostream *sptr)
 
void SetSharing (bool value=true)
 
int GetNbNiches ()
 
void SetNbNiches (int value)
 
double GetNicheRadius ()
 
void SetNicheRadius (double value)
 
double GetAlphaSharing ()
 
void SetAlphaSharing (double value)
 
double GetSigmaSharing ()
 
void SetSigmaSharing (double value)
 
double GetCrossoverProbability ()
 
void SetCrossoverProbability (double value)
 
double GetNicheMating ()
 
void SetNicheMating (double value)
 
void SetLocalOptRate (int value)
 
int SetLocalOptRate ()
 

Detailed Description

Conformer searching using genetic algorithm. See Conformer Searching.

Since
2.3
Examples:
obconformersearch_default.cpp.

Constructor & Destructor Documentation

◆ OBConformerSearch()

◆ ~OBConformerSearch()

Member Function Documentation

◆ 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
molThe molecule with initial conformer.
numConformersThe number of conformers that should be generated. This is also the number of conformers selected for each generation.
numChildrenWhen a new generation is generated, for each of the numConformers conformers, numChildren children are created.
mutabilityThe mutability determines how frequent a permutation occurs when generating the next generation.
convergenceThe 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

Set the mutability.

◆ 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()

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.

◆ SetScore()

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.

◆ PrintRotors()

void PrintRotors ( bool  printrotors)
inline

Set whether or not you want rotors to be printed prior to the conformer search.

◆ Search()

void Search ( )

Perform conformer search using a genetic algorithm.

Examples:
obconformersearch_default.cpp.

◆ GetRotorKeys()

const RotorKeys& GetRotorKeys ( ) const
inline

◆ GetConformers()

void GetConformers ( OBMol mol)

◆ SetLogStream()

void SetLogStream ( std::ostream *  sptr)
inline

◆ SetSharing()

void SetSharing ( bool  value = true)
inline

◆ GetNbNiches()

int GetNbNiches ( )
inline

◆ 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]

int SetLocalOptRate ( )
inline

The documentation for this class was generated from the following files: