Project Ideas RecentChanges

Project Ideas

Contents

  1. Original_Idea 1: Submit your own original proposal
  2. IDEA 2: Graph Database Support for Cytoscape 3 by TinkerPop Software Stack
  3. IDEA 3: Graphical Annotated Networks in Cytoscape 3.0
  4. IDEA 4: Implement heatmaps in CyDataTable browser in 3.0
  5. IDEA 5: One-click transfer/update files between Cytoscape and the Virtual Cell
  6. IDEA 6: Web interface for Querying the Virtual Cell database
  7. IDEA 7: Cytoscape plugin for importing and visualizing variant data
  8. IDEA 8: WikiPathways pathway page enhancements
  9. IDEA 9: New Features for Online Tutorial System
  10. IDEA 10: Custom Export Editor for WikiPathways Using SVG
  11. IDEA 11: Integration of WikiPathways Visualization with PathVisio into Bioclipse
  12. IDEA 12: Integration of Cytoscape into Bioclipse
  13. IDEA 13: PathVisio Plugin to Load Additional Information about Data Nodes
  14. IDEA 14: Porting Interference App to Cytoscape 3 with new features for undirected and directed networks
  15. IDEA 15: Porting Pesca App to Cytoscape 3 with new features for undirected and directed networks
  16. IDEA 16: BridgeDb config plugin in PathVisio
  17. IDEA 17: Publication Reference Plugin for PathVisio
  18. IDEA 18: Visualizing Pathway RDF with Visualbox
  19. IDEA 19: Tablet App for WikiPathways
  20. IDEA 20: Real-time Streaming of Dynamic Graphs in Cytoscape
  21. IDEA 21: Improved Layering/Interaction in Cytoscape 3 Networks
  22. IDEA 22: Compound Graph Visualization in Cytoscape 3
  23. IDEA 23: Network Analysis Enhancements
  24. IDEA 24: Visualization of Time-series Cluster Data
  25. IDEA 25: Network Animation Tools
  26. IDEA 26: Touch-based Exploration of Large Data Collections and Networks
  27. IDEA 27: Pathway Analysis of GWAS in Cytoscape
  28. IDEA 28: User Interaction on Biomedical Linked Data
  29. IDEA 29: CentiScaPe for multiple networks analysis and graphical output enhancement

Original_Idea 1: Submit your own original proposal

Feel free to propose your own idea. As long as it relates to one of our projects, we will give it serious consideration. Creativity and self-motivation are great traits for open source programmers, but make sure your proposal is also relevant.

IDEA 2: Graph Database Support for Cytoscape 3 by TinkerPop Software Stack

Cytoscape 3 is now available to end-users, and we need an easy-to-use Cytoscape App which provides the following functions to support huge data sets:

To support multiple databases, you need to use TinkerPop Blueprints. The goal of this project is publish a maintainable and usable (by average biologists) App for all Cytoscape 3 users.

Language and Skills: Java, Maven, OSGi, Git/GitHub
Potential Mentors: Kei Ono, Samad Lotia
Contact: cytoscape-discuss@googlegroups.com

IDEA 3: Graphical Annotated Networks in Cytoscape 3.0

Beyond just the nodes and edges, it’s often helpful to annotate a network or pathway with more information, including basic graphics and text. We now have a basic annotations framework in Cytoscape 3, but there is a lot to be done. We have also proposed an API for annotations, but the existing implementation needs to be modified to conform to the API. There are also two new features that we would like to add: relative annotations (relative to a node/edge or group of nodes) and annotation groups.

Download Cytoscape 3 and play with the existing annotations capabilities. If the project still interests you contact potential mentors via the link below and we will help you refine your proposal.

Language and Skills: Java
Potential Mentors: Scooter Morris
Contact: cytoscape-discuss@googlegroups.com

IDEA 4: Implement heatmaps in CyDataTable browser in 3.0

Similar in idea to what is provided by VistaClara with some of the advanced features in clusterMaker, e.g., dendrograms, zooming, etc.

Language and Skills: Java
Potential Mentors: Scooter Morris, Samad Lotia
Contact: cytoscape-discuss@googlegroups.com

