sourCEntral - mobile manpages




gromacs − molecular dynamics simulation suite


GROMACS (the Groningen Machine for Chemical Simulations) is a full-featured suite of programs to perform molecular dynamics simulations - in other words, to simulate the behavior of systems with hundreds to millions of particles, using Newtonian equations of motion. It is primarily used for research on proteins, lipids, and polymers, but can be applied to a wide variety of chemical and biological research questions.


The following commands make up the GROMACS suite. Please refer to their individual man pages for further details.

Generating topologies and coordinates

  pdb2gmx     converts pdb files to topology and coordinate files
  x2top       generates a primitive topology from coordinates
  editconf    edits the box and writes subgroups
  genbox      solvates a system
  genion      generates mono atomic ions on energetically favorable positions
  genconf     multiplies a conformation in ’random’ orientations
  genpr       generates position restraints for index groups
  protonate   protonates structures

Running a simulation

  grompp      makes a run input file
  tpbconv     makes a run input file for restarting a crashed run
  mdrun       performs a simulation
  mdrun_mpi   performs a sim across multiple CPUs or systems (in separate package)

Viewing trajectories

  ngmx        displays a trajectory
  trjconv     converts trajectories to e.g. pdb which can be viewed with e.g. rasmol
  g_nmtraj    generate a virtual trajectory from an eigenvector

Processing energies

  g_energy    writes energies to xvg files and displays averages
  g_enemat    extracts an energy matrix from an energy file
  mdrun       with -rerun (re)calculates energies for trajectory frames

Converting files

  editconf    converts and manipulates structure files
  trjconv     converts and manipulates trajectory files
  trjcat      concatenates trajectory files
  eneconv     converts energy files
  xpm2ps      converts XPM matrices to encapsulated postscript (or XPM)


  make_ndx    makes index files
  mk_angndx   generates index files for g_angle
  gmxcheck    checks and compares files
  gmxdump     makes binary files human readable
  g_traj      plots x, v and f of selected atoms/groups (and more) from a trajectory
  g_analyze   analyzes data sets
  trjorder    orders molecules according to their distance to a group
  g_filter    frequency filters trajectories, useful for making smooth movies
  g_lie       free energy estimate from linear combinations
  g_dyndom    interpolate and extrapolate structure rotations
  g_morph     linear interpolation of conformations
  g_wham      weighted histogram analysis after umbrella sampling
  g_ffscan    scan and modify force field data for a single point energy calculation
  xpm2ps      convert XPM (XPixelMap) file to postscript
  g_densmap   compute 2D number-density maps and generate plots
  average     single-variable statistics of numeric lists
  g_sham      read/write xmgr and xvgr data sets
  g_spatial   calculates the spatial distribution function (more control than g_sdf)
  g_sdf       calculates the spatial distribution function (faster than g_spatial)

Distances between structures

  g_rms       calculates rmsd’s with a reference structure and rmsd matrices
  g_confrms   fits two structures and calculates the rmsd
  g_cluster   clusters structures
  g_rmsf      calculates atomic fluctuations

Distances in structures over time

  g_mindist   calculates the minimum distance between two groups
  g_dist      calculates the distances between the centers of mass of two groups
  g_bond      calculates distances between atoms
  g_mdmat     calculates residue contact maps
  g_rmsdist   calculates atom pair distances averaged with power 2, -3 or -6

Mass distribution properties over time

  g_traj      plots x, v, f, box, temperature and rotational energy
  g_gyrate    calculates the radius of gyration
  g_msd       calculates mean square displacements
  g_rotacf    calculates the rotational correlation function for molecules
  g_rdf       calculates radial distribution functions

Analyzing bonded interactions

  g_bond      calculates bond length distributions
  mk_angndx   generates index files for g_angle
  g_angle     calculates distributions and correlations for angles and dihedrals
  g_dih       analyzes dihedral transitions

Structural properties

  g_hbond     computes and analyzes hydrogen bonds
  g_saltbr    computes salt bridges
  g_sas       computes solvent accessible surface area
  g_order     computes the order parameter per atom for carbon tails
  g_sgangle   computes the angle and distance between two groups
  g_sorient   analyzes solvent orientation around solutes
  g_bundle    analyzes bundles of axes, e.g. helices
  g_disre     analyzes distance restraints
  g_clustsize calculate size distributions of atomic clusters
  g_disco     distance geometry calculation with the CONCOORD algorithm
  cdist       create input for g_disco
  anadock     cluster structures from Autodock runs

Kinetic properties

  g_traj      plots x, v, f, box, temperature and rotational energy
  g_velacc    calculates velocity autocorrelation functions
  g_tcaf      calculates viscosities of liquids
  g_kinetics  calculate kinetic rate constants (experimental)

Electrostatic properties

  genion      generates mono atomic ions on energetically favorable positions
  g_potential calculates the electrostatic potential across the box
  g_dipoles   computes the total dipole plus fluctuations
  g_dielectric calculates frequency dependent dielectric constants

Protein specific analysis

  do_dssp     assigns secondary structure and calculates solvent accessible surface area
  g_chi       calculates everything you want to know about chi and other dihedrals
  g_helix     calculates everything you want to know about helices
  g_rama      computes Ramachandran plots
  xrama       shows animated Ramachandran plots
  wheel       plots helical wheels


  g_potential calculates the electrostatic potential across the box
  g_density   calculates the density of the system
  g_order     computes the order parameter per atom for carbon tails
  g_h2order   computes the orientation of water molecules
  g_bundle    analyzes bundles of axes, e.g. transmembrane helices

Covariance analysis

  g_covar     calculates and diagonalizes the covariance matrix
  g_anaeig    analyzes the eigenvectors
  make_edi    generate essential-dynamics input file from g_covar output

Normal modes

  grompp      makes a run input file
  mdrun       finds a potential energy minimum
  mdrun       calculates the Hessian
  g_nmeig     diagonalizes the Hessian
  make_edi    generates essential-dynamics input file from g_nmeig analysis
  g_anaeig    analyzes the normal modes
  g_nmens     generates an ensemble of structures from the normal modes


Consult the manual at <> for an introduction to molecular dynamics in general and GROMACS in particular, as well as an overview of the individual programs.

The shorter HTML reference and GROMACS FAQ are available in /usr/share/doc/gromacs/html/ .

Tutorial files and other miscellaneous references are stored in /usr/share/gromacs/ .


The development of GROMACS is mainly funded by academic research grants. To help us fund development, the authors humbly ask that you cite the GROMACS papers:

H.J.C. Berendsen, D. van der Spoel and R. van Drunen. GROMACS: A message-passing parallel molecular dynamics implementation. Comp. Phys. Comm. 91, 43-56 (1995)

Erik Lindahl, Berk Hess and David van der Spoel. GROMACS 3.0: A package for molecular simulation and trajectory analysis. J. Mol. Mod. 7, 306-317 (2001)


Current developers:

David van der Spoel <spoel AT gromacs DOT org>
Berk Hess <hess AT gromacs DOT org>
Erik Lindahl <lindahl AT gromacs DOT org>

A full list of present and former contributors is available at <>

This manual page is largely based on the GROMACS online reference, and was prepared in this format by Nicholas Breen <nbreen AT ofb DOT net>.


GROMACS has no major known bugs, but be warned that it stresses your CPU more than most software. Systems with slightly flaky hardware may prove unreliable while running heavy-duty simulations. If at all possible, please try to reproduce bugs on another machine before reporting them.