[Biopython-dev] [Bug 2751] PDBParser crashes on empty tempFactor fields
bugzilla-daemon at portal.open-bio.org
bugzilla-daemon at portal.open-bio.org
Mon Feb 9 20:36:26 UTC 2009
http://bugzilla.open-bio.org/show_bug.cgi?id=2751
biopython-bugzilla at maubp.freeserve.co.uk changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
------- Comment #9 from biopython-bugzilla at maubp.freeserve.co.uk 2009-02-09 15:36 EST -------
(In reply to comment #8)
>
> I haven't explored the rest of Biopython's internals yet -- is
> there a generallogging/warning system where verbosity is
> configured globally?
No, this is specific to Bio.PDB, presumably a reaction to the number
of technically invalid but still useful PDB files one has to deal with.
> Another issue: These warnings are printed to standard out, rather
> than standard error; that would screw up a pipeline. Tracebacks,
> for instance, are printed on standard error. I assume this
> complain->stdout situation is the case across the
> codebase -- should I file a separate bug for that?
Please do - but keep it focused on Bio.PDB as I can't think of any
other modules which do anything similar off hand.
> > If you can find any official PDB examples which do this, or get
> > clarification regarding the "legality" of omitting these fields,
> > then I would be happy to change this code. Where are you
> > getting your PDB files from?
>
> Another person in my lab reported the problem. Some other program
> extracted the 'B' chain from the full PDB file to create this one;
> I don't know which one, but I believe it's out in the wild, rather
> than a home-grown script.
Fair enough. If you can chase that up, it will make other people's
lives a tiny bit easier in the future - assuming my reading of the PDB
format is valid that is ;)
You should be able work with the full PDB file in Biopython, and just
look at the one chain you are interested in.
> Scientific Python's PDB parser handles the file without complaint.
If I was convinced missing occupancy or B-factors were valid then I agree
Biopython shouldn't "complain" either.
> > Note that I have not attempted to deal with ANISOU, SIGUIJ or SIGATM
> > records. Do you have any examples of this, or were these changes just
> > defensive programming?
>
> I have no examples, it's just defensive. Using try_float() instead of
> float() everywhere re-raises any ValueExceptions as
> PDBConstructionExceptions, and only eats the exception if a default value
> is supplied. Some Scheme sympathies showing, I guess -- it's a closure that
> generally works the same as the float constructor, but with our own error
> handling.
Fair enough. I didn't want to make any "invasive" changes without
the original author's input. Anyway, marking this bug as fixed.
Thank you Eric!
Peter
--
Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the Biopython-dev
mailing list