The FastROCS algorithm performs an optimization to maximise the overlap between the query and the database molecule. This namespace defines a set of initial orientations for the optimization. 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 the OEShapeDatabaseOptions::SetInitialOrientation member function of OEShapeDatabaseOptions. At present there are 3 initial orientations available: OEFastROCSOrientation::Inertial, OEFastROCSOrientation::UserInertialStarts and OEFastROCSOrientation::InertialAtHeavyAtoms.
The default orientation is OEFastROCSOrientation::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 it’s 2 major moments of inertia.
The database molecule is translated to each user-defined staring postion 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.
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. See OEShapeDatabaseOptions::SetInitialOrientation and OEShapeDatabaseOptions::GetInitialOrientation
See the Starting positions for optimization section in the Shape TK theory documentation for a description of alternative starts.