dondi / GRNsight

Web app and service for modeling and visualizing gene regulatory networks.
http://dondi.github.io/GRNsight
BSD 3-Clause "New" or "Revised" License
17 stars 8 forks source link

Export data to cytoscape sif and graphml format #287

Closed kdahlquist closed 8 years ago

kdahlquist commented 8 years ago

This has been separated from issue #59 because image export is a different issue than data export.

Reviewer 1 comment (#278):

"As it does not accept a standard input file type, the output of any other network analysis package requires conversion in to the matrix format required here. Similarly, the tool provides no export function (the option in the File menu remained stubbornly greyed out) and so I can’t take a network from GRNsight and utilise it elsewhere. I also can’t use GRNsight to convert the GRNmap format to something I might like to use elsewhere.

The authors refer to future features coming in version 2 (lines 323-329). I encourage them to consider implementing at least one standard filetype for displaying graph data within their tool. Be it sif, graphml or even gml, it would significantly increase the utility of the tool as it currently exists."

We need to look into import/export of adjacency matrix in sif, graphml, or gml format.

kdahlquist commented 8 years ago

Another format to investigate that was mentioned by a BOSC reviewer is MIMIx.

http://www.nature.com/nbt/journal/v25/n8/full/nbt1324.html

kdahlquist commented 8 years ago

Notes on BioTapestry: http://www.biotapestry.org/

kdahlquist commented 8 years ago

I have created a .sif version of the 21-genes_31-edges_Schade-data_input.xlsx demo file that loads in BioTapestry 21-genes_31-edges_Schade-data_input.sif.zip biotapestry_21-gene_31-edges_schade-data_input sif

kdahlquist commented 8 years ago

21-genes_31-edges_Schade-data_estimation_output.sif.zip biotapestry_21-gene_31-edges_schade-data_estimation_output sif

kdahlquist commented 8 years ago

Notes on yED: http://www.yworks.com/products/yed

kdahlquist commented 8 years ago
dondi commented 8 years ago

Initial design decisions have been made for this functionality, with a SIF export function implemented for non-weighted graphs. Key design decisions are:

kdahlquist commented 8 years ago

http://pynetconv.sourceforge.net/ PyNetConv is a python program that can convert cytoscape sif to gml.

I've been searching for additional documentation about SIF format and am puzzled by two things:

kdahlquist commented 8 years ago

Here is my exploration of Cytoscape for an unweighted network.

Version 3.4.0 (Windows 64-bit)

kdahlquist commented 8 years ago

OK, here is my exploration of a weighted network in Cytoscape.

I made a .sif file where the relationship type was the weight itself. This then labeled the edges with the weights. 21-gene_31-edges_schade-data_estimation_output_cytoscape-edge-weight

I should be able to set edge colors and widths, but I need a little more time to figure it out.

kdahlquist commented 8 years ago

Latest Cytoscape user manual v3.4.0: http://manual.cytoscape.org/en/3.4.0/index.html

kdahlquist commented 8 years ago

So, it turns out that the stand-alone Cytoscape v3.4.0 can directly import json from cytoscape.js (and export json, too.) 21-genes_31-edges_Schade-data_estimation_output_weights_json.zip

I need a break from this right now. From what I've seen so far we can leave the relationship type for the unweighted network as "pd". For the weighted network, if we use the actual weight values as the relationship type, they will automatically display on the edges in Cytoscape. I just don't know whether they need to be specified differently so they can be used as ways to change the color or width of the edges.

dondi commented 8 years ago

The first export variant, export to SIF, has been implemented and has replaced the graph-statistics branch on the Beta page. This beta version is set to 1.15. I will log my proposed version roadmap (which is a touch more complicated than usual due to the concurrent development threads that are going on) in #293 right after I finish this comment.

Placeholder menus have been applied for import, export data, and export image, but for now only Export Data > To SIF will work. Once a GRN has been loaded into the application, this menu item will activate. When selected (and if functional), the menu item will then trigger a download that deposits the SIF export to the user's Downloads folder.

While this full-cycle functionality is under review, I will continue with implementation of import/export for the remaining intended formats.

dondi commented 8 years ago

Export to GraphML is now available on the beta 1.15 deployment. Workflow is identical to SIF export, except that the resulting file ends in .graphml. I used http://graphml.graphdrawing.org/primer/graphml-primer.html as my main reference for putting together the exported data.

kdahlquist commented 8 years ago

We are not going to export data in GML format so that we can focus on other issues. Although @dondi notes that the export would be easier than the import if we ever wanted to do it.

dondi commented 8 years ago

GML menu items have been removed from the deployed beta v1.15 (I guess this note applies to #288 too).

kdahlquist commented 8 years ago

I am closing this now because basic functionality has been implemented and discussion has moved to #309 and #314.