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.
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.
GetOverlayRMS
bool GetOverlayRMS() const
See SetOverlayRMS 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 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 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.
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 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.