IDEA 5: One-click transfer/update files between Cytoscape and the Virtual Cell

Goal: Develop a Cytoscape plugin that allows a user to “single-click” transfer pathway data between Cytoscape and the Virtual Cell applications.

The Virtual Cell modeling and simulation framework is an open source software for modeling and simulations of biological systems providing both client- and server- based modeling and simulation capabilities. The biologically oriented Virtual Cell user interface is primarily focused on physical modeling of cellular processes, but recently incorporated support for biological pathway models compliant with the BioPAX (Biological Pathway Exchange) format and ontology. Cytoscape is an extensible, biologically oriented graph visualization and analysis tool, build using the Java OSGi framework, which provides rich support for BioPAX pathways and connectivity to pathway databases. A Cytoscape plugin (OSGi bundle) is needed which can provide “single-click” client-side transfer/update of pathway data and user selections/actions between Cytoscape and the Virtual Cell applications.

Language and Skills: Java, knowledge of OSGi is a plus
Possible Mentors: Jim Schaff
Contact: vcell-discuss

IDEA 6: Web interface for Querying the Virtual Cell database

Goal: Develop a web application for querying and retrieval SBML models from Virtual Cell database

The Virtual Cell modeling and simulation framework is an open source software for modeling and simulations of biological systems using Java RMI, providing both client- and server- based modeling and simulation capabilities. The biologically oriented user interface allows experimentalists to create models, define cellular geometry, specify simulations and analyze the simulation results. The models and results are stored on a remote server and presently can be reviewed only in the VCell software. The development of a web application for querying VCell database would provide new resources for biologists by enabling web access to VCell database, searching and retrieving public models in VCML and SBML formats.

Language and Skills: Java, experience with Google Web Toolkit is a plus
Possible Mentors: Michael Blinov, Jim Schaff
Contact: vcell-discuss

IDEA 7: Cytoscape plugin for importing and visualizing variant data

Background: Variant data identifies genomic regions where individual base pairs are different from a reference genome. These variations (e.g., SNPs) can influence gene regulation, structure and function, and are thus associated many genetic diseases. These data sets are quick large and difficult to navigate.

Goal: To make a Cytoscape plugin that reads in variant data files and dynamically maps the data to biological networks and pathways independently loaded into Cytoscape. The plugin should provide the databases needed to perform the mapping as well as default visualization settings, such as coloring all genes with variants in coding regions red.

The plugin should:

Language and Skills: Java/Swing
Potential Mentors: Alex Pico, Paul Tang, Nathan Salomonis, Michael Heuer
Contact: cytoscape-discuss@googlegroups.com

IDEA 8: WikiPathways pathway page enhancements

Apply your web development skills to improve the WikiPathways website, especially the pathway page. Here are several ideas of features you could work on:

Language and Skills: JavaScript, JQuery, Web development
Possible mentors: Thomas Kelder, Alex Pico
Contact: wikipathways-discuss@googlegroups.com

IDEA 9: New Features for Online Tutorial System

OpenTutorials is a free, online tutorial resource for open source and NRNB-supported tools. It is built on top of MediaWiki and a handful of extensions. It’s basic function is to provide a wiki-based collection of tutorials that can be viewed as web page, slide show or printed handout. The wiki approach makes it easy to build and maintain content. The slide show and handout features make it useful for presenters.

There are a number of features that need to be implemented to improve the site and really make it effective to a larger community. What we’re looking for here with this project is an application that is very clear about the use cases of tutorials:

The application should include a number of features that enhance these use cases. When possible, the features should point to other examples were similar approaches have proven successful (e.g., in other popular software). After we discuss the features, your application should then include implementation details and a timeline. These would be implemented as one or more PHP extensions, for example. Experience or some demonstration of familiarity with MediaWiki or PHP would be a plus. Here are some feature ideas to get you started:

Language and Skills: PHP, MediaWiki
Potential Mentors: Alex Pico, Kristina Hanspers
Contact: apico@gladstone.ucsf.edu

IDEA 10: Custom Export Editor for WikiPathways Using SVG

