Implicit Membrane Anisotropic Network Model¶
This module defines a class and a function for explicit membrane ANM calculations.
-
class
imANM
(name='Unknown')[source]¶ Class for implicit ANM (imANM) method ([FT00]).
[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 Z-direction, default is 16.0
- membrane_low (float) – minimum z-coordinate at which membrane scaling is applied default is 1.0
- membrane_high (float) – 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
- coords (
-
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 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.
-
getProjection
()¶ Returns a copy of the projection matrix.
-
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 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.
-