[Bioperl-l] PullHSP bug
cjfields at illinois.edu
Thu Dec 4 11:49:05 EST 2008
On Dec 4, 2008, at 9:12 AM, Hilmar Lapp wrote:
> On Dec 2, 2008, at 9:40 PM, Chris Fields wrote:
>> It appears the problem boils down to a small inconsistency with the
>> way blank IDs are handled between the two BLAST parsers. The
>> regular blast parser explicitly sets this to '', while blast_pull
>> leaves it undef. When one constructs a LocatableSeq w/o an ID it
>> dies, but '' works, hence the problem. I don't think using '' is a
>> real solution though (seems like something added to silence errors).
> I agree. Using '' where a value is expected is an ugly kludge. Is it
> possible to fix this?
> : Hilmar Lapp -:- Durham, NC -:- hlapp at gmx dot net :
It's fixed. I added a force_nse() flag to LocatableSeq which sets per-
instance and allows get_nse to make an NSE under circumstances where
the seq ID is undefined. LocatableSeqs which lack an ID but have the
flag explicitly get something like '/$start-$end' instead of throwing
an exception (the default). The flag is off by default, so you will
still get an exception in case leaving off the ID was unintentional
(didn't want any silent bugs sneaking through).
This solution may not be optimal. The NSE is currently used for
indexing LocatableSeqs and checking for possible collisions in
SimpleAlign. One gets a warning in the latter case ("Replacing one
sequence [$nse]"), so maybe that's enough.
More information about the Bioperl-l