OEPlaceHydrogensOptions

class OEPlaceHydrogensOptions : public OESystem::OEOptions

The OEPlaceHydrogensOptions class encapsulates properties and resources that determine how OEPlaceHydrogens functions.

Constructors

OEPlaceHydrogensOptions(bool compatibleAlts=false)
OEPlaceHydrogensOptions(const OEPlaceHydrogensOptions &rhs)

Constructor and copy constructor. The optional parameter compatibleAlts controls how alternate location codes are interpreted by OEPlaceHydrogens.

operator=

OEPlaceHydrogensOptions &operator=(const OEPlaceHydrogensOptions &rhs)

Assignment operator.

GetAddMetadata

bool GetAddMetadata() const

Returns true if metadata describing the results will be added to the molecule. The metadata is the string generated by the OEPlaceHydrogensDetails::Describe method and can be accessed by the OEGetPlaceHydrogensMetadata function.

GetAltsMustBeCompatible

bool GetAltsMustBeCompatible() const

Returns true if alternate location codes are required to be compatible (either identical or blank) when atoms interact. If true, incompatible atoms do not interact.

See also

GetBadClashOverlapDistance

double GetBadClashOverlapDistance() const

Returns the amount of excess van der Waals overlap considered to be a “bad” clash.

GetBypassPredicate

OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *GetBypassPredicate() const

Returns a new copy of the predicate that OEPlaceHydrogens will use to exclude from analysis all movers having a matching atom.

To avoid a memory leak in C++, the returned pointer should be stored in a variable of the OEOwnedPtr template class or deallocated with the delete operator.

(Default: OEIsFalseAtom)

GetFlipBias

double GetFlipBias() const

Returns the score bias against flipping a mover. The score bias is determined by the scoring system but can be controlled indirectly with the SetFlipBiasScale method.

See also

GetFlipBiasScale

double GetFlipBiasScale() const

Returns the scaling factor for the score bias against flipping a mover. The actual score bias is determined by the scoring system.

See also

GetFlipPredicate

OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *GetFlipPredicate() const

Returns a new copy of the predicate that OEPlaceHydrogens will use to restrain to the flipped state all flippable movers having a matching atom.

To avoid a memory leak in C++, the returned pointer should be stored in a variable of the OEOwnedPtr template class or deallocated with the delete operator.

(Default: OEIsFalseAtom)

GetMaxSubstateCutoff

double GetMaxSubstateCutoff() const

Max number of substates processed in a single step of the state optimizer.

See also

GetNoFlipPredicate

OESystem::OEUnaryPredicate<OEChem::OEAtomBase> *GetNoFlipPredicate() const

Returns a new copy of the predicate that OEPlaceHydrogens will use to restrain to the original (unflipped) state all flippable movers having a matching atom.

To avoid a memory leak in C++, the returned pointer should be stored in a variable of the OEOwnedPtr template class or deallocated with the delete operator.

(Default: OEIsFalseAtom)

GetStandardizeBondLen

bool GetStandardizeBondLen() const

Returns whether the length of bonds to hydrogen atoms are adjusted to standard size.

GetWaterProcessing

unsigned GetWaterProcessing() const

Returns a constant indicating how waters (and analogs) are processed.

See also

SetAddMetadata

void SetAddMetadata(bool metadata=true)

Controls whether metadata describing the results should be added to the molecule. The metadata is the string generated by the OEPlaceHydrogensDetails::Describe method and can be accessed by the OEGetPlaceHydrogensMetadata function.

(Default: true)

SetAltsMustBeCompatible

void SetAltsMustBeCompatible(bool compatible=true)

Set if alternate location codes are required to be compatible (either identical or blank) for atoms to interact. If set to true, incompatible atoms will not interact.

The appropriate setting will depend on how alternate locations are prepared in the input molecule. If an OEAltLocationFactory was used to select the highest occupancy alternate locations, only one location remains for each atom so compatible should be false, it could prevent legitimate interactions. The same is true if alt information was stripped and only codes A and blank remain (the default behavior when a .pdb file is read with the default flavor).

If all location codes are retained on input with the ALTLOC flavor and not modified, then compatible should be true. This is not perfect, but generally works OK. But it is generally recommended that you read .pdb files using the ALTLOC flavor, process it with the OEAltLocationFactory, and leave compatible set to false when calling OEPlaceHydrogens.

(Default: false)

SetBadClashOverlapDistance

void SetBadClashOverlapDistance(double overlap)

Sets the amount of excess van der Waals overlap considered to be a “bad” clash. (Default: 0.4 Å)

SetBypassPredicate

void SetBypassPredicate(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> &pred)

Stores a predicate that OEPlaceHydrogens will use to exclude from analysis all movers having a matching atom. Useful for groups where a specific orientation has already been established.

Note

For any given mover, this predicate takes precedence over both the flip and the noFlip predicates.

SetFlipBiasScale

void SetFlipBiasScale(double scale)

Sets a scaling factor for the score bias against flipping a mover. The actual score bias is determined by the scoring system. Setting the bias to 0.0 will turn off any bias towards the input structure. (Default: 1.0)

See also

SetFlipPredicate

void SetFlipPredicate(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> &pred)

Stores a predicate that OEPlaceHydrogens will use to restrain to the flipped state all flippable movers having a matching atom.

Note

For any given mover, if either the bypass predicate or the noFlip predicate matches, this predicate will be ignored.

SetMaxSubstateCutoff

void SetMaxSubstateCutoff(double maxStates)

Set the maximum number of substates processed in a single step of the state optimizer. (Default: 1.0e8)

See also

SetNoFlipPredicate

void SetNoFlipPredicate(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> &pred)

Stores a predicate that OEPlaceHydrogens will use to restrain to the original (unflipped) state all flippable movers having a matching atom. Useful in preventing a group from being automatically flipped.

Note

For any given mover, if the bypass predicate matches, this predicate will be ignored. In addition, this predicate takes precedence over the flip predicate.

SetStandardizeBondLen

void SetStandardizeBondLen(bool standardize=true)

Sets whether the length of bonds to hydrogen atoms are adjusted to standard size. (Default: true)

SetWaterProcessing

void SetWaterProcessing(unsigned process)

Sets how waters (and analogs) are processed. (Default: OEPlaceHydrogensWaterProcessing::Default)

See also