This function builds various cij matrix for correlation network analysis

filter.dccm(x, cutoff.cij = NULL, cmap = NULL, xyz = NULL, fac = NULL, 
      cutoff.sims = NULL, collapse = TRUE, extra.filter = NULL, ...)



A matrix (nXn), a numeric array with 3 dimensions (nXnXm), a list with m cells each containing nXn matrix, or a list with ‘all.dccm’ component, containing atomic correlation values, where "n" is the number of residues and "m" the number of calculations. The matrix elements should be in between -1 and 1. See ‘dccm’ function in bio3d package for further details.


Threshold for each individual correlation value. If NULL, a guessed value will be used. See below for details.


logical or numerical matrix indicating the contact map. If logical and TRUE, contact map will be calculated with input xyz.


XYZ coordinates, or a ‘pdbs’ object obtained from pdbaln or read.fasta.pdb, for contact map calculations.


factor indicating distinct categories of input correlation matrices.


Threshold for the number of simulations with observed correlation value above cutoff.cij for the same residue/atomic pairs. See below for details.


logical, if TRUE the mean matrix will be returned.


Filter to apply in addition to the model chosen.


extra arguments passed to function cmap.


Returns a matrix of class "dccm" or a 3D array of filtered cross-correlations.


Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.


Xin-Qiu Yao, Guido Scarabelli & Barry Grant


If cmap is TRUE or provided a numerical matrix, the function inspects a set of cross-correlation matrices, or DCCM, and decides edges for correlation network analysis based on:

1. min(abs(cij)) >= cutoff.cij, or 2. max(abs(cij)) >= cutoff.cij && residues contact each other based on results from cmap.

Otherwise, the function filters DCCMs with cutoff.cij and return the mean of correlations present in at least cutoff.sims calculated matrices.

An internally guessed cuoff.cij is used if cutoff.cij=NULL is provided. By default, the cutoff is determined by keeping 5% of all residue pairs connected.

See also


if (FALSE) { # Example of transducin attach(transducin) gaps.pos <- gap.inspect(pdbs$xyz) modes <- nma.pdbs(pdbs, ncore=NULL) dccms <- dccm.enma(modes, ncore=NULL) cij <- filter.dccm(dccms, xyz=pdbs) # Example protein kinase # Select Protein Kinase PDB IDs ids <- c("4b7t_A", "2exm_A", "1opj_A", "4jaj_A", "1a9u_A", "1tki_A", "1csn_A", "1lp4_A") # Download and split by chain ID files <- get.pdb(ids, path = "raw_pdbs", split=TRUE) # Alignment of structures pdbs <- pdbaln(files) # Sequence identity summary(c(seqidentity(pdbs))) # NMA on all structures modes <- nma.pdbs(pdbs, ncore=NULL) # Calculate correlation matrices for each structure cij <- dccm(modes) # Set DCCM plot panel names for combined figure dimnames(cij$all.dccm) = list(NULL, NULL, ids) plot.dccm(cij$all.dccm) # Filter to display only correlations present in all structures cij.all <- filter.dccm(cij, cutoff.sims = 8, cutoff.cij = 0) plot.dccm(cij.all, main = "Consensus Residue Cross Correlation") detach(transducin) }