[BioRuby] [GSoC][NeXML and RDF API] Tree with Multiple rootings.
Hilmar Lapp
hlapp at drycafe.net
Fri Jun 4 15:09:11 EDT 2010
Multiple roots can be the result of a Bayesian analysis. (The PhyloDB
module in BioSQL, for example, does support multiple roots.)
However, representing multiple roots is useless without also being
able to indicate whether a root is an alternate root or the main root
node, and what its significance (posterior prob. for a Bayesian
analysis) is.
For reference, here is the column documentation for these two
properties in PhyloDB's tree_root table:
COMMENT ON COLUMN tree_root.is_alternate IS 'True if the root node is
the preferential (most likely) root node of the tree, and false
otherwise.';
COMMENT ON COLUMN tree_root.significance IS 'The significance (such as
likelihood, or posterior probability) with which the node is the root
node. This only has meaning if the method used for reconstructing the
tree calculates this value.';
-hilmar
On Jun 4, 2010, at 10:21 AM, Rutger Vos wrote:
> Hi Anurag,
>
> in practice I haven't actually seen trees with multiple rootings being
> used much, so it might not be urgent that this moves to the bioruby
> core. My main worry would be in picking the "right" root node to
> expose to the core api. I think that it should be the node from which
> all other nodes can be visited in a recursive traversal (which I
> expect client code to do), as opposed to a node that has been
> indicated using an XML attribute to be the root, but isn't in terms of
> the actual topology that emerges from the node and edge tables.
>
> However, I'm curious to hear other people's opinions whether a flag
> (e.g. "is_root") might be added Bio::Tree::Node, and a "get_roots"
> method in Bio::Tree that returns a list of roots that typically only
> holds the value of the "root" attribute, but could potentially have
> multiple rootings.
>
> Rutger
>
> On Fri, Jun 4, 2010 at 9:39 AM, Anurag Priyam <anurag08priyam at gmail.com
> > wrote:
>> Hello all,
>>
>> NeXML allows for trees with multiple rootings. In the NeXML lib
>> trees are
>> represented by Bio::NeXML::Tree which inherits from Bio::Tree. This
>> allows
>> for the usage of the excellent Bio::Tree framework for manipulating
>> NeXML
>> trees. However, Bio::Tree class supports only one root node.
>>
>> There are a couple of functions that require the presence of a root
>> node:
>> parent, children, descendants, ancestors, lowest_common_ancestor.
>> Now, these
>> functions can take a root node as a parameter. So it is possible to
>> extend
>> the current framework to work with trees with multiple root nodes.
>>
>> Though this may not be required, a possibility is to add the
>> multiple root
>> functionality to Bio::Tree class itself. Currently, I am adding
>> multiple
>> root support to Bio::NeXML::Tree class. If need be we can move the
>> functionality to Bio::Tree.
>>
>> Anything?
>>
>> --
>> Anurag Priyam,
>> 2nd Year Undergraduate,
>> Department of Mechanical Engineering,
>> IIT Kharagpur.
>> +91-9775550642
>>
>
>
>
> --
> Dr. Rutger A. Vos
> School of Biological Sciences
> Philip Lyle Building, Level 4
> University of Reading
> Reading
> RG6 6BX
> United Kingdom
> Tel: +44 (0) 118 378 7535
> http://www.nexml.org
> http://rutgervos.blogspot.com
> _______________________________________________
> BioRuby Project - http://www.bioruby.org/
> BioRuby mailing list
> BioRuby at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioruby
--
===========================================================
: Hilmar Lapp -:- Durham, NC -:- hlapp at drycafe dot net :
===========================================================
More information about the BioRuby
mailing list