OEAlignmentOptions

class OEAlignmentOptions

This class represents OEAlignmentOptions and stores the following parameters which are used when performing molecule alignment.

Property Get method Set method
re-generating 2D coordinates GetClearCoords SetClearCoords
adding depiction hydrogens GetAddDepictionHydrogens SetAddDepictionHydrogens
starting from the 2D coords of the reference molecule GetFixedCoords SetFixedCoords
max number of bond rotations GetMaxBondRotations SetMaxBondRotations
max number of pattern matches GetMaxPatternMatches SetMaxPatternMatches
RMSD cutoff GetRMSDCutoff SetRMSDCutoff
rotation around bonds GetRotateAroundBonds SetRotateAroundBonds
suppressing hydrogens GetSuppressHydrogens SetSuppressHydrogens

See also

Constructors

OEAlignmentOptions()

Default constructor that initializes an OEAlignmentOptions object with the following properties:

Property Default value
re-generating 2D coordinates true
adding depiction hydrogens true
starting from the 2D coordinates of the reference molecule false
max number of bond rotations \(2^{16} = 65536\)
max number of pattern matches 0 (means no limit)
RMSD cutoff 0.1
rotation around bonds true
suppressing hydrogens true
OEAlignmentOptions(bool rotatebonds, bool clearcoords, bool suppressH)

Creates an OEAlignmentOptions object with the specified parameters.

rotatebonds
See the OEAlignmentOptions::SetRotateAroundBonds method.
clearcoords
See the OEAlignmentOptions::SetClearCoords method.
suppressH
See the OEAlignmentOptions::SetSuppressHydrogens method.

By default, the RMSD cutoff is 0.1 (see the OEAlignmentOptions::SetRMSDCutoff method) and maximum number of bond rotations is \(2^{16} = 65536\) (see the OEAlignmentOptions::SetMaxBondRotations method).

OEAlignmentOptions(const OEAlignmentOptions &rhs)

Copy constructor.

operator=

OEAlignmentOptions &operator=(const OEAlignmentOptions &rhs)

Assignment operator.

GetAddDepictionHydrogens

bool GetAddDepictionHydrogens() const

Returns whether the depiction hydrogens are kept/added during the molecule alignment.

GetClearCoords

bool GetClearCoords() const

Returns whether the 2D coordinates of the fit molecule will be re-calculated prior to the alignment process.

GetFixedCoords

bool GetFixedCoords() const

Returns whether the OEPrepareAlignedDepiction function can start the alignment process by copying over the coordinates of the reference molecule to the fit molecule.

GetMaxBondRotations

unsigned int GetMaxBondRotations() const

Returns the maximum number of bond rotations performed during the alignment process.

The default value for maximum number of bond rotations is \(2^{16} = 65536\). This means that by default only the first 16 single bonds of the fit molecule will be rotated to maximize molecule alignment.

GetMaxPatternMatches

unsigned int GetMaxPatternMatches() const

Returns the maximum number of matches utilized to performed molecule alignments.

GetRMSDCutoff

double GetRMSDCutoff() const

Returns the RMSD cutoff value used to identify acceptable alignments.

GetRotateAroundBonds

bool GetRotateAroundBonds() const

Returns whether rotation around the bonds of the fit molecule is allowed.

GetSuppressHydrogens

bool GetSuppressHydrogens() const

Returns whether the explicit hydrogens are suppressed in the fit molecule prior to the alignment process.

SetAddDepictionHydrogens

void SetAddDepictionHydrogens(bool)

Sets whether depiction hydrogens are kept/added during alignment.

SetClearCoords

void SetClearCoords(bool clearcoords)

Sets whether the 2D coordinates of the fit molecule will be re-calculated prior to the alignment process by calling the OEPrepareDepiction function.

SetFixedCoords

void SetFixedCoords(bool fixed)

Sets whether the OEPrepareAlignedDepiction function can start the alignment process by copying over the coordinates of the reference molecule to the fit molecule based on the provided match.

If the alignment process based of ‘fixed’ coordinates can not be performed or it is unsuccessful i.e. no alignment is found without atom clashes, than the OEPrepareAlignedDepiction function falls back to maximizing the overlap between the fit and the reference 2D molecules by rotating around single bonds.

The alignment process based on ‘fixed’ coordinates currently can only be performed if:

  • neither the reference nor the fit molecule have more than one component
  • there is no partial ring match i.e. if a ring atom of the fit molecule is matched for alignment than all of the atom of the same ring systems have to be matched for alignment

SetMaxBondRotations

void SetMaxBondRotations(unsigned int maxrotations)

Sets the maximum number of bond rotations performed during the alignment process.

maxrotations
The zero value means that there is no limit. Upon reaching this limit, the alignment process terminates and returns the best alignment identified up to that point.

Hint

The default value for maximum number of bond rotations is \(2^{16} = 65536\). This means that by default only the first 16 single bonds of the fit molecule will be rotated to maximize molecule alignment.

It is recommended to use this parameter in the following cases:

  • if the fit molecule being aligned has a large number of rotatable bonds
  • if the match that determines the atoms of the fit molecule that will be aligned to the atoms of the reference molecule has a large number of rotatable bonds

SetMaxPatternMatches

void SetMaxPatternMatches(unsigned int maxmatches)

Sets the maximum number of matches utilized to perform molecule alignments.

maxmatches
The zero value means that there is no limit. If the molecule alignment is based on more than one matches, then upon reaching this limit, the alignment process terminates and returns the best alignment identified up to that point.

Hint

It is recommended to use this parameter in the following cases:

  • if the alignment is based on substructure or maximum common substructure matches and the reference or/and fit molecules are highly symmetrical i.e. a large number of matches returned by the substructure or maximum common substructure search algorithms, respectively.

SetRMSDCutoff

void SetRMSDCutoff(double rmsdcutoff)

Sets the RMSD cutoff value used to identify acceptable alignments.

rmsdcutoff
This number has to be non-negative number. The alignment procedure terminates when the rmsdcutoff between the fit and the reference molecule is below this limit and there is no internal clash detected between the atoms of the fit molecule.

SetRotateAroundBonds

void SetRotateAroundBonds(bool rotatebonds)

Sets whether rotation around the bonds of the fit molecule is allowed.

rotatebonds
If ‘true’, then bond of the fit molecule will be rotated to find the best alignment between molecules. If ‘false’, then only 2D rotation and translation of the fit molecule is allowed (i.e. no rotations around bonds) in order to align it to the reference molecule

SetSuppressHydrogens

void SetSuppressHydrogens(bool)

Sets whether the explicit hydrogens are suppressed in the fit molecule prior to the alignment process. Only hydrogens that are necessary to faithfully represent tetrahedral stereochemistry will be kept.