Background: WikiPathways is a collaborative pathway editing and sharing platform. There are many ways to use the pathway content including data visualization and analysis. Another use is as illustrations in presentations and publications. We currently provide SVG export for this purpose. However, the images usually require quite a bit of “touch up” in secondary tools like Illustrator, which inhibits this use case.

Goal: Customize a basic SVG Editor to insert into the export process to allow basic visual style updates and custom annotations on top of the pathway image. Pre-configured options would include:

This simple “touch up” editor could dramatically increase the audience for WikiPathways to include anyone looking for an easy tool to generate nice looking pathway images for presentations. Ideally, this editor would work on tablets as well as across major browsers.

Language and Skills: SVG, SVG-edit (or alternative)
Potential Mentors: Alexander Pico, Anders Riutta
Contact: wikipathways-discuss@googlegroups.com

IDEA 11: Integration of WikiPathways Visualization with PathVisio into Bioclipse

Goal: To integrate PathVisio visualization widget into Bioclipse for visualization of pathway information from WikiPathways. Selecting protein and metabolites in the pathway visualization, will shows of that chemical entity in other Bioclipse components, using the Jmol and JChemPaint plugins for Bioclipse. Preferably, interaction can be scripted, allowing integration with other metabolomics
features in Bioclipse.

Motivation: Bioclipse is a powerful platform combining a powerful scripting language to write data analysis and visualization workflows, which can easily be shared on, for example, MyExperiment.org [1]. While it has various components to support metabolomics in general, it lacks support for visualization of metabolic pathways.

Description: You will use Java to write a plugin for Bioclipse [2] that uses PathVisio [3] as a library to visualize metabolic pathways from WikiPathways inside Bioclipse. You will use the Eclipse selection event propagation mechanism [4] so that when users select protein and metabolites, Bioclipse will automatically visualize 2D or 3D structural information about those molecules (only the event creation has to be implemented). Preferably, a scripting language extension is written [5], to allow extracting information from the pathway and highlighting of parts of the pathway. This involves extending an existing interface with methods that can be run from the scripting language.

  1. myexperiment.org
  2. www.bioclipse.net
  3. www.pathvisio.org
  4. www.eclipse.org/articles/Article-WorkbenchSelections/article.html
  5. www.biomedcentral.com/1471-2105/10/397

Language and Skills: Java
Potential Mentors: Egon Willighagen
Contact: wikipathways-discuss@googlegroups.com

IDEA 12: Integration of Cytoscape into Bioclipse

Goal: To integrate the new Cytoscape OSGi visualization widgets into Bioclipse for visualization of large interaction networks. Selecting protein and metabolites in the pathway visualization, will shows of that chemical entity in other Bioclipse components, using the Jmol and JChemPaint plugins for Bioclipse. Preferably, interaction can be scripted, allowing integration with other metabolomics
features in Bioclipse.

Motivation: Bioclipse is a powerful platform combining a powerful scripting language to write data analysis and visualization workflows, which can easily be shared on, for example, MyExperiment.org [1]. While it has been used in drug discovery and predictive toxicology in pharmaceutical industry [2], it currently does not have functionality to visualize large graph structures as Cytoscape has.

Description: You will use Java to write a plugin for Bioclipse [3] that uses Cytoscape. No particular graph is aimed at, but the plugin will use the Eclipse selection event propagation mechanism [4] so that when users select protein and metabolites, Bioclipse will automatically visualize 2D or 3D structural information about those molecules (only the event creation has to be implemented). Preferably, a scripting language extension is written, to allow extracting information from the
visualized graphs.

  1. myexperiment.org
  2. pubs.acs.org/doi/abs/10.1021/ci200242c
  3. www.bioclipse.net
  4. www.eclipse.org/articles/Article-WorkbenchSelections/article.html

Language and Skills: Java
Potential Mentors: Egon Willighagen
Contact: cytoscape-discuss@googlegroups.com

IDEA 13: PathVisio Plugin to Load Additional Information about Data Nodes

Ensembl now provides a BioMart implementation for Ensembl genes, variation and regulation. The goal of this project is to develop a plugin that loads additional information about the data nodes in a pathway and displays them in a side panel (gene name, chromosome location, strand, %GC content, transcript count, etc). This could be extended with other services that provide other information about the data nodes.

