NAME¶
g_bar - calculates free energy difference estimates through Bennett's acceptance
ratio
VERSION 4.5.4-dev-20110404-bc5695c
SYNOPSIS¶
g_bar -f dhdl.xvg -g ener.edr -o
bar.xvg -oi barint.xvg -oh histogram.xvg
-[no]h -[no]version -nice int
-[no]w -xvg enum -b real
-e real -temp real -prec int
-nbmin int -nbmax int -nbin int
DESCRIPTION¶
g_bar calculates free energy difference estimates through Bennett's
acceptance ratio method (BAR). It also automatically adds series of individual
free energies obtained with BAR into a combined free energy estimate.
Every individual BAR free energy difference relies on two simulations at
different states: say state A and state B, as controlled by a parameter,
lambda (see the
.mdp parameter
init_lambda). The BAR method
calculates a ratio of weighted average of the Hamiltonian difference of state
B given state A and vice versa. If the Hamiltonian does not depend linearly on
lambda (in which case we can extrapolate the derivative of the Hamiltonian
with respect to lambda, as is the default when
free_energy is on), the
energy differences to the other state need to be calculated explicitly during
the simulation. This can be controlled with the
.mdp option
foreign_lambda.
Input option
-f expects multiple
dhdl.xvg files. Two types of
input files are supported:
* Files with only one
y-value, for such files it is assumed that
the
y-value is dH/dlambda and that the Hamiltonian depends linearly on
lambda. The lambda value of the simulation is inferred from the subtitle (if
present), otherwise from a number in the subdirectory in the file name.
* Files with more than one
y-value. The files should have
columns with dH/dlambda and Deltalambda. The lambda values are inferred from
the legends: lambda of the simulation from the legend of dH/dlambda and the
foreign lambda values from the legends of Delta H.
The lambda of the simulation is parsed from
dhdl.xvg file's legend
containing the string 'dH', the foreign lambda values from the legend
containing the capitalized letters 'D' and 'H'. The temperature is parsed from
the legend line containing 'T ='.
The input option
-g expects multiple
.edr files. These can
contain either lists of energy differences (see the
.mdp option
separate_dhdl_file), or a series of histograms (see the
.mdp
options
dh_hist_size and
dh_hist_spacing). The temperature and
lambda values are automatically deduced from the
ener.edr file.
The free energy estimates are determined using BAR with bisection, with the
precision of the output set with
-prec. An error estimate taking into
account time correlations is made by splitting the data into blocks and
determining the free energy differences over those blocks and assuming the
blocks are independent. The final error estimate is determined from the
average variance over 5 blocks. A range of block numbers for error estimation
can be provided with the options
-nbmin and
-nbmax.
g_bar tries to aggregate samples with the same 'native' and 'foreign'
lambda values, but always assumes independent samples.
Note that when
aggregating energy differences/derivatives with different sampling intervals,
this is almost certainly not correct. Usually subsequent energies are
correlated and different time intervals mean different degrees of correlation
between samples.
The results are split in two parts: the last part contains the final results in
kJ/mol, together with the error estimate for each part and the total. The
first part contains detailed free energy difference estimates and phase space
overlap measures in units of kT (together with their computed error estimate).
The printed values are:
* lam_A: the lambda values for point A.
* lam_B: the lambda values for point B.
* DG: the free energy estimate.
* s_A: an estimate of the relative entropy of B in A.
* s_A: an estimate of the relative entropy of A in B.
* stdev: an estimate expected per-sample standard deviation.
The relative entropy of both states in each other's ensemble can be interpreted
as a measure of phase space overlap: the relative entropy s_A of the work
samples of lambda_B in the ensemble of lambda_A (and vice versa for s_B), is a
measure of the 'distance' between Boltzmann distributions of the two states,
that goes to zero for identical distributions. See Wu & Kofke, J. Chem.
Phys. 123 084109 (2005) for more information.
The estimate of the expected per-sample standard deviation, as given in
Bennett's original BAR paper: Bennett, J. Comp. Phys. 22, p 245 (1976). Eq. 10
therein gives an estimate of the quality of sampling (not directly of the
actual statistical error, because it assumes independent samples).
To get a visual estimate of the phase space overlap, use the
-oh option
to write series of histograms, together with the
-nbin option.
FILES¶
-f dhdl.xvg Input, Opt., Mult.
xvgr/xmgr file
-g ener.edr Input, Opt., Mult.
Energy file
-o bar.xvg Output, Opt.
xvgr/xmgr file
-oi barint.xvg Output, Opt.
xvgr/xmgr file
-oh histogram.xvg Output, Opt.
xvgr/xmgr file
OTHER OPTIONS¶
-[no]hno
Print help info and quit
-[no]versionno
Print version info and quit
-nice int 0
Set the nicelevel
-[no]wno
View output
.xvg,
.xpm,
.eps and
.pdb files
-xvg enum xmgrace
xvg plot formatting:
xmgrace,
xmgr or
none
-b real 0
Begin time for BAR
-e real -1
End time for BAR
-temp real -1
Temperature (K)
-prec int 2
The number of digits after the decimal point
-nbmin int 5
Minimum number of blocks for error estimation
-nbmax int 5
Maximum number of blocks for error estimation
-nbin int 100
Number of bins for histogram output
SEE ALSO¶
gromacs(7)
More information about
GROMACS is available at
<
http://www.gromacs.org/>.