[Bioperl-l] 0.7 release: Blast

Steve Chervitz sac@neomorphic.com
Tue, 14 Nov 2000 23:51:51 -0800

Hilmar Lapp wrote:

> Ewan Birney wrote:
> > code. However, I don't think we will be able to tease out the Root::Object
> > >from the blast code, and we can't remove the code (backward compatibility)
> > even though we have BPLite in.
> >
> Just to mention, the Blast module offers also more functionality than
> BPlite (which is probably intentional, as the name BPlite implies). I'm
> for instance using the frac_identical() (_conserved etc) methods
> exploiting the tiling of HSPs, which is what you need if you want to
> know how much of your query sequence is matched by the subject (and vice
> versa).
> So, I personally don't want to let people get the impression that in
> fact we want to abandon Blast.pm sooner or later. Maintenance of that
> module is, however, obviously a problem, as SteveC seems to be too busy
> with other things, and it is too complicated for someone else of the
> developers to jump in.

I must admit, the Blast module has become somewhat of an albatross for me, as I
haven't had enough time to maintain it and no one else has really picked up the
torch (although many have contributed bug fixes here and there, which I greatly

I agree that maintainability is a problem, but I have been working on a
re-design that should address this. The main issue is that the current Blast.pm
is doing way too much: reading and parsing Blast reports, storing the results,
running new Blasts, and providing some report generation. The new design
separates out the reading and parsing by using a scanner-handler pattern similar
to the Biopython Blast parser. With this architecture, it will be easy to create
Blast objects from different report formats, such as XML, as they become

Also with this re-design, there would be no dependence on Bio::Root::IOManager,
which is used by Bio::Root::Object.. So the new Blast.pm could possibly derive
from the simpler RootI.

I started working on this re-design around the time of BOSC in August, but got
side-tracked by the 3D structure-related modules that I presented in my poster
at that meeting (which I still intend to contribute!). But given the importance
of the Blast module, I'll focus on getting my new Blast stuff checked in on the
trunk so that we can start evolving this code into something more maintainable.
It may take a couple of weeks before any new code appears, though, so be

Steve Chervitz

> The question is whether as a consequence Blast.pm will have to be
> abandoned at some time though (contradicting myself :) In this case I
> think it is essential to migrate some of the important functionality of
> Blast.pm that makes its difference to Ian Korf's code. Again, this is
> not so simple in a 'logistic' sense, because BPlite in BioPerl is only a
> ported version (how much does it differ from the original version?
> Lorenz?)
> When I noticed that this is sort of off topic, I changed the subject
> line; it's probably not even something we can or should address for the
> 0.7 release.
> What do people think?
>         Hilmar
> --
> -----------------------------------------------------------------
> Hilmar Lapp                                email: hlapp@gmx.net
> GNF, San Diego, Ca. 92122                  phone: +1 858 812 1757
> -----------------------------------------------------------------