Task 2 : RigidRMSD

Finding the root mean squared deviations (RMSDs) between two coordinate vectors that correspond to the rigid body motion of a macromolecule is an important problem in structural bioinformatics. We present a new algorithm that determines a set of RMSDs corresponding to a set of rigid body motions of a macromolecule in constant time with respect to the number of atoms in the molecule. Our algorithm is particularly useful for rigid body docking applications and for high-throughput analysis of rigid body modeling and simulation results.

RigidRMSD is a library for rapid computations of the root mean square deviations (RMSDs) corresponding to a set of rigid body transformations of a coordinate vector (which can be a molecule in PDB format, for example). Calculation of the RMSD splits into two steps:

  • Initialization, which is linear in the number of vector entities (or particles in a rigid body).
  • RMSD computation, which is computed in constant time for a single rigid-body spatial transformation (rotation + translation). This step uses the inertia tensor and the the center of mass computed on the first step.

Initialization step is performed only once. It makes RigidRMSD particularly useful when computing multiple RMSDs, since each new RMSD calculation takes only constant time.

Let R be a rotation matrix and T - a translation vector applied to a molecule with N atoms at positions A={ai}N with ai={xi,yi,zi}T, such that the new positions A'={ai'}N are given as


Then, the weighted RMSD between A and A' is given as


Introducing the inertia tensor I, the rotation matrix R (with the corresponding rotation quaternion Q=[s,q]), the center of mass vector C, and the 3x3 identity matrix E3, we may simplify the RMSD expression to
where C={∑ wixi,∑wiyi,∑ wizi}T/W, and the inertia tensor I is given as

\sum w_{i}(y_{i}^{2}+z_{i}^{2}) & -\sum w_{i}x_{i}y_{i} & -\sum w_{i}x_{i}z_{i}\\
-\sum w_{i}x_{i}y_{i} & \sum w_{i}(x_{i}^{2}+z_{i}^{2}) & -\sum w_{i}y_{i}z_{i}\\
-\sum w_{i}x_{i}z_{i} & -\sum w_{i}y_{i}z_{i} & \sum w_{i}(x_{i}^{2}+y_{i}^{2})
This RMSD equation is the principal result of this work. It consists of three parts, the pure translational contribution T2, the pure rotational contribution 4qTIq/W, and the cross-term 2TT(R-E3)C, which vanishes in the Centre-Of-Mass (COM) reference frame. In this equation, only two variables depend on the atomic positions {ai}N, the inertia tensor I, and the center of mass vector C.

RMSD corresponding to a pure rotation
If a rigid molecule is rotated about a unit axis n passing through the origin by an angle α, the RMSD for such a rotation is given as

where I(n) is the reduction of the inertia tensor to a scalar form for the unit axis n:



Petr Popov and Sergei Grudinin,  “Rapid determination of RMSDs corresponding to macromolecular rigid body motions”. J. Comput. Chem. 2014, DOI: 10.1002/jcc.23569. Full text pdf.