Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Cytoscape as the Galaxy charts plugin #3817
This PR integrates interactive graph visualizations adapted from the Cytoscape as part of the Galaxy charts visualization. The Cytoscape is equipped with capabilities for the visualization and analysis of complex data based on Graph theory. The features like graph search algorithms, graph querying, set theory operations and compatibility with all modern browsers, jQuery, Node.js, Require.js and the R language (via RCyjs) make it a powerful library.
Following from it, this PR includes:
Depth First Search
The version of Cytoscape built for working with browsers supports input data as JSON which contains information about nodes and edges of the graph. So, data formats like Simple Interaction File (SIF) should be converted to JSON for the visualization to be included into the Galaxy. Hence, this PR includes a file format converter from SIF to JSON. The specification of a SIF file has been taken from here.
Example of a SIF file:
nodeA relationship_type nodeB
node1 typeA node2
Cytoscape.js: a graph theory library for visualization and analysis
It overwrites and enhances the previously present basic Cytoscape viewer as charts plugin.
Thanks a lot to Björn Grüning (@bgruening) for his support and review.
All suggestions are welcome. Thanks a lot!
This is really nice. I have minor suggestions. 1. Can we use the color selector instead of the RGB-sliders. 2. min-Zoom should probably be either 0, or stop zooming once all nodes are within the boundaries of the frame. Max-zoom should be set to a large number or such that at least one node is shown. Then we do not need those slider options in customization form either. 3. Finally, we should update the thumbnail/icon of this visualization type.
@guerler Thanks for your review! I have updated the repository with the following changes: