[Biopython-dev] interaction networks in biopython

Jake Feala jfeala at gmail.com
Thu May 31 23:52:36 UTC 2007


Hi Everybody -

I've been thinking about the possible structure of a "BioNet" package,
and here is what I think would be most useful:

InteractionRecord.py - a storage object for biological interactions,
mirroring information stored in the PSI-MI (Proteomics Standards
Initiative - Molecular Interaction) XML standard - unless someone
knows a better one.

Network.py - network object inheriting a NetworkX graph class with
additional methods for manipulating an InteractionRecord stored with
each edge

InteractionIO - a submodule with parsers to read and write
interactions to/from Cytoscape, PSI-MI, and other formats or online
interaction databases

BioNetSQL - a submodule for storing and querying to a local SQL
database of interactions

I've started on the code, including parsers for Cytoscape, PSI-MI XML
files, and GRID flat files.  I haven't fixed up my SQL scripts yet
because I want to rethink the database design.  All the code is
available at  http://cmrg.ucsd.edu/JakeFeala#software

Here is an example that worked fine for me:
   from Network import *
   f = open(<GRID flat file from http://theBioGRID.org>)
   parser = GRIDIterator(f):
   net = create_network()
   net.load(parser)

Are there any suggestions, regarding (1) the standard for
InteractionRecord, (2) methods for the Network object, (3) structure
of the SQL database, (4) overall structure of the package?  Also, does
anyone want to contribute to any specific part (e.g. Yair can add his
HPRD parser)?

Thanks!
-Jake



On 5/16/07, Jason A. Hackney <jhackney at stanford.edu> wrote:
> Hi All,
>
> I'm also interested in an interaction network class for biopython. I'm
> willing to contribute to the effort with either code review or testing.
>
> Cheers,
>
> Jason
>
>
>
> Jason A. Hackney
>
> Postdoctoral Fellow
> Department of Microbiology and Immunology
> Stanford University
>
> e-mail: jhackney at stanford.edu
> lab phone: 650-724-3891
> mobile: 650-283-6907
>
>
>
>
>
> On May 16, 2007, at 10:25 AM, Jake Feala wrote:
>
> Thanks Ed and Yair, I'm really glad there's some interest in this!
> I'll get started on dusting off my code and adding more documentation.
>
> Steve - great suggestion.  I had already seen at NetworkX and was
> already thinking about switching over to this as the back-end graph
> representation.  Are there any issues that I should think about when
> creating these extra dependencies?
>
> Also, what is the next step in this process?  Should we agree on an
> API and class hierarchy before we start dumping code on each other?
> Which aspects can we make compatible with other Biopython objects? (I
> was thinking maybe parsers for the interaction datasets and the SQL
> interface)
>
> -Jake
>
>
> On 5/15/07, Steve Lianoglou <lists.steve at arachnedesign.net> wrote:
> Hi,
>
> On May 15, 2007, at 3:25 PM, Yair Benita wrote:
>
>
> I would be happy to contribute to this too.
> Currently I have a python script that uses HPRD to generate protein
> protein
> interaction maps. I have deferent filtering methods to display only
> classes
> of proteins or only links to a specific kegg pathway. It will need
> a bit of
> work before I can submit this to CVS. As for drawing the map, I am
> currently
> generating a dot file that can be converted to an image using
> GRAPHVIZ. If
> anyone wants to suggest anything else, please do.
>
> I've been using NetworkX[1] to play w/ networks/graphs interactively.
> You can display them if you have matplotlib installed, and can save
> the graphs to dot format as well.
>
> -steve
>
> [1] NetworkX: https://networkx.lanl.gov/wiki
>
>
>
> Yair
>
>
> on 5/15/07 2:37 PM, Ed Schofield at edschofield at gmail.com wrote:
>
>
> On 5/15/07, Jake Feala <jfeala at gmail.com> wrote:
> Hello Biopython people -
>
> With all the new research in genome-wide cellular interaction
> networks I was a little surprised not to see much support for these
> type of data in Biopython.  I know that Bioperl has a networks
> package
> that looks like the kind of thing that I would love to also see in
> Python for all the obvious reasons.
>
> First - has this already been done and I missed it?  All I could
> find
> were a few scattered and application-specific scripts across the
> web,
> plus the Pathway package in BioPython.
>
> If not, then would there be any interest in development along these
> lines?  A while back I wrote a few scripts that parse interaction
> datasets, stick them into a MySQL database, and retrieve the
> interactions into a Network object that can be used to analyze the
> graph of nodes and links.  I would be glad to update these to fit
> into
> the biopython framework, as it would be useful to my own research.
>
> One caveat is that I am an engineering PhD student and my
> programming
> skills are mostly self-taught beyond two Java courses, so I might
> need
> a little guidance in testing and preparing the code for
> distribution.
> I have only ever written code for my own personal research but I
> think
> my style is decent and I would love to get better.
>
> Any opinion or advice?
>
> This would interest me too; I'd be glad to have such functionality in
> BioPython. I can offer you some guidance on Python, packaging and
> testing, and (if you need it) use of external array packages.
>
> -- Ed
> _______________________________________________
> Biopython-dev mailing list
> Biopython-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython-dev
>
>
> _______________________________________________
> Biopython-dev mailing list
> Biopython-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython-dev
>
>
>
> _______________________________________________
> Biopython-dev mailing list
> Biopython-dev at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biopython-dev
>



More information about the Biopython-dev mailing list