double OERMSD(const OEChem::OEMolBase &ref, const OEChem::OEMolBase &fit,
              OESequenceAlignment &align, bool onlyCAlpha=true,
              bool overlay=false, double *rot=0, double *trans=0)

This OERMSD function is quite analogous to the heavily overloaded OERMSD functions. It takes two molecules as const parameters (one the reference and the other to be fit). It also takes an OESequenceAlignment class that indicates the correspondence between the two molecules. Whether the corresponding alignment considers all backbone atoms or only alpha carbons is controlled by the ‘onlyCAlpha’ parameter. The ‘overlay’ parameter indicates whether the RMSD should be measured using the current coordinates of the two molecules (default) or whether an optimum possible RMSD between the two molecules should be calculated. If the optimum overlay is calculated, the transformations applied to the ‘fit’ molecule to generate this optimum overlay can be retrieved by passing an array of double[9] to the ‘rot’ parameter and an array of double[3] to the ‘trans’ parameter. These two arrays can subsequently be applied to the ‘fit’ molecule using the OERotate and OETranslate functions if desired. It is important that OERotate and OETranslate are applied in that order.

The return value is a root-mean square distance between the specified atoms in the two molecules.