[Biopython-dev] RMSD calculation

George Devaniranjan devaniranjan at gmail.com
Thu Oct 28 17:14:44 UTC 2010


For SVD
x, y being arrays-I took this from the example/comment section of
SVDSuperimposer.py
sup=SVDSuperimposer()
sup.set(x, y)
sup.run()
rms=sup.get_rms()

For PDBSuperimposer
super_imposer = Bio.PDB.Superimposer()
super_imposer.set_atoms(ref_atoms, alt_atoms)
super_imposer.apply(alt_model.get_atoms())
print "RMS( using PDB superimposer ) = %0.4f" % ( super_imposer.rms)
(I took this from the Warwick example and modified for my use)
http://www2.warwick.ac.uk/fac/sci/moac/students/peter_cock/python/protein_superposition/

Yes there is a difference-for 2 proteins having exact same residues of 36
residues the values from 4 sources are as follows
VMD RMSD=1.61
SVD RMSD =3.2
PDB RMSD=3.2
>From the EU Bioinformatics server (link below) RMSD =1.75
(http://www.ebi.ac.uk/msd-srv/ssm/cgi-bin/ssmserver)

So Biopython really is computing the RMSD and not RMS?
Thanks you



On Thu, Oct 28, 2010 at 1:04 PM, Peter <biopython at maubp.freeserve.co.uk>wrote:

> On Thu, Oct 28, 2010 at 5:49 PM, George Devaniranjan
> <devaniranjan at gmail.com> wrote:
> > I was wondering why there is two functions for calculating RMSD
> >
> > 1)in the SVDSuperimposer()
> > 2)in PDB.Superimposer()
>
> Can you clarify? There is no function in Bio.PDB.Superimposer to calculate
> RMSD (or RMS), but it does call the Bio.SVDSuperimposer module internally.
>
> > In the code its says RMS-is RMS being calculated instead of RMSD???
>
> There could be some confusion in the comments about root mean squared
> (RMS) *deviation* (i.e. statistical standard deviation) versus RMS
> *distance*.
>
> > I ask because VMD gives a different value for RMSD to the one from
> Biopython
>
> Very different? There are bound to be some floating point differences.
>
> Peter
>



More information about the Biopython-dev mailing list