• Docs »
  • OEFastROCSOrientation

OEFastROCSOrientationΒΆ

The FastROCS TK search algorithm performs an optimization to maximize the overlap between the query and the database molecule. This namespace defines a set of initial orientations for the optimization that are also referred to as alternative starts. The default orientation is OEFastROCSOrientation.Inertial. As the optimization has a limited number of iterations, it may be beneficial to use alternative starting coordinates for some molecular systems. To set an alternative initial orientation use OEShapeDatabaseOptions.SetInitialOrientation.

Warning

If attempting to use OEShapeDatabaseOptions.SetNumInertialStarts with OEShapeDatabaseOptions.SetInitialOrientation please ensure the number of inertial starts is set after the initial orientation otherwise the number of inertial starts will be overridden with the default value of 4.

At present there are 5 initial orientations available:

Default

The default orientation is OEFastROCSOrientation.Inertial.

Inertial

The query and the database molecule are aligned to the inertial frame and optimizations are performed for 4 inertial orientations of the database molecule, by rotating about its 2 major moments of inertia.

UserInertialStarts

The database molecule is translated to each user-defined starting position and optimizations are performed for 4 inertial starts for each translation. See OEShapeDatabaseOptions.SetInitialOrientation and OEShapeDatabaseOptions.SetUserStarts for more details on setting the starting coordinates.

Warning

Currently, error checking is not performed for user-defined starting coordinates that fall out of scope of the molecule’s coordinate range therefore, bad starting coordinates will yield zero shape/color overlap.

InertialAtHeavyAtoms

The database molecule is translated to each heavy atom of the query molecule and optimizations are performed for 4 inertial starts for each translation. See OEShapeDatabaseOptions.SetInitialOrientation and OEShapeDatabaseOptions.GetInitialOrientation

InertialAtColorAtoms

The database molecule is translated to each color atom of the query molecule and optimizations are performed for 4 inertial starts for each translation. This method works for combo and shape-only searches. The only requirement is that the query molecule has color atoms. If the query molecule does not have color atoms the search will default to OEFastROCSOrientation.Inertial. See OEShapeDatabaseOptions.SetInitialOrientation, OEShapeDatabaseOptions.GetInitialOrientation and OEShapeDatabaseOptions.GetNumColorAtomStarts.

AsIs

The query and database molecules are left AsIs. It is presumed that the conformers are already positioned in space (perhaps through docking) therefore they are not centered or set to the inertial frame of reference. This method carries out a single optimization at the query and database molecule’s original coordinates. No inertial orientations are optimized.

Warning

In order to use this method on a database the entire database is required to be reloaded with the OEShapeDatabase.Open routine using unsigned int orient=OEFastROCSOrientation::AsIs as the last argument.

Warning

In order to use the OEShapeDatabaseScore.Constructors with this method it is required that the final argument to the constructor be unsigned int orient=OEFastROCSOrientation::AsIs.

See OEShapeDatabaseOptions.SetInitialOrientation, OEShapeDatabaseOptions.GetInitialOrientation, OEShapeDatabase.Open and OEShapeDatabaseScore.Constructors.

See the Starting positions for optimization section in the Shape TK theory documentation for a description of alternative starts.