OESliceEnsembleOptions

class OESliceEnsembleOptions : public OESystem::OEOptions

This class provides an interface to setup options required for reducing a molecule conformer ensemble, by removing duplicates and high energy conformers.

The OESliceEnsembleOptions allows multiple ways to set-up the desired settings for each parameter for slicing up an ensemble. There are three (3) main control parameters: EnergyWindow, RMSThreshold, and MaxConfs. The default usage is to use the same control settings for slicing all molecule ensembles. However, for each of the three parameters, there is also a possibility to set the parameter settings to be a variable based on the number of rotatable bonds in the molecule. The variable settings can be applied by using the range based API points.

Here we describe how to use the range based settings for MaxConfs, however, the same applies to EnergyWindow and RMSThreshold as well. A MaxConfs setting of 100,200,300 with SetMaxConfRange along with a value of 5 for the RangeIncrement set with SetRangeIncrement would use a MaxConfs value of 100 for molecule with number of rotatable bonds between 0-4, that of 200 for molecule with number of rotatable bonds between 5-9, and 300 for molecule with number of rotatable bonds of 10 or higher.

See also

The OESliceEnsembleOptions class defines the following public methods:

Constructors

OESliceEnsembleOptions()
OESliceEnsembleOptions(const OESliceEnsembleOptions &)

Default and copy constructors.

operator=

OESliceEnsembleOptions &operator=(const OESliceEnsembleOptions &)

Assignment operator.

GetEnergyWindow

double GetEnergyWindow() const
double GetEnergyWindow(const unsigned numRotors) const

See SetEnergyWindow method. The second variation of the method returns the value of the energy window that is in effect for a given molecule with specified number of rotors.

GetEnergyRange

std::vector<double> GetEnergyRange() const

See SetEnergyRange method.

GetMaxConfs

unsigned GetMaxConfs() const
unsigned GetMaxConfs(const unsigned numRotors) const

See SetMaxConfs method. The second variation of the method returns the value of maximum conformers that is in effect for a given molecule with specified number of rotors.

GetMaxConfRange

std::vector<unsigned int> GetMaxConfRange() const

See SetMaxConfRange method.

GetMaxTerminalHeavy

unsigned GetMaxTerminalHeavy() const

See SetMaxConfRange method.

GetRangeIncrement

unsigned int GetRangeIncrement() const

See SetRangeIncrement method.

GetRMSThreshold

double GetRMSThreshold() const
double GetRMSThreshold(const unsigned numRotors) const

See SetRMSThreshold method. The second variation of the method returns the value of RMS threshold that is in effect for a given molecule with specified number of rotors.

GetRMSRange

std::vector<double> GetRMSRange() const

See SetRMSRange method.

SetEnergyWindow

void SetEnergyWindow(const double)

Sets the maximum allowable energy difference between the lowest and the highest energy conformers, in units of kcal/mol. Default: 10.0 kcal/mol.

SetEnergyRange

bool SetEnergyRange(const std::vector<double>&)
bool SetEnergyRange(const std::string&)

Sets the energy range that allows to define a varying EnergyWindow energy window in conjunction with the RangeIncrement. Defining the range overrides the singly defined energy window value. The string version of the overload expects a comma separated string.

SetMaxConfs

void SetMaxConfs(const unsigned int)

Sets the maximum number of conformers to be kept. Default: 200.

SetMaxConfRange

bool SetMaxConfRange(const std::vector<unsigned>&)
bool SetMaxConfRange(const std::string&);

Sets the maximum number of conformers range that allows to define a varying number of MaxConfs in conjunction with the RangeIncrement. Defining the range overrides the singly defined max confs value. The string version of the overload expects a comma separated string.

SetMaxTerminalHeavy

void SetMaxTerminalHeavy(const unsigned int)

Sets the maximum number of terminal heavy atoms that should be allowed in calculating RMSD between conformers. If the number of terminal heavy atoms in the molecule exceeds the specified limit, all terminal heavy atoms are ignored in RMSD calculation. If the number is set to 0, this value is treated as not set. Default: 0.

SetRangeIncrement

bool SetRangeIncrement(const unsigned)

Sets the number of rotatable bonds range to be used when the OESliceEnsembleOptions.SetEnergyRange, OESliceEnsembleOptions.SetRMSRange, and OESliceEnsembleOptions.SetMaxConfRange are defines in terms of ranges. Default: 5.

SetRMSRange

bool SetRMSRange(const std::vector<double>&)
bool SetRMSRange(const std::string&)

Sets the RMS range that allows to define a varying RMSThreshold in conjunction with the RangeIncrement. Defining the range overrides the singly defined RMS threshold value. The string version of the overload expects a comma separated string.

SetRMSThreshold

bool SetRMSThreshold(const double)

Sets the RMS threshold (Root Mean Square Cartesian distance) below which two conformers are treated as duplicates. Default: 0.5.