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 allowed atom pair clushes

GetMaxAllowedAtomPairClashes

SetMaxAllowedAtomPairClashes

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 allowed atom pair clushes

0 (means an alignment is rejected if there is any atom clash)

max number of bond rotations

\(2^{16} = 65536\) (max allowed number is \(2^{31}\))

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.

GetMaxAllowedAtomPairClashes

unsigned int GetMaxAllowedAtomPairClashes() const

Returns the maximum number of atom pair clashes allowed in fix coordinate mode.

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. The max allowed number is \(2^{31}\) that allows the rotate 31 bonds independently to find the best 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. See also OEAlignmentOptions.SetMaxAllowedAtomPairClashes method that can be used to allow some atom clashes.

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

SetMaxAllowedAtomPairClashes

void SetMaxAllowedAtomPairClashes(unsigned int maxclashes) const

Sets the number of atom pair clashes allowed after the ‘fixed’ coordinates alignment process (see OEAlignmentOptions.SetFixedCoords method). The default value is 0, i.e. no atom clashes are allowed. If the number of clashes exceeds this limit the alignment is rejected and process falls back to maximizing the overlap between the fit and the reference 2D molecules by rotating around single bonds.

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.