OESliceEnsembleOptions

class OESliceEnsembleOptions : public OESystem::OEOptions

This class provides an interface to set up 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 an ensemble. There are three 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, the parameter settings can be made 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.

This describes how to use the range based settings for MaxConfs, however, the same applies to EnergyWindow and RMSThreshold. A MaxConfs setting of 100,200,300 for SetMaxConfRange along with a value of 5 for the RangeIncrement set with SetRangeIncrement would use a MaxConfs value of 100 for a molecule with a number of rotatable bonds between 0 and 4, that of 200 for a molecule with a number of rotatable bonds between 5 and 9, and 300 for a molecule with a 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.

GetEnergyWindow

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

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

GetEnergyRange

std::vector<double> GetEnergyRange() const

See the SetEnergyRange method.

GetMaxConfs

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

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

GetMaxConfRange

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

See the SetMaxConfRange method.

GetMaxTerminalHeavy

unsigned GetMaxTerminalHeavy() const

See the SetMaxConfRange method.

GetOverlayRMS

bool GetOverlayRMS() const

See the SetOverlayRMS method.

GetRangeIncrement

unsigned int GetRangeIncrement() const

See the SetRangeIncrement method.

GetRMSThreshold

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

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

GetRMSRange

std::vector<double> GetRMSRange() const

See the 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 defines 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 included in the output ensemble for each molecule. For molecules with few conformational degrees of freedom, the number of output conformers might be lower than the value set for this flag but will never exceed it. Default: 200

SetMaxConfRange

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

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

SetMaxTerminalHeavy

bool 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 the RMSD calculation. If the number is set to 0, this value is treated as not set. Default: 0

SetOverlayRMS

bool SetOverlayRMS(const bool)

Sets flag indicating if overlay should be performed for RMSD calculation between conformers. Default: True

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