Rotation Translation Blocks

This module defines a class and a function for rotating translating blocks (RTB) calculations.

class RTB(name='Unknown')[source]

Class for Rotations and Translations of Blocks (RTB) method ([FT00]). Optional arguments permit imposing constrains along Z-direction as in imANM method described in [TL12].

[FT00]Tama F, Gadea FJ, Marques O, Sanejouand YH. Building-block approach for determining low-frequency normal modes of macromolecules. Proteins 2000 41:1-7.
[TL12]Lezon TR, Bahar I, Constraints Imposed by the Membrane Selectively Guide the Alternating Access Dynamics of the Glutamate Transporter GltPh
addEigenpair(vector, value=None)

Add eigen vector and eigen value pair(s) to the instance. If eigen value is omitted, it will be set to 1. Inverse eigenvalues are set as variances.

buildHessian(coords, blocks, cutoff=15.0, gamma=1.0, **kwargs)

Build Hessian matrix for given coordinate set.

Parameters:
  • coords (numpy.ndarray) – a coordinate set or an object with getCoords method
  • blocks (list, numpy.ndarray) – a list or array of block identifiers
  • cutoff (float) – cutoff distance (Å) for pairwise interactions, default is 15.0 Å
  • gamma (float) – spring constant, default is 1.0
  • scale (float) – scaling factor for force constant along Z-direction, default is 1.0
  • membrane_low (float) – minimum z-coordinate at which membrane scaling is applied default is 1.0
  • membrane_high
    maximum z-coordinate at which membrane scaling
    is applied. If membrane_high < membrane_low, scaling will be applied to the entire structure default is -1.0
    type membrane_high:
     float
buildMechStiff(coords, n_modes=None, kbt=1.0)

Calculate stiffness matrix calculated using ANM instance. Method described in [EB08].

[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:
  • coords (numpy.ndarray.) – a coordinate set or an object with getCoords method
  • n_modes (int or None, default is 20.) – number of non-zero eigenvalues/vectors to calculate. If None is given, all modes will be calculated (3x number of atoms).

Author: Mustafa Tekpinar & Karolina Mikulska-Ruminska & Cihan Kaya

calcModes(n_modes=20, zeros=False, turbo=True)

Calculate normal modes. This method uses scipy.linalg.eigh() function to diagonalize the Hessian matrix. When Scipy is not found, numpy.linalg.eigh() is used.

Parameters:
  • n_modes (int or None, default is 20) – number of non-zero eigenvalues/vectors to calculate. If None is given, all modes will be calculated.
  • zeros (bool, default is False) – If True, modes with zero eigenvalues will be kept.
  • turbo (bool, default is True) – Use a memory intensive, but faster way to calculate modes.
getArray()

Returns a copy of eigenvectors array.

getCovariance()

Returns covariance matrix. If covariance matrix is not set or yet calculated, it will be calculated using available modes.

getEigvals()

Returns eigenvalues. For PCA and EDA models built using coordinate data in Å, unit of eigenvalues is Å2. For ANM, GNM, and RTB, on the other hand, eigenvalues are in arbitrary or relative units but they correlate with stiffness of the motion along associated eigenvector.

getEigvecs()

Returns a copy of eigenvectors array.

getHessian()

Returns a copy of the Hessian matrix.

getMechStiffStatistic(rangeK, minAA=0, AA='all')

Returns number of effective spring constant with set range of amino acids of protein structure. AA can be a list with a range of analysed amino acids as: [first_aa, last_aa, first_aa2, last_aa2], minAA - eliminate amino acids that are within 20aa and rangeK is a list [minK, maxK]

getModel()

Returns self.

getProjection()

Returns a copy of the projection matrix.

getStiffness()

Return a copy of Stiffness matrix.

getStiffnessRange()

Return the range of effective spring constant.

getStiffnessRangeSel(value, minAA=20, AA='all')

Returns minimum or maximum value of sping constant from mechanical stiffness calculations for residues that are within more than min_aa from each other. Value should be ‘minK’ or ‘maxK’. It alow to avoid residues near each other. AA is a number of residues from both terminus (N and C) of protein strcuture, it can be all or int value (than first and last AA residues will be analysed. With minAA=0 it can be used to search the highest/lowest values of interactions between N-C terminus if protein structure has a shear, zipper or SD1-disconnected mechanical clamp -it is common in FnIII/Ig like domains and determines the maximum unfolding force in AFM or SMD method.

getTitle()

Returns title of the model.

getVariances()

Returns variances. For PCA and EDA models built using coordinate data in Å, unit of variance is Å2. For ANM, GNM, and RTB, on the other hand, variance is the inverse of the eigenvalue, so it has arbitrary or relative units.

is3d()

Returns True if model is 3-dimensional.

numAtoms()

Returns number of atoms.

numDOF()

Returns number of degrees of freedom.

numModes()

Returns number of modes in the instance (not necessarily maximum number of possible modes).

setEigens(vectors, values=None)

Set eigen vectors and eigen values. If eigen values are omitted, they will be set to 1. Inverse eigenvalues are set as variances.

setHessian(hessian)

Set Hessian matrix. A symmetric matrix is expected, i.e. not a lower- or upper-triangular matrix.

setTitle(title)

Set title of the model.