OETorsionScanOptions¶
class OETorsionScanOptions : public OELigandChargeOptions
This class represents OETorsionScanOptions.
See also
OETorsionScanResult class
OETorsionScan
function
- The following methods are publicly inherited from OELigandChargeOptions:
- The OETorsionScanOptions class defines the following public methods:
GetMaxIter
andSetMaxIter
Constructors¶
OETorsionScanOptions()
OETorsionScanOptions(const OETorsionScanOptions &)
Default and copy constructors.
GetForceField¶
const OEMolPotential::OEGenericFF2* GetForceField() const
Returns pointer to the user defined force field.
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.
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
true
if theOETorsionScanOptions.SetUseSinglePointPB
is 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.SetNumStarts
for more details
GetOverlapDiv¶
unsigned GetOverlapDiv() constReturns the divisor used for determining the size of the overlaps between starts. See
OETorsionScanOptions.SetOverlapDiv
for 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.1
and60.0
degrees respectively. The default value is5.0
degrees. When the given value ofdelta
is outside the range,false
is 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
type
areOEForceFieldType.MMFF94S
(default),OEForceFieldType.MMFF94
,OEForceFieldType.SMIRNOFF99FROSST
,OEForceFieldType.PARSLEY_OPENFF100
,OEForceFieldType.PARSLEY_OPENFF111
,OEForceFieldType.PARSLEY_OPENFF121
,OEForceFieldType.PARSLEY_OPENFF131
,OEForceFieldType.SAGE_OPENFF200
, andOEForceFieldType.SAGE_OPENFF210
Method returnsfalse
if other than the above values are passed.
SetSolvationType¶
bool SetSolvationType(unsigned int type)Selects the solvation model used for the scan. The allowed values of
type
are:OESolventModel.NoSolv
(vacuum) andOESolventModel.Sheffield
(aqueous solution, default). Method returnsfalse
if 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 returnsfalse
if invalid value of force constant is passed.
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
useInt
is 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
false
is 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 returnsfalse
if 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
. The180
degree remainder (if a full scan would have been done) is instead divided by4
, which equals45
degrees, 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.