nrnb / GoogleSummerOfCode

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

Enable migration of graphs and networks from Gephi to Cytoscape #48

Closed bdemchak closed 8 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. However, other graph visualization applications exist, and they provide features not contained in Cytoscape (and vice versa). Cytoscape commonly provides value by enabling the import of files created by these applications. GEXF files (http://gexf.net/format/) are produced by Gephi, a successful alternative graph visualization and analysis product. Biologists can use Gephi to start their analysis and visualization, but may realize they need additional Cytoscape functionality to complete their project.

Goal

Create a Cytoscape app that imports GEXF files into Cytoscape while preserving as much layout, visual style, and annotation information as possible.

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 at http://wiki.cytoscape.org/Cytoscape_3/AppDeveloper/Cytoscape_App_Ladder. For this app, it would be necessary to understand the content of the GEFX and Cytoscape data models, and then create a mapping from one to the other.

Once the app is written, it can be tested by using Gephi to create sample GEFX test files, and then verifying that the Cytoscape app produces the same graph inside of Cytoscape. After that, the app 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

Prior experience with network data formats is highly recommended. Familiarity with Cytoscape app development is a plus.

Potential mentors

Barry Demchak and Keiichiro Ono, both at University of California, San Diego

Contact

Barry Demchak (idekerlab.bdemchak@gmail.com)

khanspers commented 8 years ago

Done: http://apps.cytoscape.org/apps/gexfapp