g_analyze(1) analyzes data sets


g_analyze -f graph.xvg -ac autocorr.xvg -msd msd.xvg -cc coscont.xvg -dist distr.xvg -av average.xvg -ee errest.xvg -bal ballisitc.xvg -g fitlog.log -[no]h -[no]version -nice int -[no]w -xvg enum -[no]time -b real -e real -n int -[no]d -bw real -errbar enum -[no]integrate -aver_start real -[no]xydy -[no]regression -[no]luzar -temp real -fitstart real -fitend real -smooth real -filter real -[no]power -[no]subav -[no]oneacf -acflen int -[no]normalize -P enum -fitfn enum -ncskip int -beginfit real -endfit real


g_analyze reads an ASCII file and analyzes data sets. A line in the input file may start with a time (see option -time) and any number of y-values may follow. Multiple sets can also be read when they are separated by & (option -n); in this case only one y-value is read from each line. All lines starting with and @ are skipped. All analyses can also be done for the derivative of a set (option -d).

All options, except for -av and -power, assume that the points are equidistant in time.

g_analyze always shows the average and standard deviation of each set, as well as the relative deviation of the third and fourth cumulant from those of a Gaussian distribution with the same standard deviation.

Option -ac produces the autocorrelation function(s).

Option -cc plots the resemblance of set i with a cosine of i/2 periods. The formula is: 2 (int0-T y(t) cos(i pi t) dt)2 / int0-T y(t) y(t) dt

This is useful for principal components obtained from covariance analysis, since the principal components of random diffusion are pure cosines.

Option -msd produces the mean square displacement(s).

Option -dist produces distribution plot(s).

Option -av produces the average over the sets. Error bars can be added with the option -errbar. The errorbars can represent the standard deviation, the error (assuming the points are independent) or the interval containing 90% of the points, by discarding 5% of the points at the top and the bottom.

Option -ee produces error estimates using block averaging. A set is divided in a number of blocks and averages are calculated for each block. The error for the total average is calculated from the variance between averages of the m blocks B_i as follows: error2 = Sum (B_i - B)2 / (m*(m-1)). These errors are plotted as a function of the block size. Also an analytical block average curve is plotted, assuming that the autocorrelation is a sum of two exponentials. The analytical curve for the block average is:

f(t) = sigma *sqrt(2/T ( alpha (tau1 ((exp(-t/tau1) - 1) tau1/t + 1)) +

(1-alpha) (tau2 ((exp(-t/tau2) - 1) tau2/t + 1)))), where T is the total time. alpha, tau1 and tau2 are obtained by fitting f2(t) to error2. When the actual block average is very close to the analytical curve, the error is sigma *sqrt(2/T (a tau1 + (1-a) tau2)). The complete derivation is given in B. Hess, J. Chem. Phys. 116:209-217, 2002.

Option -bal finds and subtracts the ultrafast "ballistic" component from a hydrogen bond autocorrelation function by the fitting of a sum of exponentials, as described in e.g. O. Markovitch, J. Chem. Phys. 129:084505, 2008. The fastest term is the one with the most negative coefficient in the exponential, or with -d, the one with most negative time derivative at time 0. -nbalexp sets the number of exponentials to fit.

Option -gem fits bimolecular rate constants ka and kb (and optionally kD) to the hydrogen bond autocorrelation function according to the reversible geminate recombination model. Removal of the ballistic component first is strongly advised. The model is presented in O. Markovitch, J. Chem. Phys. 129:084505, 2008.

Option -filter prints the RMS high-frequency fluctuation of each set and over all sets with respect to a filtered average. The filter is proportional to cos(pi t/len) where t goes from -len/2 to len/2. len is supplied with the option -filter. This filter reduces oscillations with period len/2 and len by a factor of 0.79 and 0.33 respectively.

Option -g fits the data to the function given with option -fitfn.

Option -power fits the data to b ta, which is accomplished by fitting to a t + b on log-log scale. All points after the first zero or with a negative value are ignored.

Option -luzar performs a Luzar & Chandler kinetics analysis on output from g_hbond. The input file can be taken directly from g_hbond -ac, and then the same result should be produced.


-f graph.xvg Input
 xvgr/xmgr file 

-ac autocorr.xvg Output, Opt.
 xvgr/xmgr file 

-msd msd.xvg Output, Opt.
 xvgr/xmgr file 

-cc coscont.xvg Output, Opt.
 xvgr/xmgr file 

-dist distr.xvg Output, Opt.
 xvgr/xmgr file 

-av average.xvg Output, Opt.
 xvgr/xmgr file 

-ee errest.xvg Output, Opt.
 xvgr/xmgr file 

-bal ballisitc.xvg Output, Opt.
 xvgr/xmgr file 

-g fitlog.log Output, Opt.
 Log file 


 Print help info and quit

 Print version info and quit

-nice int 0
 Set the nicelevel

 View output  .xvg .xpm .eps and  .pdb files

-xvg enum xmgrace
 xvg plot formatting:  xmgrace xmgr or  none

 Expect a time in the input

-b real -1
 First time to read from set

-e real -1
 Last time to read from set

-n int 1
 Read  sets separated by &

 Use the derivative

-bw real 0.1
 Binwidth for the distribution

-errbar enum none
 Error bars for  -av none stddev error or  90

 Integrate data function(s) numerically using trapezium rule

-aver_start real 0
 Start averaging the integral from here

 Interpret second data set as error in the y values for integrating

 Perform a linear regression analysis on the data. If  -xydy is set a second set will be interpreted as the error bar in the Y value. Otherwise, if multiple data sets are present a multilinear regression will be performed yielding the constant A that minimize chi2 = (y - A0 x0 - A1 x1 - ... - AN xN)2 where now Y is the first data set in the input file and xi the others. Do read the information at the option  -time.

 Do a Luzar and Chandler analysis on a correlation function and related as produced by  g_hbond. When in addition the  -xydy flag is given the second and fourth column will be interpreted as errors in c(t) and n(t).

-temp real 298.15
 Temperature for the Luzar hydrogen bonding kinetics analysis

-fitstart real 1
 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

-fitend real 60
 Time (ps) where to stop fitting the correlation functions in order to obtain the forward and backward rate constants for HB breaking and formation. Only with  -gem

-smooth real -1
 If = 0, the tail of the ACF will be smoothed by fitting it to an exponential function: y = A exp(-x/tau)

-filter real 0
 Print the high-frequency fluctuation after filtering with a cosine filter of length 

 Fit data to: b ta

 Subtract the average before autocorrelating

 Calculate one ACF over all sets

-acflen int -1
 Length of the ACF, default is half the number of frames

 Normalize ACF

-P enum 0
 Order of Legendre polynomial for ACF (0 indicates none):  0 1 2 or  3

-fitfn enum none
 Fit function:  none exp aexp exp_exp vac exp5 exp7 exp9 or  erffit

-ncskip int 0
 Skip N points in the output file of correlation functions

-beginfit real 0
 Time where to begin the exponential fit of the correlation function

-endfit real -1
 Time where to end the exponential fit of the correlation function, -1 is until the end