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
OETorDriver class
- The OESliceEnsembleOptions class defines the following public methods:
Constructors¶
OESliceEnsembleOptions()
OESliceEnsembleOptions(const OESliceEnsembleOptions &)
Default and copy constructors.
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.
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.
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.
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.