Last chance! 50% off unlimited learning
Sale ends in
Determine the cross-correlations of atomic displacements.
# S3 method for xyz
dccm(x, reference = NULL, grpby=NULL,
ncore=1, nseg.scale=1, …)
cov2dccm(vcov, method = c("pearson", "lmi"), ncore = NULL)
a numeric matrix of Cartesian coordinates with a row per structure/frame.
The reference structure about which displacements are analysed.
a vector counting connective duplicated elements that
indicate the elements of xyz
that should be considered as a group
(e.g. atoms from a particular residue).
number of CPU cores used to do the calculation.
ncore>1
requires package ‘parallel’ installed.
split input data into specified number of segments
prior to running multiple core calculation. See
fit.xyz
.
hmm.
numeric variance-covariance matrix.
method to calculate the cross-correlation.
Returns a cross-correlation matrix.
The extent to which the atomic fluctuations/displacements of a system are correlated with one another can be assessed by examining the magnitude of all pairwise cross-correlation coefficients (see McCammon and Harvey, 1986).
This function returns a matrix of all atom-wise cross-correlations whose elements, Cij, may be displayed in a graphical representation frequently termed a dynamical cross-correlation map, or DCCM.
If Cij = 1 the fluctuations of atoms i and j are completely correlated (same period and same phase), if Cij = -1 the fluctuations of atoms i and j are completely anticorrelated (same period and opposite phase), and if Cij = 0 the fluctuations of i and j are not correlated.
Typical characteristics of DCCMs include a line of strong cross-correlation along the diagonal, cross-correlations emanating from the diagonal, and off-diagonal cross-correlations. The high diagonal values occur where i = j, where Cij is always equal to 1.00. Positive correlations emanating from the diagonal indicate correlations between contiguous residues, typically within a secondary structure element or other tightly packed unit of structure. Typical secondary structure patterns include a triangular pattern for helices and a plume for strands. Off-diagonal positive and negative correlations may indicate potentially interesting correlations between domains of non-contiguous residues.
cov2dccm
function calculates the N-by-N cross-correlation matrix
directly from a 3N-by-3N variance-covariance matrix.
If method = "pearson"
, the conventional Pearson's inner-product
correlaiton calculation will be invoked, in which only the diagnol of
each residue-residue covariance sub-matrix is considered.
If method = "lmi"
, then the linear mutual information
cross-correlation will be calculated. ‘LMI’ considers both
diagnol and off-diagnol entries in sub-matrices, and so even grabs the
correlation of residues moving on orthognal directions. (See more details
in lmi
.)
Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.
McCammon, A. J. and Harvey, S. C. (1986) Dynamics of Proteins and Nucleic Acids, Cambridge University Press, Cambridge.
Lange, O.F. and Grubmuller, H. (2006) PROTEINS: Structure, Function, and Bioinformatics 62:1053--1061.
cor
for examining xyz cross-correlations,
dccm
, dccm.nma
,
dccm.pca
, lmi
, dccm.enma
.
# NOT RUN {
# }
# NOT RUN {
##-- Read example trajectory file
trtfile <- system.file("examples/hivp.dcd", package="bio3d")
trj <- read.dcd(trtfile)
## Read the starting PDB file to determine atom correspondence
pdbfile <- system.file("examples/hivp.pdb", package="bio3d")
pdb <- read.pdb(pdbfile)
## select residues 24 to 27 and 85 to 90 in both chains
inds <- atom.select(pdb, resno=c(24:27,85:90), elety='CA')
## lsq fit of trj on pdb
xyz <- fit.xyz(pdb$xyz, trj, fixed.inds=inds$xyz, mobile.inds=inds$xyz)
## DCCM (slow to run so restrict to Calpha)
cij <- dccm(xyz)
## Plot DCCM
plot(cij)
## Or
library(lattice)
contourplot(cij, region = TRUE, labels=FALSE, col="gray40",
at=c(-1, -0.75, -0.5, -0.25, 0.25, 0.5, 0.75, 1),
xlab="Residue No.", ylab="Residue No.",
main="DCCM: dynamic cross-correlation map")
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab