# OEPlaceHydrogensOptions¶

class OEPlaceHydrogensOptions


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.

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

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

(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: false)

## 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 precedent 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 precedent 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