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, which can also
be accessed via
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
At present there are 7 initial orientations available:
The default orientation is
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.
The database molecule is translated to each user-defined starting
position and optimizations are performed for 4 inertial starts for
each translation. See
more details on setting the starting coordinates.
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.
The database molecule is translated to each heavy atom of the query
molecule and optimizations are performed for 4 inertial starts
for each translation.
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
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.
In order to use this method on a database the entire database is
required to be reloaded with the
OEShapeDatabase::AddMol routine using
unsigned int orient=OEFastROCSOrientation::AsIs as the
In order to use the
this method it is required that the final argument to the constructor
unsigned int orient=OEFastROCSOrientation::AsIs.
N random starts are generated by randomly orientating the database molecule
N times. This method includes the ability to set the maximum random
translation via the
option. The default maximum is
The number of random starts can be set using the
OEShapeDatabaseOptions::SetNumRandomStarts option. The default number
of random starts is
The random seed can be set using the
The default random seed is based on the time.
The random API point is only deterministic when using the same seed if only
one thread is set to open the database using
between calls to GetScores or GetScores is called on the same opened database object.
Optimizations are carried for each inertial orientation at each heavy atom of the molecule with the
most heavy atoms regardless of whether it is the query or the database molecule. This method is synonymous
See the Starting positions for optimization section in the Shape TK theory documentation for a description of alternative starts.