[BioPython] Phylogeny tree plotting? (was: Generating Figures in Python)

Brad Chapman chapmanb@arches.uga.edu
Mon, 16 Apr 2001 01:11:58 -0400


Jan:
> > Initial question: Are there any utilities for plotting trees already
> > (which I might have overlooked)? Are there already plans for such a
> > project?

Rick: 
> I wrote a module for visualizing phylogenies using python using
> gnome-python, at http://bioinformatics.org/mavric.  After I finish my
> thesis (end of May) I'll work on integrating it into Biopython.

This is great to hear! I continue to think we could really use some
phylogeny code, and Mavric has a lot of good stuff to offer! Also,
congrats on an impending finish on your thesis. I wish I could say I
was about to finish my graduate work. :-)

> The reasons I haven't done this yet are many, the main ones being lack of
> time (I still haven't learned CVS), 

If you need help with stuff like this, I for one would be happy to
provide pointers. Learning CVS is very useful, and once you plunge into
it, it turns out not to be that bad. Also, biopython doesn't do anything 
complicated like branches, so the learning curve is not too
bad. Anyways, don't let CVS be the thing to stop you.

> I was
> concerned about the license issue, too (I prefer GPL), but I'm over it now
> :)

:-). This is nice to hear, it always bugs me when licensing stuff gets 
in the way. I still do prefer a simple python-type license so that
people working at commercial places have no need to fear using
biopython. As Andrew mentions, there are very few situations where
people actually sell code like this, and keeping the license less
restrictive will encourage more people to use biopython. Always a good 
thing.

Rick:
> I have some code written for comparing trees.  Mavric currently has a
> pretty decent API for manipulating trees, finding common ancestors, etc.,
> but the visualzation aspect is lagging behind.

Jan:
> > Over a couple of years, I've produced a C program for generating PostScript
> > tree graphics out of New Hampshire formatted trees which addresses these
> > demands and satisfies them -- to a greater or lesser extent. This hack
> > has reached a stage where a major redesign is due, and I started thinking
> > that it might be a good idea to redo the whole thing in Python / Biopython.

I think this would be very nice stuff to have in biopython as well. As 
Dinu mentioned, reportlab might be good for this -- the docs are very
nice so it is quick to learn, even for someone as artistically
impaired as I am.

Also, Greg Singer wrote some code a while back and mentioned an
interest in this sort of stuff. I haven't heard from him in a while,
but the code is here:

http://aix2.uottawa.ca/~s866370/python/TreeManip.py

This might also be useful as you all are thinking about organizing
things. Anyways, I'm very glad to hear the interest in this!

Brad