Open Babel: OBConformerSearch Class Reference

Public Member Functions

# 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 RotorKeys & | GetRotorKeys () const
void | GetConformers (OBMol &mol)

## 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

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.

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.

Examples:
  obconformersearch_default.cpp.

const RotorKeys& GetRotorKeys | ( | ) | const`[inline]`

Examples:
  obconformersearch_default.cpp.

void GetConformers | ( | OBMol & | mol ) |

Examples:
  obconformersearch_default.cpp.

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

- conformersearch.h
- conformersearch.cpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines