GMX-RMS(1)

πŸ’– GMX-RMS(1) β€” the GROMACS girlie's guide πŸ’–

okay so bestie, welcome to gmx-rms, a page from the GROMACS manual, and it's literally the RMSD calculator. no cap.


✨ 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 πŸŽ€

so gmx rms compares two structures by computing the root mean square deviation (that's the RMSD bestie), or the size-independent rho similarity parameter (rho), or the scaled rho (rhosc) β€” shoutout Maiorov & Crippen, Proteins 22, 273 (1995). you pick which one with -what. πŸ’…

every single structure from a trajectory (-f) gets compared to a reference structure. and where does that reference structure come from? the structure file (-s). periodt.

with the -mir option you also get a comparison against the mirror image of the reference structure ✨ this one's genuinely useful as a reference for 'significant' values β€” again, Maiorov & Crippen, Proteins 22, 273 (1995), iykyk.

option -prev gives you the comparison with a previous frame, however many frames ago you specified. nostalgic fr.

option -m produces a matrix in .xpm format of comparison values of every structure in the trajectory against every other structure in the trajectory. you can peek at this file with like xv for instance, and convert it to postscript with gmx xpm2ps. slay.

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. your call queen. πŸ‘‘

option -mw controls whether mass weighting gets done or not. if you select the option (and it's the default btw) and you supply a valid .tpr file, masses will be taken from there. otherwise the masses get deduced from the atommass.dat file in GMXLIB β€” which is deprecated btw, just so you know. this is fine for proteins, but not necessarily for other molecules, so like, vibe check your system. 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, and this generates a comparison matrix of one trajectory versus the other. it's giving versus battle.

option -bin does a binary dump of the comparison matrix. raw data, no aesthetic, still valid.

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 β€” everyone else, not invited. πŸ™ˆ


πŸ’… 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 h5md
  • -f2 [<.xtc/.trr/...>] (traj.xtc) (Optional) β€” trajectory: xtc trr cpt gro g96 pdb tng h5md
  • -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)

more information about GROMACS is available at <http://www.gromacs.org/>. go read it, bestie, it's giving lore. πŸ“š


2026, GROMACS development team


and that's the whole page, my love πŸ’– this was GROMACS 2026.4, dated Oct 02, 2026 β€” GMX-RMS(1), signing off. you ate that. periodt. πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from