[Biopython-dev] Building Gene Ontology support into Biopython

Giovanni Marco Dall'Olio dalloliogm at gmail.com
Mon Oct 19 08:32:31 UTC 2009

On Sun, Oct 18, 2009 at 7:22 AM, Chris Lasher <chris.lasher at gmail.com>wrote:

> 2) What is the Biopython stance on introducing third-party
> dependencies? The gene ontology is represented a directed acyclic
> graph (DAG) and I want to use an existing graph library rather than
> roll our own. What would be the aversion to requiring either NetworkX
> or igraph as a dependency for the GO library. (I have experience with
> NetworkX and would prefer it, though I imagine igraph would be very
> similar for nearly all the methods we'd need access to to construct
> the DAG)

introducing networkx as a dependency would also open the road to modules to
work with pathways and networkx with biopython.
For example, I have a partially complete script to parse Kegg's KGML files
for pathway and put them into a networkx object.
The problem is that biopython is a monolitic packages - you have to install
it all or nothing. Maybe in a future (it is just a tought) it would be
better to have it as a repository of packages, like BioConductor.

> 3) What are parsers written using these days? I checked the tutorial
> section on them
> (http://biopython.org/DIST/docs/tutorial/Tutorial.html#htoc209) but
> this wasn't explicitly covered. Any pointers to recently written
> parsers? I seem to recall Biopython has moved away from Martel
> parsers, correct? Has anything been done with pyparsing or some other
> parser, or is it strictly manual now? Also, I'm welcoming tips on the
> architecture of parsers in general.
> 4) Tying the GO Annotations to a fundamental Biopython data structure.
> This can't really be a SeqRecord object. SeqRecord.annotations makes
> sense, however, I can't guarantee a SeqRecord object will exist
> because the annotations don't come with the sequence itself. (A
> sequence is required to instantiate a SeqRecord object). Any
> suggestions on this?

What about using zope component and zope interface?
It is an alternative approach to object programming, based on the experience
that zope developers matured with Zope 2, which was a mess of similar
classes and objects that became too difficult to maintain.
- http://wiki.zope.org/zope3/ComponentArchitectureApproach

Comments most welcome.
> Best,
> Chris
> _______________________________________________
> Biopython-dev mailing list
> Biopython-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython-dev

Giovanni Dall'Olio, phd student
Department of Biologia Evolutiva at CEXS-UPF (Barcelona, Spain)

My blog on bioinformatics: http://bioinfoblog.it

More information about the Biopython-dev mailing list