[Bioperl-l] treexml

Han, Mira mirhan at indiana.edu
Thu Jun 12 11:44:08 EDT 2008

I'll do that,
I was thinking of having an annotationCollectionI reference as a variable,
But inheriting from AnnotatableI sounds better.
Do you mean I should make a more generic AnnotatableNode instead of NodePhyloXML?


On 6/12/08 9:58 AM, "Hilmar Lapp" <hlapp at gmx.net> wrote:

I agree with implementing Bio::AnnotatableI. I'm not sure we need to
have a node class specifically tailored to PhyloXML but maybe we do.

But even if we do, the annotatable capability sounds generic enough
for having a Bio::Tree::AnnotatableNode, from which
Bio::Tree::NodePhyloXML would inherit and do all the things that are
really specific to PhyloXML?


On Jun 11, 2008, at 8:56 PM, Jason Stajich wrote:
> On Jun 11, 2008, at 5:48 PM, Han, Mira wrote:
>> I can remove the TreePhyloXML class,
>> And use the tag functions for Bio::Tree::TreeI.
>> Yeah, it seems like TreePhyloXML is overkill.
>> I don't know about the node though.
>> I think it would be cleaner to have a NodePhyloXML,
>> Since there are much more than scalar values that will be
>> connected to the node,
>> Such as annotations, sequences, etc.
> Mira -
> That sounds quite fine to me.  I agree that the NodePhyloXML is
> probably going to be different enough from the generic Node object
> to justify making a sub-class.  You may want to inherit from the
> interfaces like Bio::AnnotatableI in the NodePhyloXML if you are
> attaching annotations, etc.
> For example I do this for the Bio::Tree::AlleleNode which are nodes
> in a tree and also Individuals from a Population for popgen analyses.
> -jason
>> On 6/11/08 4:50 PM, "Jason Stajich" <JASON_STAJICH at BERKELEY.EDU>
>> wrote:
>> Hey Mira -
>> Looks like things are going well. I just wanted to check and see
>> if it is totally necessary to create new classes or if you can use
>> the get/set tag/value pair interface that already exists?
>> These are the functions that are present in Bio::Tree::TreeI and
>> Bio::Tree::NodeI :
>>  add_tag_value
>>  remove_tag
>>  get_all_tags
>>  get_tag_values
>>  has_tag
>> These are the same functions we use in SeqFeatureI interface as
>> well.  It is just possible to re-use these rather than making a
>> new function for every data type - this way we don't have to
>> change the interface for different richness of data.
>> BTW (and this may be me who did it, but maybe Sendu remembers) - I
>> am not sure why Bio::Tree::TreeI ISA Bio::Tree::NodeI.  Does
>> anyone know? Trees are containers around a set of Nodes which are
>> linked together to form a tree and the Tree object holds a pointer
>> to the root node.
>> -jason
>> --
>> Jason Stajich
>> Miller Research Fellow
>> University of California, Berkeley
>> lab: 510.642.8441
>> http://pmb.berkeley.edu/~taylor/people/js.html
>> http://fungalgenomes.org
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l

: Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :

More information about the Bioperl-l mailing list