gromacs - molecular dynamics simulation suite (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
editconf edits the box and writes subgroups g_protonate protonates structures g_x2top generates a primitive topology from coordinates genbox solvates a system genconf multiplies a conformation in 'random' orientations genion generates mono atomic ions on energetically favorable positions genrestr generates position restraints or distance restraints for index groups pdb2gmx converts coordinate files to topology and FF-compliant coordinate files

Running a simulation
grompp makes a run input file mdrun performs a simulation, do a normal mode analysis or an energy minimization tpbconv makes a run input file for restarting a crashed run

Viewing trajectories
g_nmtraj generate a virtual trajectory from an eigenvector ngmx displays a trajectory

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

Converting files
editconf converts and manipulates structure files eneconv converts energy files g_sigeps convert c6/12 or c6/cn combinations to and from sigma/epsilon trjcat concatenates trajectory files trjconv converts and manipulates trajectory files xpm2ps converts XPM matrices to encapsulated postscript (or XPM)

Tools
g_analyze analyzes data sets g_dyndom interpolate and extrapolate structure rotations g_filter frequency filters trajectories, useful for making smooth movies g_lie free energy estimate from linear combinations g_morph linear interpolation of conformations g_pme_error estimates the error of using PME with a given input file g_select selects groups of atoms based on flexible textual selections g_sham read/write xmgr and xvgr data sets g_spatial calculates the spatial distribution function g_traj plots x, v and f of selected atoms/groups (and more) from a trajectory g_tune_pme time mdrun as a function of PME nodes to optimize settings g_wham weighted histogram analysis after umbrella sampling gmxcheck checks and compares files gmxdump makes binary files human readable make_ndx makes index files mk_angndx generates index files for g_angle trjorder orders molecules according to their distance to a group xpm2ps convert XPM (XPixelMap) file to postscript

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

Distances in structures over time
g_bond calculates distances between atoms g_dist calculates the distances between the centers of mass of two groups g_mindist calculates the minimum distance between two groups g_mdmat calculates residue contact maps g_polystat calculates static properties of polymers g_rmsdist calculates atom pair distances averaged with power -2, -3 or -6

Mass distribution properties over time
g_gyrate calculates the radius of gyration g_msd calculates mean square displacements g_polystat calculates static properties of polymers g_rdf calculates radial distribution functions g_rotacf calculates the rotational correlation function for molecules g_rotmat plots the rotation matrix for fitting to a reference structure g_sans computes the small angle neutron scattering spectra g_traj plots x, v, f, box, temperature and rotational energy g_vanhove calculates Van Hove displacement functions

Analyzing bonded interactions
g_angle calculates distributions and correlations for angles and dihedrals g_bond calculates bond length distributions mk_angndx generates index files for g_angle

Structural properties
g_anadock cluster structures from Autodock runs g_bundle analyzes bundles of axes, e.g. helices g_clustsize calculate size distributions of atomic clusters g_disre analyzes distance restraints g_hbond computes and analyzes hydrogen bonds g_order computes the order parameter per atom for carbon tails g_principal calculates axes of inertia for a group of atoms g_rdf calculates radial distribution functions g_saltbr computes salt bridges g_sas computes solvent accessible surface area g_sgangle computes the angle and distance between two groups g_sorient analyzes solvent orientation around solutes g_spol analyzes solvent dipole orientation and polarization around solutes

Kinetic properties
g_bar calculates free energy difference estimates through Bennett's acceptance ratio g_current calculate current autocorrelation function of system g_dos analyzes density of states and properties based on that g_dyecoupl extracts dye dynamics from trajectories g_kinetics analyzes kinetic constants from properties based on the Eyring model g_principal calculate principal axes of inertion for a group of atoms g_tcaf calculates viscosities of liquids g_traj plots x, v, f, box, temperature and rotational energy g_vanhove compute Van Hove correlation function g_velacc calculates velocity autocorrelation functions

Electrostatic properties
g_current calculates dielectric constants for charged systems g_dielectric calculates frequency dependent dielectric constants g_dipoles computes the total dipole plus fluctuations g_potential calculates the electrostatic potential across the box g_spol analyze dipoles around a solute genion generates mono atomic ions on energetically favorable positions

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 basic properties of alpha helices g_helixorient calculates local pitch/bending/rotation/orientation inside helices g_rama computes Ramachandran plots g_wheel plots helical wheels g_xrama shows animated Ramachandran plots

Interfaces
g_bundle analyzes bundles of axes, e.g. transmembrane helices g_density calculates the density of the system g_densmap calculates 2D planar or axial-radial density maps g_densorder calculate surface fluctuations g_h2order computes the orientation of water molecules g_hydorder computes tetrahedrality parameters around a given atom g_order computes the order parameter per atom for carbon tails g_membed embeds a protein into a lipid bilayer g_potential calculates the electrostatic potential across the box

Covariance analysis
g_anaeig analyzes the eigenvectors g_covar calculates and diagonalizes the covariance matrix make_edi generate input files for essential dynamics sampling

Normal modes
g_anaeig analyzes the normal modes g_nmeig diagonalizes the Hessian g_nmtraj generate oscillating trajectory of an eigenmode g_nmens generates an ensemble of structures from the normal modes grompp makes a run input file mdrun finds a potential energy minimum and calculates the Hessian 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) B. Hess, C. Kutzner, D. van der Spoel, and E. Lindahl. GROMACS 4: Algorithms for Highly Efficient, Load-Balanced, and Scalable Molecular Simulation. J. Chem. Theory Comput. 4, 3, 435-447 (2008), <http://dx.doi.org/10.1021/ct700301q> Current developers: David van der Spoel <spoel@gromacs.org>
Berk Hess <hess@gromacs.org>
Erik Lindahl <lindahl@gromacs.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@ofb.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.