# Analysis Functions¶

This module defines functions for calculating physical properties from normal modes.

`calcCollectivity`(mode, masses=None, is3d=None)[source]

Returns collectivity of the mode. This function implements collectivity as defined in equation 5 of [BR95]. If masses are provided, they will be incorporated in the calculation. Otherwise, atoms are assumed to have uniform masses.

 [BR95] Bruschweiler R. Collective protein dynamics and nuclear spin relaxation. J Chem Phys 1995 102:3396-3403.
Parameters: mode (`Mode`, `Vector`, `ModeSet`) – mode(s) or vector(s) masses (`numpy.ndarray`) – atomic masses is3d (bool) – whether mode is 3d. Default is None which means determine the value based on `mode.is3d()`.
`calcCovariance`(modes)[source]

Returns covariance matrix calculated for given modes.

`calcCrossCorr`(modes, n_cpu=1, norm=True)[source]

Returns cross-correlations matrix. For a 3-d model, cross-correlations matrix is an NxN matrix, where N is the number of atoms. Each element of this matrix is the trace of the submatrix corresponding to a pair of atoms. Covariance matrix may be calculated using all modes or a subset of modes of an NMA instance. For large systems, calculation of cross-correlations matrix may be time consuming. Optionally, multiple processors may be employed to perform calculations by passing `n_cpu=2` or more.

`calcFractVariance`(mode)[source]

Returns fraction of variance explained by the mode. Fraction of variance is the ratio of the variance along a mode to the trace of the covariance matrix of the model.

`calcSqFlucts`(modes)[source]

Returns sum of square-fluctuations for given set of normal modes. Square fluctuations for a single mode is obtained by multiplying the square of the mode array with the variance (`Mode.getVariance()`) along the mode. For `PCA` and `EDA` models built using coordinate data in Å, unit of square-fluctuations is Å2, for `ANM` and `GNM`, on the other hand, it is arbitrary or relative units.

`calcTempFactors`(modes, atoms)[source]

Returns temperature (β) factors calculated using modes from a `ANM` or `GNM` instance scaled according to the experimental B-factors from atoms.

`calcProjection`(ensemble, modes, rmsd=True, norm=False)[source]

Returns projection of conformational deviations onto given modes. ensemble coordinates are used to calculate the deviations that are projected onto modes. For K conformations and M modes, a (K,M) matrix is returned.

Parameters: ensemble (`Ensemble`, `Conformation`, `Vector`, `Trajectory`) – an ensemble, trajectory or a conformation for which deviation(s) will be projected, or a deformation vector modes (`Mode`, `ModeSet`, `NMA`) – up to three normal modes

By default, root-mean-square deviation (RMSD) along the normal mode is calculated. To calculate the raw projection pass `rmsd=False`.

By default, the projection is not normalized. If you would like it to be, pass `norm=True`.

`Vector` instances are accepted as ensemble argument to allow for projecting a deformation vector onto normal modes.

`calcCrossProjection`(ensemble, mode1, mode2, scale=None, **kwargs)[source]

Returns projection of conformational deviations onto modes from different models.

Parameters: ensemble (`Ensemble`) – ensemble for which deviations will be projected mode1 (`Mode`, `Vector`) – normal mode to project conformations onto mode2 (`Mode`, `Vector`) – normal mode to project conformations onto scale – scale width of the projection onto mode1 (`x`) or mode2(`y`), an optimized scaling factor (scalar) will be calculated by default or a value of scalar can be passed.

This function uses calcProjection and its arguments can be passed to it as keyword arguments. By default, this function applies RMSD scaling and normalisation. These can be turned off with `rmsd=False` and `norm=False`.

`calcSpecDimension`(mode)[source]
Parameters: mode (`Mode` or `Vector`) – mode or vector
`calcPairDeformationDist`(model, coords, ind1, ind2, kbt=1.0)[source]

Returns distribution of the deformations in the distance contributed by each mode for selected pair of residues ind1 ind2 using model from a `ANM`. Method described in [EB08] equation (10) and figure (2).

 [EB08] Eyal E., Bahar I. Toward a Molecular Understanding of the Anisotropic Response of Proteins to External Forces: Insights from Elastic Network Models. Biophys J 2008 94:3424-34355.
Parameters: model (`ANM`) – this is an 3-dimensional `NMA` instance from a `ANM` calculations. coords (`ndarray`.) – a coordinate set or an object with `getCoords()` method. Recommended: `coords = parsePDB('pdbfile').select('protein and name CA')`. ind1 (int) – first residue number. ind2 (int) – secound residue number.
`calcDistFlucts`(modes, n_cpu=1, norm=True)[source]

Returns the matrix of distance fluctuations (i.e. an NxN matrix where N is the number of residues, of MSFs in the inter-residue distances) computed from the cross-correlation matrix (see Eq. 12.E.1 in [IB18]). The arguments are the same as in `calcCrossCorr()`.

 [IB18] Dill K, Jernigan RL, Bahar I. Protein Actions: Principles and Modeling. Garland Science 2017.
`calcHinges`(modes, atoms=None, flag=False)[source]

Returns the hinge sites identified using normal modes.

Parameters: modes (`GNM`) – normal modes of which will be used to identify hinge sites atoms (`Atomic`) – an Atomic object on which to map hinges. The output will then be a selection. flag (bool) – whether return flag or index array. Default is False
`calcHitTime`(model, method='standard')[source]

Returns the hit and commute times between pairs of nodes calculated based on a `NMA` object.

 [CB95] Chennubhotla C., Bahar I. Signal Propagation in Proteins and Relation

to Equilibrium Fluctuations. PLoS Comput Biol 2007 3(9).

Parameters: model (`NMA`) – model to be used to calculate hit times method (str) – method to be used to calculate hit times. Available options are `"standard"` or `"kirchhoff"`. Default is `"standard"` (`ndarray`, `ndarray`)
`calcHitTime`(model, method='standard')[source]

Returns the hit and commute times between pairs of nodes calculated based on a `NMA` object.

 [CB95] Chennubhotla C., Bahar I. Signal Propagation in Proteins and Relation

to Equilibrium Fluctuations. PLoS Comput Biol 2007 3(9).

Parameters: model (`NMA`) – model to be used to calculate hit times method (str) – method to be used to calculate hit times. Available options are `"standard"` or `"kirchhoff"`. Default is `"standard"` (`ndarray`, `ndarray`)
`calcAnisousFromModel`(model)[source]

Returns a 3Nx6 matrix containing anisotropic B factors (ANISOU lines) from a covariance matrix calculated from model.

Parameters: model (`ANM`, `PCA`) – 3D model from which to calculate covariance matrix
```In [1]: from prody import *

In [2]: protein = parsePDB('1ejg')

In [3]: anm, calphas = calcANM(protein)

In [4]: adp_matrix = calcAnisousFromModel(anm)
```