rmsd {bio3d} | R Documentation |
Root Mean Square Deviation
Description
Calculate the RMSD between coordinate sets.
Usage
rmsd(a, b=NULL, a.inds=NULL, b.inds=NULL, fit=FALSE, ncore=1, nseg.scale=1)
Arguments
a |
a numeric vector containing the reference coordinate set for
comparison with the coordinates in |
b |
a numeric vector, matrix or list object with an |
a.inds |
a vector of indices that selects the elements of
|
b.inds |
a vector of indices that selects the elements of
|
fit |
logical, if TRUE coordinate superposition is performed prior to RMSD calculation. |
ncore |
number of CPU cores used to do the calculation.
|
nseg.scale |
split input data into specified number of segments
prior to running multiple core calculation. See |
Details
RMSD is a standard measure of structural distance between coordinate sets.
Structure a[a.inds]
and b[b.inds]
should have the
same length.
A least-squares fit is performed prior to RMSD calculation by setting
fit=TRUE
. See the function fit.xyz
for more
details of the fitting process.
Value
Returns a numeric vector of RMSD value(s).
Author(s)
Barry Grant
References
Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.
See Also
fit.xyz
, rot.lsq
,
read.pdb
, read.fasta.pdb
Examples
# Redundant testing excluded
# -- Calculate RMSD between two or more structures
aln <- read.fasta(system.file("examples/kif1a.fa",package="bio3d"))
pdbs <- read.fasta.pdb(aln)
# Gap positions
inds <- gap.inspect(pdbs$xyz)
# Superposition before pairwise RMSD
rmsd(pdbs$xyz, fit=TRUE)
# RMSD between structure 1 and structures 2 and 3
rmsd(a=pdbs$xyz[1,], b=pdbs$xyz[2:3,], a.inds=inds$f.inds, b.inds=inds$f.inds, fit=TRUE)
# RMSD between structure 1 and all structures in alignment
rmsd(a=pdbs$xyz[1,], b=pdbs, a.inds=inds$f.inds, b.inds=inds$f.inds, fit=TRUE)
# RMSD without superposition
rmsd(pdbs$xyz)