Scroll to navigation



gmx-hbond - Compute and analyze hydrogen bonds


gmx hbond [-f [<.xtc/.trr/...>]] [-s [<.tpr>]] [-n [<.ndx>]]

[-num [<.xvg>]] [-g [<.log>]] [-ac [<.xvg>]]
[-dist [<.xvg>]] [-ang [<.xvg>]] [-hx [<.xvg>]]
[-hbn [<.ndx>]] [-hbm [<.xpm>]] [-don [<.xvg>]]
[-dan [<.xvg>]] [-life [<.xvg>]] [-nhbdist [<.xvg>]]
[-b <time>] [-e <time>] [-dt <time>] [-tu <enum>]
[-xvg <enum>] [-a <real>] [-r <real>] [-[no]da]
[-r2 <real>] [-abin <real>] [-rbin <real>] [-[no]nitacc]
[-[no]contact] [-shell <real>] [-fitstart <real>]
[-fitend <real>] [-temp <real>] [-dump <int>]
[-max_hb <real>] [-[no]merge] [-acflen <int>]
[-[no]normalize] [-P <enum>] [-fitfn <enum>]
[-beginfit <real>] [-endfit <real>]


gmx hbond computes and analyzes hydrogen bonds. Hydrogen bonds are determined based on cutoffs for the angle Hydrogen - Donor - Acceptor (zero is extended) and the distance Donor - Acceptor (or Hydrogen - Acceptor using -noda). OH and NH groups are regarded as donors, O is an acceptor always, N is an acceptor by default, but this can be switched using -nitacc. Dummy hydrogen atoms are assumed to be connected to the first preceding non-hydrogen atom.

You need to specify two groups for analysis, which must be either identical or non-overlapping. All hydrogen bonds between the two groups are analyzed.

If you set -shell, you will be asked for an additional index group which should contain exactly one atom. In this case, only hydrogen bonds between atoms within the shell distance from the one atom are considered.

With option -ac, rate constants for hydrogen bonding can be derived with the model of Luzar and Chandler (Nature 379:55, 1996; J. Chem. Phys. 113:23, 2000). If contact kinetics are analyzed by using the -contact option, then n(t) can be defined as either all pairs that are not within contact distance r at time t (corresponding to leaving the -r2 option at the default value 0) or all pairs that are within distance r2 (corresponding to setting a second cut-off value with option -r2). See mentioned literature for more details and definitions.


  • -num: number of hydrogen bonds as a function of time.
  • -ac: average over all autocorrelations of the existence functions (either 0 or 1) of all hydrogen bonds.
  • -dist: distance distribution of all hydrogen bonds.
  • -ang: angle distribution of all hydrogen bonds.
  • -hx: the number of n-n+i hydrogen bonds as a function of time where n and n+i stand for residue numbers and i ranges from 0 to 6. This includes the n-n+3, n-n+4 and n-n+5 hydrogen bonds associated with helices in proteins.
  • -hbn: all selected groups, donors, hydrogens and acceptors for selected groups, all hydrogen bonded atoms from all groups and all solvent atoms involved in insertion.
  • -hbm: existence matrix for all hydrogen bonds over all frames, this also contains information on solvent insertion into hydrogen bonds. Ordering is identical to that in -hbn index file.
  • -dan: write out the number of donors and acceptors analyzed for each timeframe. This is especially useful when using -shell.
  • -nhbdist: compute the number of HBonds per hydrogen in order to compare results to Raman Spectroscopy.

Note: options -ac, -life, -hbn and -hbm require an amount of memory proportional to the total numbers of donors times the total number of acceptors in the selected group(s).


Options to specify input files:

Trajectory: xtc trr cpt gro g96 pdb tng
Portable xdr run input file
Index file

Options to specify output files:

Other options:

Time of first frame to read from trajectory (default unit ps)
Time of last frame to read from trajectory (default unit ps)
Only use frame when t MOD dt = first time (default unit ps)
Unit for time values: fs, ps, ns, us, ms, s
xvg plot formatting: xmgrace, xmgr, none
Cutoff angle (degrees, Hydrogen - Donor - Acceptor)
Cutoff radius (nm, X - Acceptor, see next option)
-[no]da (yes)
Use distance Donor-Acceptor (if TRUE) or Hydrogen-Acceptor (FALSE)
Second cutoff radius. Mainly useful with -contact and -ac
Binwidth angle distribution (degrees)
Binwidth distance distribution (nm)
-[no]nitacc (yes)
Regard nitrogen atoms as acceptors
-[no]contact (no)
Do not look for hydrogen bonds, but merely for contacts within the cut-off distance
when > 0, only calculate hydrogen bonds within # nm shell around one particle
Time (ps) from which to start fitting the correlation functions in order to obtain the forward and backward rate constants for HB breaking and formation. With -gemfit we suggest -fitstart 0
Time (ps) to which to stop fitting the correlation functions in order to obtain the forward and backward rate constants for HB breaking and formation (only with -gemfit)
Temperature (K) for computing the Gibbs energy corresponding to HB breaking and reforming
Dump the first N hydrogen bond ACFs in a single .xvg file for debugging
Theoretical maximum number of hydrogen bonds used for normalizing HB autocorrelation function. Can be useful in case the program estimates it wrongly
-[no]merge (yes)
H-bonds between the same donor and acceptor, but with different hydrogen are treated as a single H-bond. Mainly important for the ACF.
Length of the ACF, default is half the number of frames
-[no]normalize (yes)
Normalize ACF
Order of Legendre polynomial for ACF (0 indicates none): 0, 1, 2, 3
Fit function: none, exp, aexp, exp_exp, exp5, exp7, exp9
Time where to begin the exponential fit of the correlation function
Time where to end the exponential fit of the correlation function, -1 is until the end


The option -sel that used to work on selected hbonds is out of order, and therefore not available for the time being.



More information about GROMACS is available at <>.


2021, GROMACS development team

March 29, 2021 2020.6-Debian-2020.6-2