[Biopython-dev] [Wg-phyloinformatics] GSoC Weekly Update 11: PhyloXML for Biopython

Brad Chapman chapmanb at 50mail.com
Thu Aug 6 13:14:42 UTC 2009


Hi Eric;

> OK, it works now but the resulting trees look a little odd. The options
> needed to get a reasonable tree representation are fiddly, so I made
> draw_graphviz() a separate function that basically just handles the RTFM
> work (not trivial), while the graph export still happens in to_networkx().
> 
> Here are a few recipes and a taste of each dish. The matplotlib engine seems
> usable for interactive exploration, albeit cluttered -- I can't hide the
> internal clade identifiers since graphviz needs unique labels, though maybe
> I could make them less prominent. Drawing directly to PDF gets cluttered for
> big files, and if you stray from the default settings (I played with it a
> bit to get it right), it can look surreal. There would still be some benefit
> to having a reportlab-based tree module in Bio.Graphics, and maybe one day
> I'll get around to that.

This is great start. I remember pygraphviz and the networkx
representation being a bit finicky last I used it. In the end, I ended
up making a pygraphviz AGraph directly. Either way, if you can remove
the unneeded labels and change colorization as you suggested, this is
a great quick visualizations of trees.

Something reportlab based that looks like biologists expect a
phylogenetic tree to look would also be very useful. There is a
benefit in familiarity of display. Building something generally
usable like that is a longer term project.

> I think I've seen that app, but I thought it was backed by AppEngine. Neat
> stuff. I will learn BioSQL for my own benefit, but I don't think there's
> enough time left in GSoC for me to add a useful PhyloDB adapter to
> Biopython. So that, along with refactoring Nexus.Trees to use
> Bio.Tree.BaseTree, would be a good project to continue with in the fall, at
> a slower pace and with more discussion along the way.

Yes, the AppEngine display is also BioSQL on the backend; I ported over
some of the tables to the object representation used in AppEngine. I
also have used the relational schema in work projects -- it
generally is just a good place to get started. 

Agreed on the timelines for GSoC. We'd be very happy to have you
continue that on those projects into the fall. Both are very useful
additions to the great work you've already done.

Brad



More information about the Biopython-dev mailing list