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

 [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.
`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 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
`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 non-zero 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` 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.

`getModel`()

Returns self.

`getProjection`()[source]

Returns a copy of the projection matrix.

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

`numEntries`()

Returns number of entries in one eigenvector.

`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 upper-triangular matrix.

`setTitle`(title)

Set title of the model.