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

Chris Fields cjfields at uiuc.edu
Sun Jul 23 20:43:45 EDT 2006


As an aside, the 'source' seqfeature in a GenBank file contains some  
of the following information as tags; that's where the NCBI tax ID is  
taken from in Bio::SeqIO::genbank:

FEATURES             Location/Qualifiers
      source          1..814
                      /organism="Porterinema fluviatile"
                      /organelle="plastid:chloroplast"
                      /mol_type="genomic DNA"
                      /strain="SAG 124.79"
                      /db_xref="taxon:246123"
                      /country="Germany"
...

So, variant(), organelle(), and ncbi_taxid() could all be set from  
the same point in Bio::SeqIO::genbank.

I suggested an option to Sendu, but I'd like to hear your thoughts on  
this since this will possibly affect bioperl-db.  We could have two  
Node-like Taxonomy objects using a common interface class  
(Bio::Taxonomy::NodeI) : Bio::Taxonomy::Node (stripped down version),  
and Bio::Taxonomy::Species (the sequence-based NodeI-implementing  
object, which would retain the other Bio::Species-like methods).   
Bio::Taxonomy::Species would act sort of as an 'entry point' for  
Bio::Taxonomy from sequences; moving up or down the tax node  
hierarchy gets Tax::Node objects, unless you are specifically at a  
'species'-ranked node (though this could be just a Tax::Node as well).

BTW, I have managed to get Bio::SeqIO::genbank switched over to  
Bio::Taxonomy::Node (er... Bio::Taxonomy::Species); all tests pass.   
I was quite surprised how easy it was.  It shouldn't be too hard to  
get a NodeI/Node/Species class hierarchy set up if everybody thinks  
it's worth it.  Then we could deprecate Bio::Species!

Chris

On Jul 23, 2006, at 6:44 PM, Hilmar Lapp wrote:

>
> On Jul 18, 2006, at 1:03 PM, Sendu Bala wrote:
>
>>
>> [regarding changes to Bio::Taxonomy::Node]
>>
>> Actually, I'm really strongly leaning toward getting rid of the
>> following methods and new() options (and giving up entirely on being
>> able to keep 'sapiens' somewhere):
>>
>> -organelle, organelle()
>> -division, division()
>> -sub_species, sub_species()
>> -variant, variant()
>> species(), validate_species_name()
>> genus()
>> binomial()
>>
>> As far as I can see none of these methods have any place in a generic
>> Node class.
>
> I agree. Some of them are a special case for genbank files (organelle
> () etc), and the rest is legacy from Bio::Species.
>
> 	-hilmar
> -- 
> ===========================================================
> : Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :
> ===========================================================
>
>
>
>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign





More information about the Bioperl-l mailing list