mdtraj.rmsd

mdtraj.rmsd(target, reference, frame=0, atom_indices=None, parallel=True, precentered=False)

Compute RMSD of all conformations in target to a reference conformation. Note, this will center the conformations in place.

Parameters:
  • target (md.Trajectory) – For each conformation in this trajectory, compute the RMSD to a particular ‘reference’ conformation in another trajectory object.

  • reference (md.Trajectory) – The object containing the reference conformation to measure distances to.

  • frame (int, default=0) – The index of the conformation in reference to measure distances to.

  • atom_indices (array_like, or None) – The indices of the atoms to use in the RMSD calculation. If not supplied, all atoms will be used.

  • ref_atom_indices (array_like, or None) – Use these indices for the reference trajectory. If not supplied, the atom indices will be the same as those for target.

  • parallel (bool) – Use OpenMP to calculate each of the RMSDs in parallel over multiple cores.

  • precentered (bool, default=False) – Assume that the conformations are already centered at the origin, and that the “rmsd_traces” have been computed, as is done by Trajectory.center_coordinates. The “rmsd_traces” are intermediate calculations needed for the RMSD calculation which can be computed independently on each trajectory. Note that this has the potential to be unsafe; if you use Trajectory.center_coordinates and then modify the trajectory’s coordinates, the center and traces will be out of date and the RMSDs will be incorrect.

Examples

>>> import mdtraj as md                                      
>>> rmsds = md.rmsd(trajectory, trajectory, 0)               
>>> print rmsds                                              
array([ 0.0,  0.03076187,  0.02549562, ...,  0.06230228,
    0.00666826,  0.24364147])

The calculation is slightly faster if you precenter the trajectory

>>> trajectory.center_coordinates()
>>> rmsds = md.rmsd(trajectory, trajectory, 0, precentered=True)

See also

Trajectory.center_coordinates

Notes

This function uses OpenMP to parallelize the calculation across multiple cores. To control the number of threads launched by OpenMP, you can set the environment variable OMP_NUM_THREADS.

Returns:

rmsds – A 1-D numpy array of the optimal root-mean-square deviations from the frame-th conformation in reference to each of the conformations in target.

Return type:

np.ndarray, shape=(target.n_frames,)