OETorsionScanOptions
class OETorsionScanOptions : public OELigandChargeOptions
This class represents OETorsionScanOptions.
See also
OETorsionScanResult class
OETorsionScanfunction
- The following methods are publicly inherited from OELigandChargeOptions:
- The OETorsionScanOptions class defines the following public methods:
GetMaxIterandSetMaxIter
Constructors
OETorsionScanOptions()
OETorsionScanOptions(const OETorsionScanOptions &)
Default and copy constructors.
operator=
OETorsionScanOptions &operator=(const OETorsionScanOptions &)
Assignment operator.
GetDelta
double GetDelta() const
Returns the value of dihedral angle increase (in degrees).
GetForceField
const OEMolPotential::OEGenericFF2* GetForceField() const
Returns pointer to the user defined force field.
GetForceFieldType
unsigned int GetForceFieldType() const
Returns the type of force field defined.
GetMaxIter
unsigned GetMaxIter() const
Returns the number of maximum iterations during optimization.
GetPenaltyForceConstant
double GetPenaltyForceConstant() const
Returns force constant for the dihedral angle constraint used for torsion scan.
GetSolvationType
unsigned int GetSolvationType() const
Returns the type of solvation model used for torsion scan, see OETorsionScanOptions::SetSolvationType
for more details.
GetTolerance
double GetTolerance() const
Returns the tolerance during optimization.
GetUseInternalCoord
bool GetUseInternalCoord() const
Returns true if SetUseInternalCoord
is set to using internal coordinates for optimization while the torsion selected for scanning
is fixed.
GetUserDefinedAngles
std::vector<double> GetUserDefinedAngles() const
Returns vector of user defined dihedral angles for which torsion scan will be done.
GetUseSinglePointPB
bool GetUseSinglePointPB() constReturns
trueif theOETorsionScanOptions::SetUseSinglePointPBis set to correcting the torsion scan with a PB solvation energy.
GetNumStarts
unsigned GetNumStarts() constReturns the number of starts for the torsion scan. See
OETorsionScanOptions::SetNumStartsfor more details
GetOverlapDiv
unsigned GetOverlapDiv() constReturns the divisor used for determining the size of the overlaps between starts. See
OETorsionScanOptions::SetOverlapDivfor more details.
SetDelta
bool SetDelta(double delta)Determines the number of points in that is \((360.0/delta+1)\) in the \([0.0^{\circ}, 360.0^{\circ}]\) range for the scan. Minimum and maximum values are
0.1and60.0degrees respectively. The default value is5.0degrees. When the given value ofdeltais outside the range,falseis returned.
SetForceField
bool SetForceField(OEMolPotential::OEGenericFF2& user_ff)Sets user defined force field which will be used for torsion scan.
SetForceFieldType
bool SetForceFieldType(unsigned int type)Selects the force field for the scan. The allowed values for parameter
typeareOEForceFieldType::MMFF94S(default),OEForceFieldType::MMFF94,OEForceFieldType::SMIRNOFF99FROSST,OEForceFieldType::PARSLEY_OPENFF100,OEForceFieldType::PARSLEY_OPENFF111,OEForceFieldType::PARSLEY_OPENFF121,OEForceFieldType::PARSLEY_OPENFF131,OEForceFieldType::SAGE_OPENFF200, andOEForceFieldType::SAGE_OPENFF210Method returnsfalseif other than the above values are passed.
SetMaxIter
bool GetMaxIter(const unsigned)Sets the number of maximum iterations for optimization.
SetSolvationType
bool SetSolvationType(unsigned int type)Selects the solvation model used for the scan. The allowed values of
typeare:OESolventModel::NoSolv(vacuum) andOESolventModel::Sheffield(aqueous solution, default). Method returnsfalseif invalid solvation model is passed.
SetPenaltyForceConstant
bool SetPenaltyForceConstant(double pfc)Overwrites a default value (
1e4) for force constant in dihedral angle constraint used for torsion scan. Although for most molecules a default value works fine, in some cases a molecular torsion might be overconstrained or underconstrained. This method allows to avoid those two extremes. Method returnsfalseif invalid value of force constant is passed.
SetTolerance
bool SetTolerance(const double)Sets the tolerance limit for optimization.
SetUseInternalCoord
bool SetUseInternalCoord(bool useInt)Overwrites a default method for torsion scan, which applies a large enough penalty force to keep the value of the dihedral angle constant during optimization. When the parameter
useIntis set totrue, optimization is performed in 3N-5 internal coordinates while the selected torsion for which a scan is done is kept frozen.
SetUserDefinedAngles
bool SetUserDefinedAngles(const std::vector<double>& angles)Takes a vector of user selected dihedral angles (in deg) for which torsion scan will be done. Vector passed as argument should contain at least 2 values, otherwise
falseis returned.
SetUseSinglePointPB
bool SetUseSinglePointPB(bool usePB)Corrects the final scan values with a PB solvation energy, when the solvation model is set to
OESolventModel::Sheffield(seeOETorsionScanOptions::SetSolvationType). Method returnsfalseif the solvation model is not correctly set.
SetNumStarts
bool SetNumStarts(unsigned starts)Sets the number of starts for the torsion scan. The default value is
2, meaning scans will start at 0 and 180 degrees. The scans are performed both forwards and backwards. This setting is not compatible with settingOETorsionScanOptions::SetUserDefinedAngles, and will be ignored in case user defined angles are supplied.
SetOverlapDiv
bool SetOverlapDiv(unsigned overlapDiv)Sets the divisor used for determining the size of the overlaps between starts. If set to zero or one, will perform full 360 forwards and backwards scans for each start, meaning the number of starts will increase the computational cost linearly. To prevent the linear increase in cost for additional starts, the overlap divisor in combination with a number of starts
> 1, will first divide the angle space by the number of starts, then to ensure some overlap between the scanned angles will take the remaining space and divide by this value (default value is4). For example with the default values of 2 starts, scans would be performed from0->180,0->-180,180->360, and180->0. The180degree remainder (if a full scan would have been done) is instead divided by4, which equals45degrees, which is then added to each scan to ensure overlaps of the curves. The resulting scan will look like0->225,0->-225,180->45(through360), and180->-45. The larger the overlap divisor the smaller the overlaps between curves. This setting is not compatible with settingOETorsionScanOptions::SetUserDefinedAngles, and will be ignored in case user defined angles are supplied.