"nma"(pdbs, fit = TRUE, full = FALSE, subspace = NULL, rm.gaps = TRUE, varweight=FALSE, outpath = NULL, ncore = 1, ...)"print"(x, ...)
read.fasta.pdb
or pdbaln
. var.xyz
. ncore>1
requires package parallel installed. enma
object obtained from nma.pdbs
. nma
, aa2mass
, and
print
. Perform normal mode analysis (NMA) on an ensemble of aligned protein structures.
This function performs normal mode analysis (NMA) on a set of aligned
protein structures obtained with function read.fasta.pdb
or
pdbaln
. The main purpose is to provide aligned atomic
fluctuations and mode vectors in an automated fashion.
The normal modes are calculated on the full structures as provided by object pdbs. With the input argument full=TRUE the full nma objects are returned together with output U.subs providing the aligned mode vectors. When rm.gaps=TRUE the unaligned atoms are ommited from output. With default arguments rmsip provides RMSIP values for all pairwise structures.
See examples for more details.
pdbs
object when
fit=TRUE. nma
object for each input
structure. Skjaerven, L. et al. (2014) BMC Bioinformatics 15, 399. Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.
# Needs MUSCLE installed - testing excluded ## 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())|======================================================================| 100%## Sequence Alignement pdbs <- pdbaln(files, outfile = tempfile())Reading PDB files: /tmp/RtmpTDihxb/split_chain/1a70_A.pdb /tmp/RtmpTDihxb/split_chain/1czp_A.pdb /tmp/RtmpTDihxb/split_chain/1frd_A.pdb /tmp/RtmpTDihxb/split_chain/1fxi_A.pdb /tmp/RtmpTDihxb/split_chain/1iue_A.pdb /tmp/RtmpTDihxb/split_chain/1pfd_A.pdb . PDB has ALT records, taking A only, rm.alt=TRUE ..... Extracting sequences pdb/seq: 1 name: /tmp/RtmpTDihxb/split_chain/1a70_A.pdb pdb/seq: 2 name: /tmp/RtmpTDihxb/split_chain/1czp_A.pdb PDB has ALT records, taking A only, rm.alt=TRUE pdb/seq: 3 name: /tmp/RtmpTDihxb/split_chain/1frd_A.pdb pdb/seq: 4 name: /tmp/RtmpTDihxb/split_chain/1fxi_A.pdb pdb/seq: 5 name: /tmp/RtmpTDihxb/split_chain/1iue_A.pdb pdb/seq: 6 name: /tmp/RtmpTDihxb/split_chain/1pfd_A.pdb## Normal mode analysis on aligned data modes <- nma(pdbs, rm.gaps=FALSE)Details of Scheduled Calculation: ... 6 input structures ... storing 282 eigenvectors for each structure ... dimension of x$U.subspace: ( 300x282x6 ) ... coordinate superposition prior to NM calculation ... estimated memory usage of final 'eNMA' object: 3.9 Mb |======================================================================| 100%## Plot fluctuation data plot(modes, pdbs=pdbs)Extracting SSE from pdbs$sse attribute## Cluster on Fluctuation similariy sip <- sip(modes)hc <- hclust(dist(sip)) col <- cutree(hc, k=3) ## Plot fluctuation data plot(modes, pdbs=pdbs, col=col)Extracting SSE from pdbs$sse attribute## Remove gaps from output modes <- nma(pdbs, rm.gaps=TRUE)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 |======================================================================| 100%## RMSIP is pre-calculated heatmap(1-modes$rmsip)## Bhattacharyya coefficient bc <- bhattacharyya(modes)Calculating covariance matrices Calculating pairwise bhattacharyya coefsheatmap(1-bc)
nma.pdb
For the analysis of the resulting eNMA object:
mktrj.enma
, dccm.enma
,
plot.enma
, cov.enma
.
Similarity measures:
sip
, covsoverlap
,
bhattacharyya
, rmsip
.
Related functionality:
pdbaln
, read.fasta.pdb
.