g_analyze

Main Table of Contents

VERSION 4.0_rc1
Mon 22 Sep 2008


Description

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 seperated 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. For each set it also shows the relative deviation of the third and forth 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: error^2 = 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 ( a (tau1 ((exp(-t/tau1) - 1) tau1/t + 1)) +
(1-a) (tau2 ((exp(-t/tau2) - 1) tau2/t + 1)))),
where T is the total time. a, tau1 and tau2 are obtained by fitting f^2(t) to error^2. 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 -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 t^a, which is accomplished by fitting to a t + b on log-log scale. All points after the first zero or 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.

Files

optionfilenametypedescription
-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
-g fitlog.log Output, Opt. Log file

Other options

optiontypedefaultdescription
-[no]h bool no Print help info and quit
-nice int 0 Set the nicelevel
-[no]w bool no View output xvg, xpm, eps and pdb files
-[no]xvgr bool yes Add specific codes (legends etc.) in the output xvg files for the xmgrace program
-[no]time bool yes 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 seperated by &
-[no]d bool no Use the derivative
-bw real 0.1 Binwidth for the distribution
-errbar enum none Error bars for -av: none, stddev, error or 90
-[no]integrate bool no Integrate data function(s) numerically using trapezium rule
-aver_start real 0 Start averaging the integral from here
-[no]xydy bool no Interpret second data set as error in the y values for integrating
-[no]regression bool no Perform a linear regression analysis on the data
-[no]luzar bool no 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
-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 #
-[no]power bool no Fit data to: b t^a
-[no]subav bool yes Subtract the average before autocorrelating
-[no]oneacf bool no Calculate one ACF over all sets
-acflen int -1 Length of the ACF, default is half the number of frames
-[no]normalize bool yes 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 or exp9
-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 till the end


http://www.gromacs.org
gromacs@gromacs.org