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(a)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