Dynamics Analysis

This module defines classes and functions for protein dynamics analysis.

Dynamics Models

The following classes are designed for modeling and analysis of protein dynamics:

  • ANM - Anisotropic network model, for coarse-grained NMA
  • GNM - Gaussian network model, for coarse-grained dynamics analysis
  • PCA - Principal component analysis of conformation ensembles
  • EDA - Essential dynamics analysis of dynamics trajectories
  • NMA - Normal mode analysis, for analyzing data from external programs
  • RTB - Rotations and Translation of Blocks method

Usage of these classes are shown in Anisotropic Network Model (ANM), Gaussian Network Model (GNM), Ensemble Analysis, and Essential Dynamics Analysis examples.

The following classes are for analysis of individual modes or subsets of modes:

  • Mode - analyze individual normal/principal/essential modes
  • ModeSet - analyze subset of modes from a dynamics model
  • Vector - analyze modified modes or deformation vectors

Customize ENMs

The following classes allow for using structure or distance based, or other custom force constants and cutoff distances in ANM and GNM calculations:

Membrane Models

The following classes are designed for modeling and analysis of protein dynamics in membranes:

  • exANM - perform explicit membrane ANM, creating an explicit membrane lattice
  • exGNM - perform explicit membrane GNM, creating an explicit membrane lattice
  • imANM() - perform implicit membrane GNM, creating anisotropic constraints in the membrane domain using RTB

Usage of these classes are shown in exanm and imanm examples.

Signature Dynamics (SignDy)

The following classes are designed for signature dynamics analysis of protein/domain families, together with those in the database module:

  • calcEnsembleENMs() - perform NMA on a protein family ensemble using ENMs
  • ModeEnsemble - handle outputs of ensemble NMA, an ensemble of normal modes
  • sdarray - handle signature dynamics data in an array based on a numpy array

There are many other functions starting showSignature or calcSignature for plotting and analysis. There are also load and save functions for mode ensembles and signature arrays.

Usage of these classes are shown in Overview, Core Calculations, and Classification using sequence, structure and dynamics distances examples.

Function library

Dynamics of the functions in this library accept a modes argument (may also appear in different names), which may refer to one or more of the following:

  • a dynamics model, ANM, SM, GNM, NMA, PCA, or EDA
  • a Mode obtained by indexing an NMA model, e.g. anm[0]
  • a ModeSet obtained by slicing an NMA model, e.g. anm[0:10]

Some of these functions may also accept Vector instances as mode argument. These are noted in function documentations.

Analyze models

The following functions are for calculating atomic properties from normal modes:

Compare models

The following functions are for comparing normal modes or dynamics models:

Generate conformers

The following functions can be used to generate conformers along normal modes:

Adaptive ANM

The following class and its functions can be used to generate conformers using adaptive ANM:

  • AdaptiveANM - generate transitions between two conformers using best overlapping modes

ENM-MD hybrid methods

The following classes and functions can be used to generate conformers using ENM-MD hybrid methods:

  • ClustENM - generate conformers by exploring combinations of modes and clustering, using minimisation and optionally MD
  • :function:`.ANMD` - generate conformers by traversing a number of individual modes, applying minimisation to each conformer

Essential Site Scanning Analysis (ESSA)

The following class and its functions can be used to perform Essential Site Scanning Analysis:

Editing models

The following functions can be used to reduce, slice, or extrapolate models:

Parse/write data

The following functions are parsing or writing normal mode data:

Save/load models

Dynamics objects can be efficiently saved and loaded in later Python sessions using the following functions:

Short-hand functions

Following allow for performing some dynamics calculations in one function call:

  • calcANM() - perform ANM calculations
  • calcGNM() - perform GNM calculations
  • calcSM() - perform GNM calculations

Plotting functions

Plotting functions are called by the name of the plotted data/property and are prefixed with “show”. Function documentations refers to the matplotlib.pyplot function utilized for actual plotting. Arguments and keyword arguments are passed to the Matplotlib functions.

Heat Mapper support

The following functions can be used to read, write, and plot VMD plugin Heat Mapper files.

Visualize modes

Finally, normal modes can be visualized and animated using VMD plugin Normal Mode Wizard. The following functions allow for running NMWiz from within Python: