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

## Constructors¶

OEAlignmentOptions()


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

Property Default value
re-generating 2D coordinates 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.

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.

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

void SetSuppressHydrogens(bool)