[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