[phenixbb] bond and angle rmsds: phenix.refine, Refmac, hydrogens, ...
Pavel Afonine
PAfonine at lbl.gov
Sat Jan 24 21:49:32 PST 2009
For all who asked about observed differences in bond rmsd reported by
phenix.refine and Refmac, H atoms included in statistics calculation and
more...
1) First, I wanted to check bond rmsd reported by phenix.refine. I made
up a PDB file containing just one residue (SER, no H atoms) and I wrote
a crystal-clear and simple Python script that computes bond rmsd for
this residue. Here are the numbers:
Bond length rmsd:
Script: 0.148
phenix.pdbtools: 0.148
phenix.refine: 0.148
Refmac_5.5.0070: 0.152
Both programs are using the Monomer Library. Since both of these very
different ways of computing bond rmsd: this simple script and
phenix.refine, give the identical values, I tend to think that the
PHENIX implementation is actually correct. I have no idea why Refmac
gives a different value and I think it's now up to Refmac developers (or
any other enthusiast) to find it out or show that I'm wrong in my
calculations. It well could also be me who's incorrectly using Refmac -
today was my second time I tried it (the first was 3 or 4 years ago) -:)
As for the bond angles rmsd, I didn't bother to include it into the
script, but for the rest of tools in question, the numbers are:
phenix.pdbtools: 16.628
phenix.refine: 16.628
Refmac_5.5.0070: 16.628
so all results seem to be in-sync.
2) Some people reported that the geometry statistics for the exact same
structure with and without hydrogens seems to be reported different in
phenix.refine. To find out, I did the same test as above, where I used
the same one residue model with all hydrogens added. Unfortunately, I
failed to make Refmac accept a PDB file containing H atoms so I gave up
after 20 minutes of struggle. Here are the numbers:
Bond length rmsd:
Script: 0.155
phenix.pdbtools: 0.155
phenix.refine: 0.155
So, it seems like the hydrogens are included... I have to fix it. Well
at least those who are doing refinement using neutron data or both X-ray
and neutron data, were not concerned, since in that case I presume the H
and D atoms should be included. Anyway, I'm fixing it right now, I'm
making a corresponding regression test (to make sure the fix stays there
forever) and the fixed version will be available in the next release.
By the way, the new tool, phenix.model_vs_data is and was smart about
this: it automatically excludes H and D atoms if X-ray data is used. And
this proves it:
phenix.model_vs_data: 0.148
which is the exact same number as in "1)", where H were not present.
Thanks to all who raised this issue (Frank von Delft, Jianghai Zhu,
Karolina Michalska and others)!
Pavel.
PS> All files used and the script are here:
http://cci.lbl.gov/~afonine/rmsd_issue/
Use "phenix.python run.py" to run the script.
More information about the phenixbb
mailing list