Learn R Programming

bio3d (version 2.4-4)

rmsf: Atomic RMS Fluctuations

Description

Calculate atomic root mean squared fluctuations.

Usage

rmsf(xyz, grpby=NULL, average=FALSE)

Value

Returns a numeric vector of RMSF values. If average=TRUE a single numeric value representing the averaged RMSF value over all atoms will be returned.

Arguments

xyz

numeric matrix of coordinates with each row corresponding to an individual conformer.

grpby

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). If provided a 'pdb' object, grouping is automatically set by amino acid residues.

average

logical, if TRUE averaged over atoms.

Author

Barry Grant

Details

RMSF is an often used measure of conformational variance. It is calculated by $$f_i=\sqrt{\frac{1}{M-1}\sum_j \|r_i^j-r_i^0\|^2}$$, where \(f_i\) is the RMSF value for the ith atom, M the total number of frames (total number of rows of xyz), \(r_i^j\) the positional vector of the ith atom in the jth frame, and \(r_i^0\) the mean position of ith atom. ||r|| denotes the Euclidean norm of the vector r.

References

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

See Also

read.dcd, fit.xyz, read.fasta.pdb

Examples

Run this code
attach(transducin)

# Ignore Gaps
gaps <- gap.inspect(pdbs$ali)

r <- rmsf(pdbs$xyz)
plot(r[gaps$f.inds], typ="h", ylab="RMSF (A)")

detach(transducin)

if (FALSE) {

pdb <- read.pdb("1d1d", multi=TRUE)
xyz <- pdb$xyz

# superimpose trajectory
xyz <- fit.xyz(xyz[1, ], xyz)

# select mainchain atoms
sele <- atom.select(pdb, elety=c("CA", "C", "N", "O"))

# residue numbers to group by
resno <- pdb$atom$resno[sele$atom]

# mean rmsf value of mainchain atoms of each residue
r <- rmsf(xyz[, sele$xyz], grpby=resno)
plot.bio3d(r, resno=pdb, sse=pdb, ylab="RMSF (A)")

}

Run the code above in your browser using DataLab