[Biopython-dev] Bio.Tree layout (Was: BioGeography update)

Brad Chapman chapmanb at 50mail.com
Mon Jul 13 21:39:05 UTC 2009

Hi Eric;

> Hilmar Lapp just pointed me to the BioSQL PhyloDB extension:
> http://biosql.org/wiki/Extensions
> Should this schema be the basis of a Bio.Tree.BaseTree module?

Yes, that sounds perfect. PhyloDB has been kicked around quite a bit
and will be a good base. Great idea.

If you want someone to talk to in real life at UGa, Jamie Estill
worked on PhyloDB during GSoC a couple of years back:


He's crazy smart and a nice guy, and was in my lab when I was down
there. He's a great person to know.

> Here's the file layout I'm picturing:
> Bio/Tree/
>     BaseTree.py -- everything else derives from these classes
>     PhyloXMLTree.py -- already on github
>     NexusTree.py -- if necessary
> The class structure I'm working on right now looks like:
> # In BaseTree -- currently empty classes, pending Nexus integration
> class TreeElement(object)
> class TreeNode(TreeElement)
> # In PhyloXMLTree
> class PhyloElement(BaseTree.TreeElement)
> class Clade(PhyloElement, BaseTree.TreeNode)
> class ...(PhyloElement) -- all other phyloXML classes
> Rather than treat BaseTree as the intersection of all the other Tree
> representations that rely on it, we could use PhyloDB as the reference
> point. What do you think? Should we come back to this in a week or two?

I think PhyloDB is the right starting point, and then the
implementations in Newick, lagrange and PyCogene and elsewhere are
good references for the operations that people will want to do on
the tree. I don't see any reason to wait on this; I'm excited about the
generic tree representation and bringing these things together.


More information about the Biopython-dev mailing list