[Bioperl-l] Bio::Search::XXX::GenericXXX vs. Bio::Search::XXX::BlastXXX

Luc.Gauthier at aventis.com Luc.Gauthier at aventis.com
Thu Mar 27 15:02:22 EST 2003


Hi everyone,

I work with Bioperl v1.0 and am currently learning to use the Bio::SearchIO
system.
For this reason, I am reading the Bio::SearchIO HOWTO written by Jason
Stajich.

My question comes as I read about the different Bio::Search objects. After
reading
the online documentation at http://doc.bioperl.org/releases/bioperl-1.0/, it
appeared
to me that Bio::Search::XXX::BlastXXX (where XXX is Result, Hit and HSP)
objects
would be of greater interest to me than the Bio::Search::XXX::GenericXXX
ones
(I am working with NCBI Blast output reports).

The fact that BlastXXX objects are richer (thus better to use) than the
GenericXXX
ones is mentionned in the Bio::SearchIO HOWTO (page 3):

     "The important take home message is that you cannot assume that methods
in 
      the BlastXXX objects are in fact implemented by the GenericXXX
objects."

However, the use of those richer objects is discouraged in the next
sentence:

     "More likely than not the BlastXXX objects will be deprecated and
dismantled
      as their functionality is ported to the GenericXXX objects."

This was indirectly confirmed to me as a call to the "blastall" method of a
Bio::Tools::Run::StandAloneBlast factory (with '_READMETHOD' set to 'Blast')
hands me back a reference to a Bio::SearchIO::blast object on which the 
"next_result" method call returns a reference to a
Bio::Search::Result::GenericResult object.

Then I took a look at the Bioperl v1.2 online documentation available at
http://doc.bioperl.org/releases/bioperl-1.2/ and found out that not only the
Bio::Search::XXX::BlastXXX is still available but that new implementations
were added (HMMERXXX, WABAXXX). This does not at all confirm what
is said in the Bio::SearchIO HOWTO.

Am I understanding something wrong ?
Should I stick to GenericXXX objects ?

Thanks a lot for your help !
Luc Gauthier






More information about the Bioperl-l mailing list