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)

**Tools**

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

**Interfaces**

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 <*http://www.gromacs.org/content/view/27/42/*> 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 <http://www.gromacs.org>

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.