rmsf | R Documentation |
Calculate atomic root mean squared fluctuations.
rmsf(xyz, grpby=NULL, average=FALSE)
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. |
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.
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.
Barry Grant
Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.
read.dcd
, fit.xyz
,
read.fasta.pdb
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)
## Not run:
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)")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.