OEIsomericConfTest

class OEIsomericConfTest : public OEConfTestBase

This class represents OEIsomericConfTest.

This implementation of OEConfTestBase combines subsequent connection tables into a multi-conformer molecule if they:

  1. Have the same numbers of atoms and bonds in the same order
  2. Each atom and bond must have identical properties with its order correspondent in the subsequent connection table
  3. Have the same atom and bond stereochemistry
  4. Have the same title (optional)

OEIsomericConfTest 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:

CombineMols CompareMols CreateCopy

Constructors

OEIsomericConfTest(bool compTitles=true)

Constructs an OEIsomericConfTest 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 four conditions listed at the top.

CreateCopy

OEConfTestBase *CreateCopy() const

Deep copy constructor that returns a copy of the object. The memory for the returned OEIsomericConfTest 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.