GSoC/GCI Archive
Google Summer of Code 2012

National Resource for Network Biology (NRNB)

Web Page:

Mailing List:


The National Resource for Network Biology (NRNB) is organizing the joint efforts of Cytoscape, PathVisio and WikiPathways. This is a great opportunity to work at the intersection of biology and computing. Our development teams are composed of biologists and programmers, providing a unique perspective on building and using open source tools.

Cytoscape is a general network visualization tool that integrates network topology with data about the network into the visualization. Cytoscape is rapidly becoming a systems biology standard. Cytoscape consists of a plugin framework which extends functionality in new ways. Our team consists of programmers and biologists from both academia and industry including: UC San Diego, UC San Francisco, U of Toronto, Agilent, Institute for Systems Biology, Sloan-Kettering, Institut Pasteur and others.

WikiPathways is a wiki for biological pathways. The wiki approach allows biologists and domain experts to easily create and update pathways. Pathways can be directly modified from a web browser using an embedded applet where you can draw genes, proteins and their interactions like in any popular drawing tool. The pathways can be used as images for publication and in data analysis tools such as GenMAPP, PathVisio and Cytoscape. WikiPathways itself is completely open source and is built on top of MediaWiki, using PathVisio as the pathway editor and BridgeDb as the backend database. WikiPathways is developed and maintained by BiGCaT Bioinformatics (University of Maastricht) and the Gladstone Institutes.


  • A Direct Interface Between R and Cytoscape I would like to develop a seamless bridge between the language R and Cytoscape. This will allow users of R and Cytoscape to simultaneously work in both programs and utilize their unique strengths: R for analysis and Cytoscape for visualization. The goal is to keep a graph in R in sync with the equivalent graph in Cytoscape and any modifications to the graph itself would be consistent between both programs. This same idea could be further extended to other useful languages such as Matlab.
  • Cytoscape App Manager, Cytoscape Web WebGL Renderer and Layouts, Presentation API Testing This proposal consists of the following: Development of Java-based Cytoscape App Manager for supporting simple and OSGi-bundle based apps, development of WebGL-based renderer for Cytoscape Web along with possible addition of layout algorithms, testing of changes to Cytoscape presentation API by porting OpenGL-based 3D renderer into OSGi-based plugin or Cytoscape app.
  • Cytoscape Plugin for importing cancer genomic data and drug-target interaction data from cBio Cancer Genomic Portal In this project, I propose to integrate the drug-interaction information into the cBio Cancer Genomic Portal, and create a Cytoscape 3.x compatible plugin for retrieving and visualizing multidimensional cancer genomic data and drug-target interaction data in the context of biological networks.
  • Extend PathVisio with a plugin to create , modify and visualize data on biological pathways from scripting languages The plugin would allow users to call functions of PathVisio from within their scripting language of choice(such as C, Python, Perl, PHP, Ruby, R etc.) to create new pathways, modify existing pathways and visualize their data on the pathways. All the function calls are done through XML-RPC therefore the programming language chosen for making the function calls is irrelevant as long as it has an XML-RPC client implementation. Most major programming languages (Java, C, Python, Perl, PHP, Ruby, R etc.) have such an implementation.
  • GeneMANIA plugin for MedSavant MedSavant and GeneMANIA are invaluable tools to biomedical researchers. MedSavant is a database where researchers can query patient’s genomic information. Once a mutated gene of interest has been identified, researches may use GeneMANIA to identify other genes of interest which they can then use as query back into the MedSavant database to identify any other mutations in these genes that may contribute to the patient’s condition. There is an evident connection then between MedSavant and GeneMANIA. This project thus aims to create an effective way for researchers to use both tools by creating a plug-in for the MedSavant database that accomplishes the following: · -use GeneMANIA's visualization tool to visualize the genes of interest given a particular gene from the MedSavant database. -recognize any other mutations from the database in the network of genes created · -recommend proteins and pathways given the mutations and network of genes of interest for further exploration of the relation between the mutation and affected proteins
  • IDEA 30: Pathway Comparison in PathVisio The Pathway-Comparison-plugin will load two pathways and compare them in PathVisio on the basis of Data Nodes and their interactions. The user selects two pathways and hits the "Compare" button.The differences (which are actually the common nodes/interactions) between the 2 pathways are then listed in a Difference Viewer panel. Besides the list of differences, the Difference viewer will also have the 2 pathways loaded up and displayed side by side. The user could then select a difference from the list and this will be highlighted in both pathways.
  • IDEA 36: Data summary of tables in Cytoscape Cytoscape shows tables as a spreadsheet, however users may want to view tables in other ways. To address this, Cytoscape 3 introduces table view, which are alternative widgets for showing tables. This project is a table view for summarizing numerical columns in two ways: Histograms. The table view shows a histogram based on the columns the user selects. The histogram is updated whenever the user selects different columns. The histogram’s number of bins is chosen by the user or can be calculated based on the width of the widget. When needing to include the histogram in a publication or presentation, the user can export it to a vector graphics file like PDF or EPS. Plots. The table view shows a plot of numerical values in the table based on the rows and columns the user selects. The plot’s X axis is the rows, and the Y axis is the columns. The user can reorder the rows and columns as needed. The X and Y axes show the names of its corresponding rows and columns. As in the histogram, the user can export the plot to a vector graphics file.
  • Idea 3: Interactive path explorer through networks and biological pathways for Cytoscape Observing, analyzing and interpreting flow of reactions and interactions among proteins, genes and other biochemical compounds is of utmost importance today. In order to make the work of researchers and biologists simple and efficient, a quick, precise glance of the chain of reactions to/from/between two entities (proteins/ genes etc.) is required. With networks today containing more than 10,000 nodes and 20,000 edges, it is virtually impossible to follow up on dependencies without an easy-to-use tool to help you out!
  • IDEA-25: SBGN-Complaint Views for Cancer Genomics Networks The main aim of the project is to create SBGN (Systems Biology Graphical Notation) compliant views for the networks used to visualize cancer maps at “cBio Cancer Genomics Portal” . The project requires customization of Cytoscape Web that already used for network tab at “cBio Cancer Genomics Portal” [2]. I plan to do this work in two stages. First, create a Cytoscape Web based viewer for biological networks using SBGN Process Description notation. Then, customize this component for cBio Cancer Genomics portal so as to overlay genomics data onto such network views. Thus the hope is for the former component to be reusable in other projects.
  • Layout Algorithms for New Cytoscape Web The support of third-party layouts in the new version of Cytoscape Web enables programmers to implement their layout algorithms to be used with different interactive networks. Cytoscape Web desires more layouts, besides their already implemented force-directed layout, to include within the program. This project involves implementing several layout algorithms for Cytoscape Web.
  • Loading and visualization of dynamical networks in Cytoscape 3.0 Analysis of dynamical information on gene expression is become of increasing interest for the scientific community, and the development of open source tools to provide the ability of analyzing such datasets is highly required. Cytoscape offers an ideal and already well developed framework into which network structured data can be accessed, visualized, and analyzed. I propose the implementation of a computational efficient (event-based) implementation for the loading and visualization of dynamical networks. Moreover I'll test the implementation, on the visualization of dynamical differences between a test control case and a network perturbation case.
  • Ontology-based Network Visualization and Analysis Biological networks have been widely used on many biological problems. Although there are also many software tools for analyzing networks using ontologies, most of them are isolated with simple functions. Based on our previous work, we are planning to develop a series interactive Cytoscape plugins to address both visualization and analysis of ontology-annotated networks.
  • Plugin for metabolite information in Pathvisio This is a plugin for Pathvisio, which shows information of a selected metabolite. This info contains general info of the metabolite, such as the name, ID and InChI IDs. Furthermore, it also describes predicted MS and NMR peaks and links out to pictures of NMR and MS spectra. CDK (Chemistry Development Kit) is also used to predict 13C NMR spectra and is also visualized in this plugin. In this way, the user has access to two 13C peak lists.
  • Porting HOPACH cluster algorithm into clusterMaker The HOPACH cluster algorithm is currently implemented in R. The goal of the project will be to implement HOPACH in Java as a stand-alone library and later incorporate it into clusterMaker.
  • Understanding Complex Pathways using User Data and Web Services in PathVisio IDEA 8: Understanding Complex Pathways using User Data and Web Services in PathVisio The goal is to produce a user-friendly mechanism to filter/highlight nodes in PathVisio, a tool to draw biological pathways. Users would be able to upload text data from a variety of external sources (e.g. protein-drug or protein-biological pathway data; PharmGKB or DrugBank) or experimental data and then filter out nodes in a biological pathway based on a combination of this information. In addition to user-uploaded data, the tool might also pull data directly from pre-selected databases using web services; BioCatalogue provides directory of biology-oriented web services. An example query is that a user might like to know what proteins in a particular biological pathway are involved in cell division, are known targets to the cancer drug doxorubicin, and are also over-expressed in some experiment the user has performed. One example of a tool that already does this well for textual data is Google Refine ( This tool would help biologists navigate large, complicated pathways. Language and Skills: Java Potential Mentors: Augustin Luna Contact:
  • Visualizing Semantic Data Landscapes with Cytoscape 3.0 In this project, I will develop a Cytoscape plugin that explores and links from local RDF data or remote SPARQL-endpoints containing biological pathway information. It visually enables exploring pathway knowledge resources to draw a linked data cloud and facilitates the assembly of federated semantic data sources in given contexts.