g_analyze

Main Table of Contents

VERSION 3.2.0
Sun 25 Jan 2004


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(pi t/i) 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 BA is:
BA(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 BA(t) to the calculated block average. When the actual block average is very close to the analytical curve, the error is sigma*sqrt(2/T (a tau1 + (1-a) tau2)).

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 -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.

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 19 Set the nicelevel
-[no]w bool no View output xvg, xpm, eps and pdb files
-[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
-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