Identify and filter subsets of conformations at a given RMSD cutoff.

filter.rmsd(xyz = NULL, rmsd.mat = NULL, cutoff = 0.5,
            fit = TRUE, verbose = TRUE, inds = NULL, method = "complete",
            ...)

Arguments

xyz

a numeric matrix or list object containing multiple coordinates for pairwise comparison, such as that obtained from read.fasta.pdb. Not used if rmsd.mat is given.

rmsd.mat

an optional matrix of RMSD values obtained from rmsd.

cutoff

a numeric rmsd cutoff value.

fit

logical, if TRUE coordinate superposition is performed prior to RMSD calculation.

verbose

logical, if TRUE progress details are printed.

inds

a vector of indices that selects the elements of xyz upon which the calculation should be based. By default, all the non-gap sites in xyz.

method

the agglomeration method to be used. See function hclust for more information.

...

additional arguments passed to and from functions.

Details

This function performs hierarchical cluster analysis of a given matrix of RMSD values ‘rmsd.mat’, or an RMSD matrix calculated from a given coordinate matrix ‘xyz’, to identify conformers that fall below a given RMSD cutoff value ‘cutoff’.

Value

Returns a list object with components:

ind

indices of the conformers (rows) below the cutoff value.

tree

an object of class "hclust", which describes the tree produced by the clustering process.

rmsd.mat

a numeric matrix with all pairwise RMSD values.

References

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

Author

Barry Grant

See also

rmsd, read.pdb, read.fasta.pdb, read.dcd

Examples

if (FALSE) { attach(kinesin) k <- filter.rmsd(xyz=pdbs,cutoff=0.5) pdbs$id[k$ind] hclustplot(k$tree, h=0.5, ylab="RMSD") abline(h=0.5, col="gray") detach(kinesin) }