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.