I can reproduce the problem. It is, as you suspected, due to numerical issue, in this case with points falling on the edge of the grid used to compute surface areas. I've fixed it in IMP svn (by forcing it to use a valid grid cell). Can I use you script and input as a test case? Thanks.


On Dec 13, 2010, at 4:15 AM, Robert Brynmor Fenwick wrote:

Hi,

I think that I have found a small numerical bug. I can not work out how to debug this as my knowledge of c++ is not what is needs to be. I encounter the error using the python interface with the latest nightly build.

To reproduce the error you can play with the two files and code attached. The file that works with the code is 433.pdb. The file that fails is 434.pdb. 

The traceback appears as:

Traceback (most recent call last):
  File "bug_case.py", line 30, in <module>
    surface_area = s.get_solvent_accessibility(IMP.core.XYZRs(particles))
  File "/opt/imp/lib/python2.5/site-packages/IMP/saxs/__init__.py", line 428, in get_solvent_accessibility
    def get_solvent_accessibility(self, *args): return _IMP_saxs.SolventAccessibleSurface_get_solvent_accessibility(self, *args)
_IMP.UsageException: Passed index not in grid (17, 2, 3)

I suspect it is a numerical instability somewhere as I have a test case that fails where I can modify the file in two ways to create a file that works.

A) I generate a sorter fail (434.cut) case by:

tail -228 434.pdb > 434.cut 

B) This calculation will proceed if I generate a slightly shorter file (i.e. remove the first ten lines). This case is generated by:

tail -218 434.pdb > 434.cut

C) The strange part is the calculation will also proceed if the only the first 100 lines are used (i.e. keeping the part that I removed in B ) This case is generated by:

tail -228 434.pdb | head -100 > 434.cut

Any suggestions would be greatly appreciated.

Bryn


--
R. Bryn Fenwick
robert.fenwick@irbbarcelona.org
Post-doctoral fellow
Chemistry and Molecular Pharmacology Programme
Institute for Research in Biomedicine (IRB Barcelona)
Parc Científic de Barcelona
Baldiri Reixac 10, 08028 Barcelona, SPAIN
Tel. (+34) 9340 20460
<bug.tgz>_______________________________________________
IMP-users mailing list
IMP-users@salilab.org
https://salilab.org/mailman/listinfo/imp-users