Language and Skills: Java
Potential Mentors: Martina
Contact: wikipathways-discuss@googlegroups.com

IDEA 14: Porting Interference App to Cytoscape 3 with new features for undirected and directed networks

Background: Interference is a Cytoscape plug-in for virtual knock-out experiments on complex networks. It allows to evaluate the topological effects of single or multiple nodes removal from a network. In this perspective, interference allows virtual node knock-out experiments: it is possible to remove one or more nodes from a network and analyze the consequences on network structure, by looking to the variations of the node centralities values. As the centrality value of a node is strictly dependent on the network structure and on the properties of other nodes in the network, the consequences of a node deletion are well captured by the variation on the centrality values of all the other nodes. With the interference app the user can:

Goal: The Interference plugin is based on some features of the CentiScaPe plugin, and is available for Cytoscape 2.8.x but not yet for Cytoscape 3. The IDEA is to port the plugin to Cytoscape 3 and to add some features. The plugin works for undirected networks, but now a new version of the CentiScaPe plugin allows to compute several centralities also for directed networks. The new tool should:

Language and Skills: Java
Potential Mentors: Giovanni Scardoni (CBMC, University of Verona)
Contact: cytoscape-discuss@googlegroups.com

IDEA 15: Porting Pesca App to Cytoscape 3 with new features for undirected and directed networks

Background: The Pesca plugin is able to generate networks extracting shortest-path based subnetwork in order to help reconstructing biological networks. Particularly it provides the shortest path tree from a node, the shortest path cluster and a function to connect single nodes to giant component based on the shortest path from the nodes to the giant components.
Goal: These features are available for Cytoscape 2.8.x in beta version. The IDEA is to port all the features to Cytoscape 3 and to add new features to the app. Particularly:

Language and Skills: Java
Potential Mentors: Giovanni Scardoni (CBMC, University of Verona)
Contact: cytoscape-discuss@googlegroups.com

IDEA 16: BridgeDb config plugin in PathVisio

BridgeDb is an identifier mapping framework used in PathVisio and WikiPathways. Currently it is possible to load a mapping databases for gene products and metabolites. The existing BridgeDb config plugin provides functionality to load more mapping databases or to use other webservices for the mappings. This functionality should be extended and integrated into the core PathVisio application as another core module. The configuration dialog has to be improved so it is more intuitive and userfriendly.

The main features of this module should be:

Language and Skills: Java, OSGi, BridgeDb
Potential Mentors: Martina Kutmon, Anwesha Dutta
Contact: wikipathways-discuss@googlegroups.com

IDEA 17: Publication Reference Plugin for PathVisio

Currently PathVisio supports publication reference annotation of pathways, data nodes and interactions with PubMed identifiers. The goal of this plugin is to provide a more advanced framework for reference annotations.

This plugin should provide (can be extended):

Language and Skills: Java, OSGi
Potential Mentors: Martina Kutmon
Contact: wikipathways-discuss@googlegroups.com

IDEA 18: Visualizing Pathway RDF with Visualbox

WikiPathways data is now available as RDF, but to take full advantage of this representation we need better network-friendly visualization tools for RDF. Visualbox is an open source toolbox to create web-based visualizations of RDF. It currently has 12 filters ranging from tabular to Google Map projections. In this project, we would like to extend Visualbox with one or more network and pathways-specific filters.

This project could also include extending Visualbox to have better support for SPARQL query construction and validation, including but not limited to basic syntax highlighting.

Overall, the goal is to provide an RDF data viewer tailored for biologists interested in pathways and networks. Other original ideas for extensions and approaches are welcome.

Language and Skills: JavaScript, PHP, CSS (SPARQL, JS libs and tools)
Potential Mentors: Andra Waagmeister, Alvaro Graves, Anders Riutta
Contact: wikipathways-discuss@googlegroups.com

IDEA 19: Tablet App for WikiPathways

The WikiPathways motto is “Pathways for the People”. As such, we want to reach a broad audience for contributors and users of biological pathways. The next logical step is a cross-platform app for tablets.

