# gmx-anaeig - Man Page

Analyze eigenvectors/normal modes

## Synopsis

gmx anaeig [-v[<.trr/.cpt/...>]] [-v2[<.trr/.cpt/...>]] [-f[<.xtc/.trr/...>]] [-s[<.tpr/.gro/...>]] [-n[<.ndx>]] [-eig[<.xvg>]] [-eig2[<.xvg>]] [-comp[<.xvg>]] [-rmsf[<.xvg>]] [-proj[<.xvg>]] [-2d[<.xvg>]] [-3d[<.gro/.g96/...>]] [-filt[<.xtc/.trr/...>]] [-extr[<.xtc/.trr/...>]] [-over[<.xvg>]] [-inpr[<.xpm>]] [-b<time>] [-e<time>] [-dt<time>] [-tu<enum>] [-[no]w] [-xvg<enum>] [-first<int>] [-last<int>] [-skip<int>] [-max<real>] [-nframes<int>] [-[no]split] [-[no]entropy] [-temp<real>] [-nevskip<int>]

## Description

**gmx anaeig** analyzes eigenvectors. The eigenvectors can be of a covariance matrix (*gmx covar*) or of a Normal Modes analysis (*gmx nmeig*).

When a trajectory is projected on eigenvectors, all structures are fitted to the structure in the eigenvector file, if present, otherwise to the structure in the structure file. When no run input file is supplied, periodicity will not be taken into account. Most analyses are performed on eigenvectors **-first** to **-last**, but when **-first** is set to -1 you will be prompted for a selection.

**-comp**: plot the vector components per atom of eigenvectors **-first** to **-last**.

**-rmsf**: plot the RMS fluctuation per atom of eigenvectors **-first** to **-last** (requires **-eig**).

**-proj**: calculate projections of a trajectory on eigenvectors **-first** to **-last**. The projections of a trajectory on the eigenvectors of its covariance matrix are called principal components (pc's). It is often useful to check the cosine content of the pc's, since the pc's of random diffusion are cosines with the number of periods equal to half the pc index. The cosine content of the pc's can be calculated with the program *gmx analyze*.

**-2d**: calculate a 2d projection of a trajectory on eigenvectors **-first** and **-last**.

**-3d**: calculate a 3d projection of a trajectory on the first three selected eigenvectors.

**-filt**: filter the trajectory to show only the motion along eigenvectors **-first** to **-last**.

**-extr**: calculate the two extreme projections along a trajectory on the average structure and interpolate **-nframes** frames between them, or set your own extremes with **-max**. The eigenvector **-first** will be written unless **-first** and **-last** have been set explicitly, in which case all eigenvectors will be written to separate files. Chain identifiers will be added when writing a *.pdb* file with two or three structures (you can use **rasmol -nmrpdb** to view such a *.pdb* file).

### Overlap calculations between covariance analysis

**Note:** the analysis should use the same fitting structure

**-over**: calculate the subspace overlap of the eigenvectors in file **-v2** with eigenvectors **-first** to **-last** in file **-v**.

**-inpr**: calculate a matrix of inner-products between eigenvectors in files **-v** and **-v2**. All eigenvectors of both files will be used unless **-first** and **-last** have been set explicitly.

When **-v** and **-v2** are given, a single number for the overlap between the covariance matrices is generated. Note that the eigenvalues are by default read from the timestamp field in the eigenvector input files, but when **-eig**, or **-eig2** are given, the corresponding eigenvalues are used instead. The formulas are:

difference = sqrt(tr((sqrt(M1) - sqrt(M2))^2)) normalized overlap = 1 - difference/sqrt(tr(M1) + tr(M2)) shape overlap = 1 - sqrt(tr((sqrt(M1/tr(M1)) - sqrt(M2/tr(M2)))^2))

where M1 and M2 are the two covariance matrices and tr is the trace of a matrix. The numbers are proportional to the overlap of the square root of the fluctuations. The normalized overlap is the most useful number, it is 1 for identical matrices and 0 when the sampled subspaces are orthogonal.

When the **-entropy** flag is given an entropy estimate will be computed based on the Quasiharmonic approach and based on Schlitter's formula.

## Options

Options to specify input files:

**-v [<.trr/.cpt/...>] (eigenvec.trr)**Full precision trajectory:

*trr cpt tng***-v2 [<.trr/.cpt/...>] (eigenvec2.trr) (Optional)**Full precision trajectory:

*trr cpt tng***-f [<.xtc/.trr/...>] (traj.xtc) (Optional)**Trajectory:

*xtc trr cpt gro g96 pdb tng***-s [<.tpr/.gro/...>] (topol.tpr) (Optional)**Structure+mass(db):

*tpr gro g96 pdb*brk ent**-n [<.ndx>] (index.ndx) (Optional)**Index file

**-eig [<.xvg>] (eigenval.xvg) (Optional)**xvgr/xmgr file

**-eig2 [<.xvg>] (eigenval2.xvg) (Optional)**xvgr/xmgr file

Options to specify output files:

**-comp [<.xvg>] (eigcomp.xvg) (Optional)**xvgr/xmgr file

**-rmsf [<.xvg>] (eigrmsf.xvg) (Optional)**xvgr/xmgr file

**-proj [<.xvg>] (proj.xvg) (Optional)**xvgr/xmgr file

**-2d [<.xvg>] (2dproj.xvg) (Optional)**xvgr/xmgr file

**-3d [<.gro/.g96/...>] (3dproj.pdb) (Optional)**Structure file:

*gro g96 pdb*brk ent esp**-filt [<.xtc/.trr/...>] (filtered.xtc) (Optional)**Trajectory:

*xtc trr cpt gro g96 pdb tng***-extr [<.xtc/.trr/...>] (extreme.pdb) (Optional)**Trajectory:

*xtc trr cpt gro g96 pdb tng***-over [<.xvg>] (overlap.xvg) (Optional)**xvgr/xmgr file

**-inpr [<.xpm>] (inprod.xpm) (Optional)**X PixMap compatible matrix file

Other options:

**-b <time> (0)**Time of first frame to read from trajectory (default unit ps)

**-e <time> (0)**Time of last frame to read from trajectory (default unit ps)

**-dt <time> (0)**Only use frame when t MOD dt = first time (default unit ps)

**-tu <enum> (ps)**Unit for time values: fs, ps, ns, us, ms, s

- -[no]w
**(no)** View output

*.xvg*,*.xpm*,*.eps*and*.pdb*files**-xvg <enum> (xmgrace)**xvg plot formatting: xmgrace, xmgr, none

**-first <int> (1)**First eigenvector for analysis (-1 is select)

**-last <int> (-1)**Last eigenvector for analysis (-1 is till the last)

**-skip <int> (1)**Only analyse every nr-th frame

**-max <real> (0)**Maximum for projection of the eigenvector on the average structure, max=0 gives the extremes

**-nframes <int> (2)**Number of frames for the extremes output

- -[no]split
**(no)** Split eigenvector projections where time is zero

- -[no]entropy
**(no)** Compute entropy according to the Quasiharmonic formula or Schlitter's method.

**-temp <real> (298.15)**Temperature for entropy calculations

**-nevskip <int> (6)**Number of eigenvalues to skip when computing the entropy due to the quasi harmonic approximation. When you do a rotational and/or translational fit prior to the covariance analysis, you get 3 or 6 eigenvalues that are very close to zero, and which should not be taken into account when computing the entropy.

## See Also

More information about GROMACS is available at <http://www.gromacs.org/>.

## Copyright

2024, GROMACS development team