Loading...
Searching...
No Matches
OBConformerSearch Class Reference
Conformer Searching

`#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 RotorKeys & | GetRotorKeys () 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 ConformerSearching.

Since
  2.3

Examples
  obconformersearch_default.cpp.

## Constructor & Destructor Documentation

## OBConformerSearch()

OBConformerSearch | ( |  | ) |

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

  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

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

Examples
  obconformersearch_default.cpp.

## GetConformers()

void GetConformers | ( | OBMol & | mol | ) |

Examples
  obconformersearch_default.cpp.

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

- conformersearch.h
- conformersearch.cpp