Our existing Java Applet and JavaScript viewers and editors are being overhauled in step with updated web technologies (HTML5, JS, SVG, Canvas). This GSoC project would build on top of this work to encapsulate key browsing functionality as a table app. Some basic editing functionality might also be considered. This project would thus leverage existing technologies depending on the best starting point for translation, for example:

Ultimately, the project is about rendering our particular XML (GPML) providing search, navigation and interactivity via a tablet.

Language and Skills: Significant tablet app development experience
Potential Mentors: Andra Waagmeister,Nuno Nunes, Anders Riutta
Contact: wikipathways-discuss@googlegroups.com

IDEA 20: Real-time Streaming of Dynamic Graphs in Cytoscape

DynNetwork is a plugin developed during GSoC 2012 to visualize and analyze dynamic data in Cytoscape 3.0. Do you want to help us bring the application up to the next level?

We are interested in implementing streaming of dynamic graphs from external sources:

Language and Skills: Java
Potential Mentors: Jason Montojo
Contact: cytoscape-discuss@googlegroups.com

IDEA 21: Improved Layering/Interaction in Cytoscape 3 Networks

This project involves working on the visualization core in Cytoscape 3 (ding) to significantly improve the user experience. Currently, Cytoscape supports a single canvas to visualize the network. When moving or changing graphic objects (nodes and edges), the entire visible portion of the canvas needs to be updated. It has been pointed out by visualization experts that this problem can be easily solved by adding an additional “selection” canvas. Motion of nodes and edges could be performed in this canvas rather than the main canvas, significantly improving the interactivity on dense networks. The addition of a “selection” canvas also enables a number of visualization techniques that are too computationally expensive in the current Cytoscape model.

Language and Skills: Java
Potential Mentors: Scooter Morris
Contact: cytoscape-discuss@googlegroups.com

IDEA 22: Compound Graph Visualization in Cytoscape 3

Cytoscape 3 has introduce two concepts into the core, groups and annotations, that could be combined to provide a compound graph visualization. Currently groups can be either in a “collapsed” or “expanded” state. For a compound graph, a new visualization state needs to be introduced that allows the compound node (group) to be visualized as a shape (concave or convex hull) around it’s children. Moving that shape would move all of it’s children, etc.

Language and Skills: Java
Potential Mentors: Scooter Morris
Contact: cytoscape-discuss@googlegroups.com

IDEA 23: Network Analysis Enhancements

Cytoscape 3 includes a Network Analyzer bundle that performs a number of extremely useful network analyses. Unfortunately, the functionality provided is not exposed in a way that other plugins can utilize. This project will enhance the network analysis functionality to support calculating individual network statistics using an exported API or exported Cytoscape tasks. Moreover, the project will provide this functionality in both a GUI and non-GUI (headless) mode.

Language and Skills: Java
Potential Mentors: Scooter Morris and Nadezhda Doncheva
Contact: cytoscape-discuss@googlegroups.com

IDEA 24: Visualization of Time-series Cluster Data

Currently, the clusterMaker plugin uses standard heat maps to visualize attribute cluster data (based on Java TreeView). Increasingly, time series data is becoming important for clustering applications and it would be useful to expand the provided visualization options to explicitly support time series data. For these purposes, we’re thinking about time-series that have multiple conditions in each series, which means we need to move beyond the standard two-dimensional heat map. This project can explore utilizing animation, small multiples, or other standard visualization techniques (or your own novel techniques) to provide new visualization opportunities to users. Ideally, this would be integrated with network-based animation tools such as DynNetwork or CyAnimator.

Language and Skills: Java
Potential Mentors: Scooter Morris
Contact: cytoscape-discuss@googlegroups.com

IDEA 25: Network Animation Tools

CyAnimator was a key-frame style animation tool for Cytoscape 2.8. This project will implement a similar tool for Cytoscape 3, taking advantage of the existing CyAnimator where appropriate. This tool is distinct from the DynNetwork tool in that it is not necessarily driven by specific data, although one possible use case would be to create dynamic XGMML as an output from the tool.

Language and Skills: Java
Potential Mentors: Scooter Morris
Contact: cytoscape-discuss@googlegroups.com

IDEA 26: Touch-based Exploration of Large Data Collections and Networks

