[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