OETorsionScanOptions

class OETorsionScanOptions : public OESystem::OEOptions

This class represents OETorsionScanOptions.

See also

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).

GetForceFieldType

unsigned int GetForceFieldType() const

Returns the type of force field defined.

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.

GetTolerance

double GetTolerance() const

Returns the tolerance during optimization.

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.

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 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.

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. 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.