[Bioperl-l] suggestions for suitable 'taxon' object
Sendu Bala
bix at sendu.me.uk
Wed Dec 20 14:51:33 UTC 2006
Chris Fields wrote:
> On Dec 19, 2006, at 10:23 PM, Rutger Vos wrote:
>
>> Hi all,
>>
>> I am looking for a bioperl object that can be abused to function as
>> a suitable 'taxon' object, where I mean 'taxon' as understood by
>> the NEXUS file format (i.e. not strictly an entity from a taxonomy,
>> but more loosely an OTU).
>>
>> The object would primarily function as a way to relate nodes in
>> trees to sequences in an alignment (a foreign key that both nodes
>> and sequences refer to), and secondarily as the keeper of the
>> canonical name of the OTU, such that a sequence named
>> 'Homo_sapiens|EF177447.1/12-56' and a node named 'Homo sapiens
>> (constrained monophyly)' can still be understood to refer to the
>> same thing - the OTU 'Homo sapiens sapiens' (for example).
I haven't had time to give your suggestions consideration, but I can say
that I'm having to do the same thing for a bioperl-run module and my
work-around is simply to set a custom name on my Bio::Taxon objects. To
explain, I have the benefit that my tree is made up of Bio::Taxon
objects, so I call $taxon->name('seq_id', $seq->id). Then when I want to
know which of my sequences corresponds to a particular taxon, I work out
which of them has the id given by shift @{$taxon->name('seq_id')}.
Hardly ideal, but it works for now.
>> I was thinking that a (possibly expanded) Bio::Species might work
>> if there was some sensible way of appending references to node and
>> sequence objects to it (or otherwise associate them with each
>> other), but I am writing *to solicit any and all suggestions*. I am
>> looking for something similar to Bio::Phylo::Taxa::Taxon.
>
> Sendu would be the best one to speak about Bio::Taxon and
> Bio::Species and may have some ideas on the above. The current plan
> was to deprecate Bio::Species, but who knows?
Given that we do plan to deprecate Bio::Species, I'd resist the
temptation to expand on it. Use Bio::Taxon as a base if it has stuff you
need, or base straight from Bio::Tree::Node if not.
More information about the Bioperl-l
mailing list