The goal of this project is to develop a general, open source framework for performing iterative, faceted search on large data collections and networks specifically for touch-based input devices. The project will leverage ideas from existing desktop applications (see Microsoft Pivot) but will include experimentation and innovation in interaction techniques in order to create a more engaging user experience. Ultimately the framework will be applied in one of potentially many biological applications, including MedSavant, which is described below.

MedSavant is a high-performance search engine for genomic datasets, which is primarily aimed to help researchers identify genetic conditions that cause disease. The desktop client allows users to
incrementally construct faceted search queries and visualize their results virtually in realtime. Similar workflows enabled by the desktop client will be made possible by integration with the proposed
framework. For more information, visit www.medsavant.com.

Language and Skills: Android or iOS development; AJAX, JSON, Java, and Javascript; UNIX
Potential Mentors: Marc Fiume, Marta Girdea
Contact: mfiume@cs.toronto.edu

IDEA 27: Pathway Analysis of GWAS in Cytoscape

Genome wide association analysis are a commonly used tool to discover genetic susceptibility to complex traits. More than 1500 GWAS in more than 300 traits have been published to date. A common challenge in GWAS analysis is the integration of SNP signals across genes and intro biological pathways.

The Cytoscape app developed in this project would allow the following:

Language and Skills: Java
Potential Mentors: Sergio Baranzini
Contact: cytoscape-discuss@googlegroups.com

IDEA 28: User Interaction on Biomedical Linked Data

During the GSoC 2012, we developed SemScape, a plugin that allows the use of Cytoscape as a browser for Semantic Web (Linked Data) knowledge bases. We are currently in the process of updating libs and packaging the plugin for the Cytoscape App Store.

The idea for this year’s project is to go one step further and to allow the use of Cytoscape to visually define queries in SPARQL. The basic idea is that from a graph, a sub-graph can be defined where a few nodes or edges can be marked as variables (and eventually filters can be associated to them): this is equivalent to a (simple) SPARQL query. The user can then define queries in a simple and interactive way, without knowing the underlying syntax, that can be stored and applied on different data sources.

The project can then be extended in three directions, depending on the interest of the student:

Some of the ideas in this project have been already prototyped, so we have a good understanding of the difficulty and timing required.
This project has the potential to make Cytoscape an ideal tool to navigate and query Linked Data resources (both in biomedical and, more generally, in Open Data domains).

Language and Skills: Java/Maven. Knowledge of OSGi would be helpful. Knowledge of Semantic Web technologies would be a plus.
Potential Mentors: Andrea Splendiani, Andra Waagmeester
Contact: cytoscape-discuss@googlegroups.com

IDEA 29: CentiScaPe for multiple networks analysis and graphical output enhancement

Background: CentiScaPe is a Cytoscape plugin that allows to compute network centrality parameters. It is the most complete Cytoscape plugin for network centralities calculating Degree, Average Shortest Path, Eccentricity, Closeness, Betweenness, Centroid, Stress, Radiality, Eigenvector, Edge Betweenness, Bridging Centrality, for directed and undirected networks. CentiScaPe allows identifying network nodes that are relevant from both experimental and topological viewpoints. CentiScaPe also provides a Boolean logic- based tool that allows easy characterization of nodes whose topological relevance depends on more than one centrality. Finally, different graphic outputs and the included description of biological significance for each computed centrality facilitate the analysis by the end users not expert in graph theory, thus allowing easy node categorization and experimental prioritization.

Goal: The new beta version of CentiScaPe provides also the possibilities to analyze multiple networks and to integrate the analysis with experimental data set. This implies that a user can automatically start a computation of several networks and waits for the results. Anyway, the output of the analysis of a lot of networks (say 100) is useless if not supported by a smart and user friendly system to analyze the results. The IDEA is to implements some techniques used in software analysis to extract information from the results of multiple computation in order to compare different networks and to extract topological based biomarkers:

[1] Patrick Cousot and Radhia Cousot. 1977. Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages (POPL ‘77).
http://doi.acm.org/10.1145/512950.512973

Language and Skills: Java, software analysis (possibly abstract interpretation theory)
Potential Mentors: Giovanni Scardoni (CBMC, University of Verona)
Contact: cytoscape-discuss@googlegroups.com