rmsd {bio3d} | R Documentation |
Calculate the RMSD between coordinate sets.
rmsd(a, b=NULL, a.inds=NULL, b.inds=NULL, fit=FALSE)
a |
a numeric vector containing the reference coordinate set for
comparison with the coordinates in b . Alternatively, if
b=NULL then a can be a matrix or list object
containing multiple coordinates for pairwise comparison. |
b |
a numeric vector, matrix or list object with an xyz
component, containing one or more coordinate sets to be compared with
a . |
a.inds |
a vector of indices that selects the elements of
a upon which the calculation should be based. |
b.inds |
a vector of indices that selects the elements of
b upon which the calculation should be based. |
fit |
logical, if TRUE coordinate superposition is performed prior to RMSD calculation. |
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.
Returns a numeric vector of RMSD value(s).
Barry Grant
Grant, B.J. et al. (2006) Bioinformatics 22, 2695–2696.
fit.xyz
, rot.lsq
,
read.pdb
, read.fasta.pdb
# -- Calculate RMSD between two or more structures aln <- read.fasta(system.file("examples/kif1a.fa",package="bio3d")) pdb.path = system.file("examples",package="bio3d") pdbs <- read.fasta.pdb(aln, pdb.path = pdb.path, pdbext = ".ent") # Indices gaps <- unique( which(is.na(pdbs$xyz),arr.ind=TRUE)[,2] ) inds <- c(1:ncol(pdbs$xyz))[-gaps] # RMSD between structure 1 and structure 2 rmsd(a=pdbs$xyz[1,], b=pdbs$xyz[2,], a.inds=inds, b.inds=inds) rmsd(a=pdbs$xyz[1,], b=pdbs$xyz[2,], a.inds=inds, b.inds=inds, fit=TRUE) ## Not run: # RMSD between structure 1 and structures 2 and 3 rmsd(a=pdbs$xyz[1,], b=pdbs$xyz[2:3,], a.inds=inds, b.inds=inds) # RMSD between structure 1 and all structures in alignment rmsd(a=pdbs$xyz[1,], b=pdbs, a.inds=inds, b.inds=inds, fit=TRUE) # pairwise RMSD rmsd(pdbs$xyz[,inds]) ## End(Not run)