Perform various analyses on eigenmodes (from e.g. diagmatrix).

modes {fluct|displ|corr|eigenval|trajout|rmsip} name <modesname> [name2 <modesname>] [beg <beg>] [end <end>] [bose] [factor <factor>] [calcall]
[out <outfile>] [setname <name>]

Options for ’trajout’: (Generate pseudo-trajectory)

[trajout <name> parm <name> | parmindex <#>[trajoutfmt <format>] [trajoutmask <mask>][pcmin <pcmin>] [pcmax <pcmax>] [tmode <mode>]]

Options for ’corr’: (Calculate dipole correlation)
{ maskp <mask1> <mask2> [...] | mask1 <mask> mask2 <mask> } parm <name> | parmindex <#>

Types of Calculations:
fluct RMS fluctuations (X, Y, Z, and total) for each atom across specified normal modes.
displ Displacement of cartesian coordinates in the X, Y and Z directions for each atom across specified normal modes.
corr Dipole-dipole correlation functions. Must also specify maskp (see below).
eigenval Calculate eigenvalue fractions.
trajout Create a pseudo-trajectory along the given mode from the average structure.
rmsip Calculate the root-mean-square inner product between modes specified by name and name2.

name <modesname> Previously read-in or generated Modes data set name.
[beg <beg>] [end <end>] If modes taken from datafile, beginning and end modes to read. Default for beg is 7 (which skips the first 6 zero-frequency modes in the case of a normal mode analysis); for end it is 50.
[bose] Use quantum (Bose) statistics in populating the modes.
[factor <factor>] multiplicative constant on the amplitude of displacement/pseudo-trajectory, default 1.0.
[calcall] If specified use all eigenvectors; otherwise eigenvectors associated with zero or negative eigenvalues will be skipped.
[out <outfile>] File to write data results to. If not given results are written to STDOUT.
[setname <name>] Output data set name.

Options for ’trajout’:
<name> Output trajectory file name.
[parm <parmfile/tag>|parmindex <#>] Topology file to use (default first Topology loaded).
[trajoutfmt <format>] Output trajectory format.
[trajoutmask <mask>] Mask of atoms that correspond to how modes were originally generated.
[pcmin <pcmin>] Lowest principal component projection value to use for output trajectory.
[pcmax <pcmax>] Highest principal component projection value to use for output trajectory.
[tmode <mode>] Mode to generate pseudo-trajectory for.

Options for ’corr’:
[maskp <mask1> <mask2> [...]] If corr, pairs of atom masks (mask1, mask2; each pair preceded by “maskp” and each mask defining only a single atom) have to be given that specify the atoms for which the correlation functions are desired.
mask1 <mask> mask2 <mask> Instead of maskp, specify two masks; atoms from the first mask will be paired up with atoms from the second mask.

DataSets Created (fluct)
<name>[rmsX] RMS fluctuations in the X direction.
<name>[rmsY] RMS fluctuations in the Y direction.
<name>[rmsZ] RMS fluctuations in the Z direction.
<name>[rms] Total RMS fluctuations.

DataSets Created (displ)
<name>[displX] Displacement in X direction.
<name>[displY] Displacement in Y direction.
<name>[displZ] Displacement in Z direction.

DataSets Created (eigenval)
<name>[Frac] Fraction eigenvalue contributes to overall motion.
<name>[Cumulative] Cumulative fraction.
<name>[Eigenval] Value of eigenvlue.

DataSets Created (rmsip)
<name> Result of RMSIP calculation.

Analyze previously calculated eigenmodes obtained from principal component analyses (of covariance matrices) or quasiharmonic analyses (diagmatrix analysis command). Modes are taken from a previously generated data set (i.e. from diagmatrix) or read in from a data file with readdata. By default, classical (Boltzmann) statistics are used in populating the modes. A possible series of commands would be “matrix covar j mwcovar …” to generate the matrix, “diagmatrix …” to calculate the modes, and, finally, “modes …”.

For example, to calculate the RMS fluctuations or displacements of the first 3 eigenmodes calculated from a mass-weighted covariance matrix:

matrix mwcovar name mwcvmat out mwcvmat.dat
diagmatrix mwcvmat name evecs vecs 5
modes fluct out rmsfluct.dat name evecs beg 1 end 3
modes displ out resdispl.dat name evecs beg 1 end 3

Additionally, dipole-dipole correlation functions for modes obtained from principle component analysis or quasiharmonic analysis can be computed.

modes corr out cffromvec.dat name evecs beg 1 end 3 \
maskp @1 @2 maskp @3 @4 maskp @5 @6


mode corr out cffromvec.dat name evecs beg 1 end 3 mask1 @1,3,5 mask2 @2,4,6

If eigenval is specified, the fraction contribution of each eigenvector to the total motion is calculated and output with format:

#Mode Frac. Cumulative Eigenval

where #Mode is the eigenvector number, Frac. is the eigenvalue over the sum of all eigenvalues, Cumulative is the cumulative sum of Frac., and Eigenval is the eigenvalue itself. Note that in order to get an idea for how much each eigenvector contributes to all motion, this is best used when all possible eigenvectors have been determined for a system.

In order to visualize eigenvectors, pseudo-trajectories along eigenvectors can be created using average coordinates with the trajout keyword. For example, to write a pseudo-trajectory of the first principal component from principal component value of -100 to 100 for a previously calculated Modes data set corresponding to heavy atoms (no hydrogens) for residues 1 to 36:

parm ../GAAC.nowat.parm7
readdata evecs.dat
runanalysis modes name evecs.dat trajout trajoutfmt netcdf \
trajoutmask :1-36&!@H= pcmin -100 pcmax 100 tmode 1