nrnb / GoogleSummerOfCode

Main documentation site for NRNB GSoC project ideas and resources
114 stars 38 forks source link

Loading Expression Data into Cytoscape to Integrate with Biological Networks #50

Closed bdemchak closed 3 years ago

bdemchak commented 8 years ago

Background

Cytoscape is a highly popular open source bioinformatics software platform for visualizing, analyzing, and publishing graphs or networks representing molecular interactions, gene expression, other biological data. As a desktop platform, Cytoscape is one of the most successful open source projects in biology, and it is capable of integrating observational data from numerous sources.

However, gene expression data from popular public repositories cannot be easily imported (see list below). While Cytoscape readily imports table-based data, specialized data formats are not table-oriented and so a Cytoscape app must be created. Additionally, gene identifiers contained in expression files are often not the same as those in Cytoscape networks, and so an ID translation step must be included.

Goal

Create a Cytoscape app that imports expression files from one or more of these sources into Cytoscape and merges it with an existing network, taking into account ID translation in the process

Technologies

A Cytoscape app is a Java/Swing-based plugin that adds functionality to the Cytoscape core, though it's possible that this project could be executed as a mix of Java/Swing and service-oriented Java, C++, Python, Go, or other language. The process for writing an app is documented in the Cytoscape App Ladder. For this app, it would be necessary to understand the content of the expression files and Cytoscape data models, and the ID mapping provided by the ID mapping service in Cytoscape.

Note that there was a Cytoscape plugin (v2.8) written to import GEO data many years ago called ExpressionReader. This code base may provide helpful architectural and GEO interfacing strategies, even though it won't likely be the source of a straightforward port.

Once the app is written, it can be contributed to the Cytoscape App Store, where other users can find it and download it. An example of a similar app written for a different file format (i.e., DOT) is dot-app.

Difficulty level: 2

Familiarity with expression data formats and semantics is critical. Prior experience with Cytoscape app development is a plus.

Potential mentors

Alex Pico, Scooter Morris

Contact

Cytoscape-app-dev list

martinmodrak commented 7 years ago

A quick note - a relatively bare bones GEO import is included in the newly developed CyDataSeries (https://github.com/martincerny/cy-dataseries/wiki/SOFT-example) it may be useful to base the work on top of that... (I'll be also happy to mentor this or any other work on CyDataSeries)