[Biopython-dev] Code review request for phyloxml branch

Eric Talevich eric.talevich at gmail.com
Fri Sep 25 03:54:05 UTC 2009


Hello, Jaime,

Sorry I didn't respond directly to your earlier post -- I wrote half of an
e-mail, then realized I had no good suggestions on what to do so I scrapped
it.

My Tree and TreeIO code is basically a complete parser for the phyloXML
format, plus a few base classes extracted out in hopes of eventually
creating a unified set of format-independent objects, as in SeqIO and
AlignIO. Your code for working with trees looks much more complete than
mine, so if some of it can be incorporated into Biopython, I think that
would be great.

I see these issues with integration:
1. It's GPL, while Biopython uses a more permissive custom license
resembling the BSD and MIT licenses. Would you be willing and able to
relicense parts of your work for Biopython?

2. Python 2.5 dependency: Biopython still supports Py2.4, so this will
require some compatibility fixes -- not a huge problem.

3. Scipy and numpy dependencies: Numpy is considered a semi-optional
dependency in Biopython, so if it can be imported on the fly by just the
functions that need it (hopefully no core ones), that would be best. If
not... we can discuss. Scipy isn't used anywhere else in Biopython yet, so
it would be better to make that an optional, on-the-fly import, too.

4. PyQt4 is a big package and I'm not sure it's as common in scientists'
Python installations as numpy and scipy, so if the underlying algorithms for
tree layout could be ported to Reportlab, matplotlib or PIL, that would be
ideal. I personally would like to be able to pair sequence snippets with the
leaves of a standard phylogram, so if you need me to do some additional work
to get this section ported to Biopython, I'd consider it time well spent.

5. Presumably, the tree object type in ETE is different from Bio.Tree or
Bio.Nexus, so porting the core tree manipulation code to Biopython would
require a substantial effort somewhere.

6. The PhylomeDB connector is cool, and browsing the source, looks like it
wouldn't require much effort at all to drop into Biopython.

Thanks for letting us know about this.

Cheers,
Eric


On Thu, Sep 24, 2009 at 6:45 AM, Jaime Huerta Cepas <jhuerta at crg.es> wrote:

> Hi,
>
> ( I'm the developer of ETE. )
> I agree that PyQt4 is an important dependence. I chose it because
> Qt4-QGraphicsScene environment offers many possibilities like openGL
> rendering, unlimited image size, performance, and good bindings to python.
> However, I am working on my code to allow the rendering algorithm to use any
> other graphical library. So, you could render the same tree images using
> different backends. If you think this is useful for you, please let me know
> and we can think how to integrat it with biopython.
> Regarding the GUI, it is not a standalone application but one more method
> within the Tree objects. The GUI  can be started at any point of the
> execution and the main program will continue after you close it. I did it
> like this because I think is quite useful for working within interactive
> python sessions.
>
> I develop a lot of  code around tree handling, so if you think I can help,
> please tell me.
> jaime.
>
>
>
>>  > *Graphics*
>> > I finally fixed the networkx/graphviz/matplotlib drawing to leave
>> unlabeled
>> > nodes inconspicuous, so the resulting graphic is much cleaner, perhaps
>> even
>> > usable. Plus, the nodes are now a pretty shade of blue. Still, it would
>> be
>> > nice to have a Reportlab-based module in Bio.Graphics to print
>> phylogenies
>> > in the way biologists are used to seeing them. Does anyone know of
>> existing
>> > code that could be borrowed for this? I looked at ETE (announced on the
>> main
>> > biopython list last week) and liked the examples, but it uses PyQt4 and
>> a
>> > standalone GUI for display, which is a substantial departure from the
>> > Biopython way of doing things.
>>
>> I still haven't tracked down my old report lab code, but it wasn't object
>> orientated and would need a lot of work to bring up to standard...
>>
>>
>
>
>
>
>
>
>
>> Peter
>>
>> _______________________________________________
>> Biopython-dev mailing list
>> Biopython-dev at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/biopython-dev
>>
>
>
>
> --
> =========================
> Jaime Huerta-Cepas, Ph.D.
> CRG-Centre for Genomic Regulation
> Doctor Aiguader, 88
> PRBB Building
> 08003 Barcelona, Spain
> http://www.crg.es/comparative_genomics
> =========================
>
>



More information about the Biopython-dev mailing list