4.126.2 Full Molecule-Based OERMSD

double OERMSD(const OEMolBase &ref, const OEMolBase &fit,
              bool automorph = true, bool heavyOnly = true,
              bool overlay = false, double *rot = 0, double *trans = 0)

bool OERMSD(const OEMolBase &ref, const OEMCMolBase &fit, double *rmsds,
              bool automorph = true, bool heavyOnly = true,
              bool overlay = false, double *rot = 0, double *trans = 0)

bool OERMSD(const OEMCMolBase &ref, const OEMCMolBase &fit, double *rmsds,
              bool automorph = true, bool heavyOnly = true,
              bool overlay = false, double *rot = 0, double *trans = 0)

Functions to calculate the root mean squared deviation between two molecules. This function is overloaded for comparisions of either OEMolBases or OEMCMolBases as either the reference or fit molecule. For the OEMolBase vs OEMolBase comparison, the RMSD is the return value. For the other two cases, the RMSDs are returned in the rmsds array. The rmsds array passed to this function should be of length fit.GetMaxConfIdx() for the OEMolBase vs OEMCMolBase overload and ref.GetMaxConfIdx()*fit.GetMaxConfIdx() for the OEMCMolBase vs OEMCMolBase overload. The automorph flag indicates whether automorphisms should be taken into account during the RMSD calculation. Automorphisms are the symmetry related transformations of a molecule which can result in anamolously high RMSDs if not properly treated. For instance, t-butyl-benzene has a three-fold automorphism around the t-butyl group and a two-fold automorphism around the benzene ring. The heavyOnly flag indicates whether only heavy atoms should be considered or hydrogen atoms should be considered as well. It is strongly recommended that one should consider carefully before setting the automorph flag to true and the heavyOnly flag to false. The overlay, rot, and trans arguments are identical to those described in the preceeding section.