Learn R Programming

bio3d (version 2.3-3)

nma: Normal Mode Analysis

Description

Perform normal mode analysis (NMA) on either a single or an ensemble of protein structures.

Usage

nma(...)

Arguments

arguments passed to the methods nma.pdb, or nma.pdbs.

For function nma.pdb this will include an object of class pdb as obtained from function read.pdb.

For function nma.pdbs an object of class pdbs as obtained from function pdbaln or read.fasta.pdb.

Details

Normal mode analysis (NMA) is a computational approach for studying and characterizing protein flexibility. Current functionality entails normal modes calculation on either a single protein structure or an ensemble of aligned protein structures.

This generic nma function calls the corresponding methods for the actual calculation, which is determined by the class of the input argument:

Function nma.pdb will be used when the input argument is of class pdb. The function calculates the normal modes of a C-alpha model of a protein structure.

Function nma.pdbs will be used when the input argument is of class pdbs. The function will perform normal mode analysis of each PDB structure stored in the pdbs object (‘ensemble NMA’).

See documentation and examples for each corresponding function for more details.

References

Skjaerven, L. et al. (2014) BMC Bioinformatics 15, 399. Grant, B.J. et al. (2006) Bioinformatics 22, 2695--2696.

See Also

nma.pdb, nma.pdbs, pca.

Examples

Run this code
# NOT RUN {
##- Singe structure NMA
## Fetch stucture
pdb <- read.pdb( system.file("examples/1hel.pdb", package="bio3d") )

## Calculate normal modes
modes <- nma(pdb)

## Print modes
print(modes)

## Plot modes
plot(modes)

## Visualize modes
#m7 <- mktrj.nma(modes, mode=7, file="mode_7.pdb")

# }
# NOT RUN {
## Needs MUSCLE installed - testing excluded

##- Ensemble NMA
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 Alignement
pdbs <- pdbaln(files, outfile = tempfile())

## Normal mode analysis on aligned data
modes <- nma(pdbs, rm.gaps=FALSE)

## Plot fluctuation data
plot(modes, pdbs=pdbs)

}
# }

Run the code above in your browser using DataLab