[Bioperl-l] Bio::*Taxonomy* changes

Sendu Bala bix at sendu.me.uk
Wed Jul 26 10:00:01 UTC 2006


Hilmar Lapp wrote:
> Instead, create something like
> 
> 	# return a Bio::Taxonomy::Node:
> 	my $taxon = $seq->taxon();

Yes, but $seq->species() would also


> 	# alternative approach: return a lineage (taxonomy)
> 	# this would be Bio::TaxonomyI compliant
> 	my $lineage = $seq->lineage();

I've since come to the conclusion that anything Taxonomy-ish would be 
inappropriate - see recent post.


> The former would require the lineage (and organelle for completeness)  
> information to be either easily (though not necessarily directly)  
> accessible through the node, or added as annotation.

That specifically is the main problem with Node as it is now. You 
shouldn't store information about the lineage (essentially information 
about other nodes) on the node object itself. Storing it as annotation 
on the Node or elsewhere is terrible: you lose all the power of Node and 
can no longer ask any lineage-related questions.

There is no need for this split in functionality - when you don't have 
database access and just some genbank files, you can't answer any 
taxonomic questions involving lineage, vs. when you do have database 
access suddenly you can start doing useful things.

My proposed solution is that bioperl's taxonomy model always lets you 
answer the same questions regardless of your source for taxonomic 
information - see recent post.



More information about the Bioperl-l mailing list