This API is currently available in C++ and Python.
class OETorQuatAdaptor : public OEMolAdaptor
The OETorQuatAdaptor class provides the ability to optimize a molecule in coordinate space by a combination of rotation, translation and torsion changes. This class combines the functionality of both OEQuatAdaptor and OETorAdaptor classes. Its main application is optimization of ligands in the potential generated by protein-receptor, in the case when ligand’s bond lengths and bond angles are chosen to be fixed.
- The following methods are publicly inherited from OEAdaptor:
- The following methods are publicly inherited from OEFunc0:
- The following methods are publicly inherited from OEFunc1:
- The following methods are publicly inherited from OEMolFunc:
- The following methods are publicly inherited from OEMolAdaptor:
- The OETorQuatAdaptor class defines the following public methods:
OETorQuatAdaptor(OEMolFunc1 &, bool own=false, bool excludeInteract=true)
Default and copy constructors.
The molecule function used for function evaluation must be provided as the first argument to the
constructor. The second argument specifies whether the OETorQuatAdaptor
object takes ownership of the memory of the molecule function instance. By default the
OETorQuatAdaptor instance does not take ownership of the molecule function,
so the OETorQuatAdaptor destructor does not delete the molecule function
instance. If ownership of the molecule function is transferred to the
OETorQuatAdaptor instance, the molecule function’s delete operator will
be called in the OETorQuatAdaptor destructor. The third argument
controls the inclusion of invariant molecule function interactions. By default, interactions
which remain constant during the torsion minimization are excluded from calculation (for
example bond stretch interactions). If the third calling argument is
false then all
interactions will be computed during every function evaluation.
bool AdaptGrad(double *, const double *, const double *) const
Transforms a set of the input Cartesian gradients passed to the method as a second argument, into torsional-rotational-translational gradients which are copied to the first argument array. The third argument to the method is an array of the current quaternion and translational vector.
bool Set(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase>&) bool Set(const OESystem::OEUnaryPredicate<OEChem::OEBondBase>&)
The first method assigns an atom predicate which is used to specify atoms which are to be held fixed in their starting positions during an optimization. The second method assigns a bond predicate which is used to determine which bonds of a molecule are to be rotated during an optimization. Both the
Set methods must be called before the
Setup for it to be effective.