[Bioperl-l] Taxonomy and entrez

Sendu Bala bix at sendu.me.uk
Mon Sep 4 22:22:41 UTC 2006

Chris Fields wrote:
> ...
>> # prints 'Brassica rapa subsp.'
>> print $species->binomial('FULL');
>> # prints 'Brassica rapa subsp. pekinensis'
> To most biologists 'binomial' means 'Genus species'.  If we decide to
> continue using binomial(), adding an argument to retrieve something that
> isn't binomial in nature doesn't make much sense.

I didn't add it. It was a pre-existing feature of Bio::Species that I 
have made work for backward compatibility. My interpretation of the 
option (which can be any true value) is essentially a request for the 
trinomial name.

> Anyway, there is a method for Bio::Species/Bio::Taxon already in place for
> getting the full name: scientific_name(), which will not be deprecated.  The
> only way I can think of to retrieve the true 'binomial name' w/o reliance on
> the sequence file data would be to traverse the lineage to the species rank
> for a node (taxon) and retrieve the scientific_name(), which should always
> be 'Genus species'.

binomial() is there for backward compatibility, as is the entire 
Bio::Species class. It allows people to (hopefully) get the same strings 
they are used to getting.

FYI, binomial() is indeed implemented using traversals of the lineage 
tree. It just does some fantastic and surprising things to give us that 
old Bio::Species flavour we all know and love (?).

> Also, since we will eventually get rid of Bio::Species altogether, it
> doesn't make much sense to me why you want to promote using binomial(),
> which will be deprecated as well.  I'm a little confused: shouldn't we be
> promoting use of your new Bio::Taxon-based (DB-based) API for retrieving
> taxonomy information instead of using the old Bio::Species-based API?  Or am
> I missing something? 

I'm not promoting it. I stated that you didn't need to use Bio::Species. 
I mentioned it in case the OP wanted the familiarity of Bio::Species and 
the behaviour of its old methods.

More information about the Bioperl-l mailing list