OEAbsoluteConfTest¶
class OEAbsoluteConfTest : public OEConfTestBase
This class represents OEAbsoluteConfTest.
This implementation of OEConfTestBase combines subsequent connection tables into a multi-conformer molecule if they:
Have the same number of atoms and bonds in the same order.
Each atom and bond must have identical properties with its order correspondent in the subsequent connection table.
Have the same title (optional).
Note
OEAbsoluteConfTest shouldn’t be used for
reading multi-conformer molecules in PDB or XYZ file format. These
file formats typically require the use of
OEDetermineConnectivity
(and
OEPerceiveBondOrders
) which may potentially
perceive and create bonds in different orders (or arbitrarily
assign bond orders and Kekulé forms differently) for different
conformers of the same molecule. This disrupts the ordering (and
property) constraints described above. Generally, file formats
other than PDB and XYZ should be used for storing multi-conformer
molecules (as consecutive connection tables), but if unavoidable,
the OEAbsCanonicalConfTest class should be used
instead.
The following methods are publicly inherited from OEConfTestBase:
Constructors¶
OEAbsoluteConfTest(bool compTitles=true)
Constructs an OEAbsoluteConfTest
object. The argument ‘compTitle’ specifies whether to compare
molecule titles (accessed by
OEMolBase::GetTitle
). If the constructor is
called with no arguments or with the argument true, molecule
titles will be required to be the same. Otherwise, the titles
will not be compared. In the latter instance, each conformer
will have the individual title of its original connection table
and the multi-conformer molecule will reflect the title of the
active conformer.
CombineMols¶
bool CombineMols(OEMCMolBase &m1, OEMolBase &m2)
CompareMols¶
bool CompareMols(OEMolBase &m1, OEMolBase &m2) const
Returns whether the two OEMolBase objects are the same by checking the three conditions listed at the top.
Before the comparison all atom and bond stereo values of
‘m2’ are set to OEAtomStereo::Undefined
and
OEBondStereo::Undefined
, respectively,
followed by canonical ordering of its atoms by
OECanonicalOrderAtoms
CreateCopy¶
OEConfTestBase *CreateCopy() const
Deep copy constructor that returns a copy of the object. The memory for the returned OEAbsoluteConfTest object is dynamically allocated and owned by the caller.
The returned copy should be deallocated using C++ delete operator in order to prevent a memory leak.