Calculate the cross-correlation matrices from an ensemble of NMA objects.

# S3 method for enma
dccm(x, ncore = NULL, na.rm=FALSE, ...)

Arguments

x

an object of class enma as obtained from function nma.pdbs.

ncore

number of CPU cores used to do the calculation. ncore>1 requires package ‘parallel’ installed.

na.rm

logical, if FALSE the DCCM might containt NA values (applies only when the enma object is calculated with argument ‘rm.gaps=FALSE’).

...

additional arguments passed to dccm.nma.

Details

This is a wrapper function for calling dccm.nma on a collection of ‘nma’ objects as obtained from function nma.pdbs.

See examples for more details.

Value

Returns a list with the following components:

all.dccm

an array or list containing the correlation matrices for each ‘nma’ object. An array is returned when the ‘enma’ object is calculated with ‘rm.gaps=TRUE’, and a list is used when ‘rm.gaps=FALSE’.

avg.dccm

a numeric matrix containing the average correlation matrix. The average is only calculated when the ‘enma’ object is calculated with ‘rm.gaps=TRUE’.

References

Wynsberghe. A.W.V, Cui, Q. Structure 14, 1647--1653. Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.

Author

Lars Skjaerven

See also

Examples

# \donttest{ ## Needs MUSCLE installed - testing excluded if(check.utility("muscle")) { ## Fetch PDB files and split to chain A only PDB files ids <- c("1a70_A", "1czp_A", "1frd_A", "1fxi_A", "1iue_A", "1pfd_A") files <- get.pdb(ids, split = TRUE, path = tempdir()) ## Sequence/Structure Alignement pdbs <- pdbaln(files, outfile = tempfile()) ## Normal mode analysis on aligned data modes <- nma(pdbs) ## Calculate all 6 correlation matrices cij <- dccm(modes) ## Plot correlations for first structure plot.dccm(cij$all.dccm[,,1]) }
#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/1a70.pdb exists. Skipping download
#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/1czp.pdb exists. Skipping download
#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/1frd.pdb exists. Skipping download
#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/1fxi.pdb exists. Skipping download
#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/1iue.pdb exists. Skipping download
#> Warning: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/1pfd.pdb exists. Skipping download
#> | | | 0% | |============ | 17% | |======================= | 33% | |=================================== | 50% | |=============================================== | 67% | |========================================================== | 83% | |======================================================================| 100% #> Reading PDB files: #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1a70_A.pdb #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1czp_A.pdb #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1frd_A.pdb #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1fxi_A.pdb #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1iue_A.pdb #> /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1pfd_A.pdb #> . PDB has ALT records, taking A only, rm.alt=TRUE #> ..... #> #> Extracting sequences #> #> pdb/seq: 1 name: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1a70_A.pdb #> pdb/seq: 2 name: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1czp_A.pdb #> PDB has ALT records, taking A only, rm.alt=TRUE #> pdb/seq: 3 name: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1frd_A.pdb #> pdb/seq: 4 name: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1fxi_A.pdb #> pdb/seq: 5 name: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1iue_A.pdb #> pdb/seq: 6 name: /var/folders/xf/qznxnpf91vb1wm4xwgnbt0xr0000gn/T//Rtmp9oBdbc/split_chain/1pfd_A.pdb #> #> Details of Scheduled Calculation: #> ... 6 input structures #> ... storing 282 eigenvectors for each structure #> ... dimension of x$U.subspace: ( 288x282x6 ) #> ... coordinate superposition prior to NM calculation #> ... aligned eigenvectors (gap containing positions removed) #> ... estimated memory usage of final 'eNMA' object: 3.7 Mb #> #> | | | 0% | |============ | 17% | |======================= | 33% | |=================================== | 50% | |=============================================== | 67% | |========================================================== | 83% | |======================================================================| 100%
# }