[Bioperl-l] Bio::Species, Bio::Taxonomy::Node overhaul

Sendu Bala bix at sendu.me.uk
Mon Aug 7 03:01:35 EDT 2006

Chris Fields wrote:
>> http://en.wikipedia.org/wiki/Species and 
>> http://en.wikipedia.org/wiki/Binomial_nomenclature. "The name of 
>> the species is the whole binomial, not just the second term (which 
>> may be called specific epithet, for plants, or specific name, for 
>> animals)".
>> We can't have a method for the 'specific name' because we have no 
>> way of always correctly working out what that is. The NCBI taxonomy
>> database doesn't tell us, and neither do the various sequence file
>> formats.
> The previous use of species() in Bio::Species fits that definition, 
> in that the species() method originally gave only the species 
> descriptor (one name), NOT the binomial name, which is given by 
> binomial().  Similarly, genus() gave only the genus name.  Why have a
>  genus() or binomial() at all if you get the entire name via 
> species()?

We don't need species() either. This is about backward compatibility. 
Though... from that point of view I suppose it makes sense to have 
species() behave the same way as it used to.

> So, is there a correct definition of 'species'?

Yes, I should think it's the one Wikipedia gives.

> "Since the advent of the theory of evolution, the conception of 
> species has undergone vast changes in biology; however no consensus 
> on the definition of the word has yet been reached."
> Seems ambiguous to me.

No, the concept of species had undergone vast changes in respect to how 
you group together or not different organisms into the same species; not 
in how you define the name of a species.

> It's my firm belief, though, using species() in this way will 
> generate more confusion than it's worth.  I'll leave it to you to 
> answer the confused emails from bioperl users who don't expect this.

Well, that would be fine.

It's a simple choice, then, between a) having species() always return 
the correct answer, but that being something quite different to before 
(the binomial), or guess what the descriptor is but sometimes get it 
wrong, being the old way. If we pick the latter, we have the further 
choice between b) guessing in exactly the same way as before for pure 
backward compatibility, or c) guessing in a new way so that we're wrong 
less of the time. All 3 ways are fine by me - I'll go with the consensus 

Chris, your vote would be for b) ?

More information about the Bioperl-l mailing list