OETorsionScanOptions¶
class OETorsionScanOptions : public OESystem::OEOptions
This class represents OETorsionScanOptions.
See also
OETorsionScanResult class
OETorsionScan
function
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.
GetUseInternalCoord¶
bool GetUseInternalCoord() const
Returns true
if SetUseInternalCoord
is set to using 3N-5 internal coordinates for optimization while the torsion selected for scanning
is fixed.
GetSolvationType¶
unsigned int GetSolvationType() const
Returns the type of solvation model used for torsion scan, see OETorsionScanOptions.SetSolvationType
for more details.
GetUserDefinedAngles¶
std::vector<double> GetUserDefinedAngles() const
Returns vector of user defined dihedral angles for which torsion scan will be done.
GetUseSinglePointPB¶
bool GetUseSinglePointPB() const
Returns true
if the OETorsionScanOptions.SetUseSinglePointPB
is set to correcting the
torsion scan with a PB solvation energy.
GetNumStarts¶
unsigned GetNumStarts() const
Returns the number of starts for the torsion scan. See OETorsionScanOptions.SetNumStarts
for
more details
GetOverlapDiv¶
unsigned GetOverlapDiv() const
Returns 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
and 60.0
degrees respectively. The default value
is 5.0
degrees. When the given value of delta
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
are
OEForceFieldType_MMFF94S
(default),
OEForceFieldType_MMFF94
,
OEForceFieldType_SMIRNOFF99FROSST
,
OEForceFieldType_PARSLEY_OPENFF100
,
OEForceFieldType_PARSLEY_OPENFF111
,
OEForceFieldType_PARSLEY_OPENFF121
,
OEForceFieldType_PARSLEY_OPENFF131
,
OEForceFieldType_SAGE_OPENFF200
, and
OEForceFieldType_SAGE_OPENFF210
Method returns false
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) and
OESolventModel_Sheffield
(aqueous solution, default).
Method returns false
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 returns false
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. Wnen the parameter
useInt
is set to true
, 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
(see OETorsionScanOptions.SetSolvationType
). Method returns
false
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 setting OETorsionScanOptions.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 is 4
). For example with the default values of 2 starts, scans would be performed
from 0->180
, 0->-180
, 180->360
, and 180->0
. The 180
degree remainder (if a full scan would
have been done) is instead divided by 4
, which equals 45
degrees, which is then added to each
scan to ensure overlaps of the curves. The resulting scan will look like 0->225
, 0->-225
,
180->45
(through 360
), and 180->-45
. The larger the overlap divisor the smaller
the overlaps between curves.
This setting is not compatible with setting OETorsionScanOptions.SetUserDefinedAngles
,
and will be ignored in case user defined angles are supplied.