---
name: "gmx-rms"
section: "1"
platform: "linux"
package: "gromacs-data"
version: "2025.2-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/gmx-rms"
---

# gmx-rms(1)

Calculate RMSDs with a reference structure and RMSD matrices

## NAME

gmx-rms - Calculate RMSDs with a reference structure and RMSD matrices

## SYNOPSIS

```
gmx rms [-s [<.tpr/.gro/...>]] [-f [<.xtc/.trr/...>]]
        [-f2 [<.xtc/.trr/...>]] [-n [<.ndx>]] [-o [<.xvg>]]
        [-mir [<.xvg>]] [-a [<.xvg>]] [-dist [<.xvg>]] [-m [<.xpm>]]
        [-bin [<.dat>]] [-bm [<.xpm>]] [-b <time>] [-e <time>]
        [-dt <time>] [-tu <enum>] [-[no]w] [-xvg <enum>]
        [-what <enum>] [-[no]pbc] [-fit <enum>] [-prev <int>]
        [-[no]split] [-skip <int>] [-skip2 <int>] [-max <real>]
        [-min <real>] [-bmax <real>] [-bmin <real>] [-[no]mw]
        [-nlevels <int>] [-ng <int>]
```

## DESCRIPTION

**gmx rms** compares two structures by computing the root mean square deviation (RMSD), the size-independent rho similarity parameter (**rho**) or the scaled rho (**rhosc**), see Maiorov & Crippen, Proteins **22**, 273 (1995). This is selected by **-what**.

Each structure from a trajectory (**-f**) is compared to a reference structure. The reference structure is taken from the structure file (**-s**).

With option **-mir** also a comparison with the mirror image of the reference structure is calculated. This is useful as a reference for 'significant' values, see Maiorov & Crippen, Proteins **22**, 273 (1995).

Option **-prev** produces the comparison with a previous frame the specified number of frames ago.

Option **-m** produces a matrix in *.xpm* format of comparison values of each structure in the trajectory with respect to each other structure. This file can be visualized with for instance **xv** and can be converted to postscript with *gmx xpm2ps*.

Option **-fit** controls the least-squares fitting of the structures on top of each other: complete fit (rotation and translation), translation only, or no fitting at all.

Option **-mw** controls whether mass weighting is done or not. If you select the option (default) and supply a valid *.tpr* file masses will be taken from there, otherwise the masses will be deduced from the **atommass.dat** file in **GMXLIB** (deprecated). This is fine for proteins, but not necessarily for other molecules. You can check whether this happened by turning on the **-debug** flag and inspecting the log file.

With **-f2**, the 'other structures' are taken from a second trajectory, this generates a comparison matrix of one trajectory versus the other.

Option **-bin** does a binary dump of the comparison matrix.

Option **-bm** produces a matrix of average bond angle deviations analogously to the **-m** option. Only bonds between atoms in the comparison group are considered.

## OPTIONS

Options to specify input files:

- **-s \[\<.tpr/.gro/...\>\] (topol.tpr)**

  Structure+mass(db): *tpr* *gro* *g96* *pdb* brk ent

- **-f \[\<.xtc/.trr/...\>\] (traj.xtc)**

  Trajectory: *xtc* *trr* *cpt* *gro* *g96* *pdb* *tng*

- **-f2 \[\<.xtc/.trr/...\>\] (traj.xtc) (Optional)**

  Trajectory: *xtc* *trr* *cpt* *gro* *g96* *pdb* *tng*

- **-n \[\<.ndx\>\] (index.ndx) (Optional)**

  Index file

Options to specify output files:

- **-o \[\<.xvg\>\] (rmsd.xvg)**

  xvgr/xmgr file

- **-mir \[\<.xvg\>\] (rmsdmir.xvg) (Optional)**

  xvgr/xmgr file

- **-a \[\<.xvg\>\] (avgrp.xvg) (Optional)**

  xvgr/xmgr file

- **-dist \[\<.xvg\>\] (rmsd-dist.xvg) (Optional)**

  xvgr/xmgr file

- **-m \[\<.xpm\>\] (rmsd.xpm) (Optional)**

  X PixMap compatible matrix file

- **-bin \[\<.dat\>\] (rmsd.dat) (Optional)**

  Generic data file

- **-bm \[\<.xpm\>\] (bond.xpm) (Optional)**

  X PixMap compatible matrix file

Other options:

- **-b \<time\> (0)**

  Time of first frame to read from trajectory (default unit ps)

- **-e \<time\> (0)**

  Time of last frame to read from trajectory (default unit ps)

- **-dt \<time\> (0)**

  Only use frame when t MOD dt = first time (default unit ps)

- **-tu \<enum\> (ps)**

  Unit for time values: fs, ps, ns, us, ms, s

- **-\[no\]w (no)**

  View output *.xvg*, *.xpm*, *.eps* and *.pdb* files

- **-xvg \<enum\> (xmgrace)**

  xvg plot formatting: xmgrace, xmgr, none

- **-what \<enum\> (rmsd)**

  Structural difference measure: rmsd, rho, rhosc

- **-\[no\]pbc (yes)**

  PBC check

- **-fit \<enum\> (rot+trans)**

  Fit to reference structure: rot+trans, translation, none

- **-prev \<int\> (0)**

  Compare with previous frame

- **-\[no\]split (no)**

  Split graph where time is zero

- **-skip \<int\> (1)**

  Only write every nr-th frame to matrix

- **-skip2 \<int\> (1)**

  Only write every nr-th frame to matrix

- **-max \<real\> (-1)**

  Maximum level in comparison matrix

- **-min \<real\> (-1)**

  Minimum level in comparison matrix

- **-bmax \<real\> (-1)**

  Maximum level in bond angle matrix

- **-bmin \<real\> (-1)**

  Minimum level in bond angle matrix

- **-\[no\]mw (yes)**

  Use mass weighting for superposition

- **-nlevels \<int\> (80)**

  Number of levels in the matrices

- **-ng \<int\> (1)**

  Number of groups to compute RMS between

## SEE ALSO

**[gmx(1)](/gmx/1.md)**

More information about GROMACS is available at \<*http://www.gromacs.org/*\>.

## COPYRIGHT

2025, GROMACS development team
