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 constraints along Zdirection as in imANM method described in [TL12].
[FT00] Tama F, Gadea FJ, Marques O, Sanejouand YH. Buildingblock approach for determining lowfrequency normal modes of macromolecules. Proteins 2000 41:17. [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)[source]¶ Build Hessian matrix for given coordinate set.
Parameters:  coords (
numpy.ndarray
) – a coordinate set or an object withgetCoords
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 Zdirection, default is 1.0
 membrane_low (float) – minimum zcoordinate at which membrane scaling is applied default is 1.0
 membrane_high (float) – maximum zcoordinate at which membrane scaling is applied. If membrane_high < membrane_low, scaling will be applied to the entire structure default is 1.0
 coords (

calcModes
(n_modes=20, zeros=False, turbo=True)[source]¶ 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 nonzero eigenvalues/vectors to calculate. If None is given, all modes will be calculated.
 zeros (bool, default is True) – 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
andEDA
models built using coordinate data in Å, unit of eigenvalues is Å^{2}. ForANM
,GNM
, andRTB
, 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.

getModel
()¶ Returns self.

getTitle
()¶ Returns title of the model.

getVariances
()¶ Returns variances. For
PCA
andEDA
models built using coordinate data in Å, unit of variance is Å^{2}. ForANM
,GNM
, andRTB
, on the other hand, variance is the inverse of the eigenvalue, so it has arbitrary or relative units.

is3d
()¶ Returns True if model is 3dimensional.

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).

setHessian
(hessian)¶ Set Hessian matrix. A symmetric matrix is expected, i.e. not a lower or uppertriangular matrix.

setTitle
(title)¶ Set title of the model.
