Adaptive ANM

This module defines functions for performing adaptive ANM.

calcAdaptiveANM(a, b, n_steps, mode=0, **kwargs)[source]

Runs adaptive ANM analysis of proteins ([ZY09]) that creates a path that connects two conformations using normal modes.

This function can be run in three modes:

  1. AANM_ONEWAY: all steps are run in one direction: from a to b.

  2. AANM_ALTERNATING: steps are run in alternating directions: from a to b,

    then b to a, then back again, and so on.

  3. AANM_BOTHWAYS: steps are run in one direction (from a to

    b) until convergence is reached and then the other way.

This also implementation differs from the original one in that it sorts the modes by overlap prior to cumulative overlap calculations for efficiency.

[ZY09]Zheng Yang, Peter Májek, Ivet Bahar. Allosteric Transitions of Supramolecular Systems Explored by Network Models: Application to Chaperonin GroEL. PLOS Comp Biol 2009 40:512-524.
  • a (Atomic, ndarray) – structure A for the transition
  • b (Atomic, ndarray) – structure B for the transition
  • n_steps (int) – the maximum number of steps to be calculated. For AANM_BOTHWAYS, this means the maximum number of steps from each direction
  • mode (int) – the way of the calculation to be performed, which can be either AANM_ONEWAY, AANM_ALTERNATING, or AANM_BOTHWAYS. Default is AANM_ALTERNATING
  • f (float) – step size. Default is 0.2
  • Fmin (float) – cutoff for selecting modes based on square cumulative overlaps Default is None, which automatically determines and adapts Fmin on the fly.
  • Fmin_max (float) – maximum value for Fmin when it is automatically determined Default is 0.6
  • min_rmsd_diff (float) – cutoff for rmsds converging. Default is 0.05
  • target_rmsd (float) – target rmsd for stopping. Default is 1.0
  • n_modes (int) – the number of modes to be calculated for the first run. n_modes will be dynamically adjusted later as the calculation progresses. Default is 20
  • n_max_modes (int) – the maximum number of modes to be calculated in each run. Default is None, which allows as many as degree of freedom
  • callback_func (func) – a callback function that can be used to collect quantities from each iteration. The function must accept **kwargs as its only input. Keywords in kwargs are: ‘init’: the initial coordinate; ‘tar’: the target coordinate; ‘modes’: a ModeSet of selected modes; ‘defvec’: the deformation vector; ‘c_sq’: the critical square cumulative overlap; ‘rmsd’: the RMSD between the two structures after the deformation.

Please see keyword arguments for calculating the modes in calcENM().