ALL Metrics
-
Views
-
Downloads
Get PDF
Get XML
Cite
Export
Track
Software Tool Article

Cytoscape: the network visualization tool for GenomeSpace workflows

[version 1; peer review: 3 approved]
PUBLISHED 01 Jul 2014
Author details Author details
OPEN PEER REVIEW
REVIEWER STATUS

This article is included in the Bioinformatics gateway.

This article is included in the Cytoscape gateway.

This article is included in the Genomics and Genetics gateway.

This article is included in the GenomeSpace collection.

Abstract

Modern genomic analysis often requires workflows incorporating multiple best-ofbreed tools. GenomeSpace is a web-based visual workbench that combines a selection of these tools with mechanisms that create data flows between them. One such tool is Cytoscape 3, a popular application that enables analysis and visualization of graph-oriented genomic networks. As Cytoscape runs on the desktop, and not in a web browser, integrating it into GenomeSpace required special care in creating a seamless user experience and enabling appropriate data flows. In this paper, we present the design and operation of the Cytoscape GenomeSpace app, which accomplishes this integration, thereby providing critical analysis and visualization functionality for GenomeSpace users. It has been downloaded it over 850 times since the release of its first version in September, 2013.

Introduction

GenomeSpace is a web-based application (http://genomespace.org) that provides a workspace environment for executing biologic analysis workflows involving genomic data. It hosts a variety of third party tools that it can launch to perform queries of public genomic databases, customized analyses, and customized visualization and publishing. The data and results from a given tool are stored by GenomeSpace as private, public, or shared files that are made available to other tools in the workspace. Cytoscape is a standalone desktop application that enables users to analyze, visualize, and publish complex networks – with its GenomeSpace app (“the app”, http://apps.cytoscape.org/apps/genomespace), it doubles as a tool available to GenomeSpace workflows. This paper describes Cytoscape’s GenomeSpace app, which links GenomeSpace and Cytoscape, thereby enabling data to flow between Cytoscape and other GenomeSpace tools.

While there exists a number of workflow engines that can perform biological analyses (e.g., Taverna1, BioKepler2, and Galaxy3), GenomeSpace distinguishes itself by combining a collaboration-oriented file system (incorporating sharing and stored metadata), a robust and user-extensible spectrum of genomic tools, and a library of recipes demonstrating best practices for the orchestration of GenomeSpace tools to achieve common and important bioinformatic results. While some tools implement specific and constrained functionality (e.g., ISAcreator4), others are complex and rich applications (e.g., GenePattern5, Gitools6, and Cistrome7), and yet others are fully featured workflow management systems themselves (e.g., Galaxy and Sage Synapse8). By tying these features together, GenomeSpace provides a comprehensive and effective environment for genomic research.

GenomeSpace offers a short list of tools that enable network visualization and analysis, including Cytoscape, Genomica (http://genomica.weizmann.ac.il/) (for module network trees), GiTools6 (for heat maps), and IGV9 (for sequencing data). Cytoscape distinguishes itself by being graph-oriented and delivering rich filtering, layout, and visual style features backed up by an extensive collection of third-party apps10, including pathway analysis, data integration, GO annotation, and more.

To launch a tool, GenomeSpace opens a new browser page using a URL specific to the tool. Paradoxically, Javabased tools (such as Cytoscape) run directly on the user’s workstation instead of within a browser. In this paper, we describe a specialized launch strategy that addresses this. We also describe Cytoscape’s GenomeSpace app, how its user interface adds GenomeSpace functionality within Cytoscape, and how it uses GenomeSpace’s Client Development Kit (CDK) to access the GenomeSpace file system to read input files or write result files.

Note that GenomeSpace supports two Cytoscape tools it calls “Cytoscape” and “Cytoscape 3”. Its “Cytoscape” refers to the deprecated Cytoscape version 2, and its “Cytoscape 3” refers to Cytoscape version 3, which is the currently released version (http://cytoscape.org). Within this paper, we discuss only the “Cytoscape 3” tool, and refer to it simply as “Cytoscape”.

Implementation

The Cytoscape support for GenomeSpace exists in three parts: the launch support, Cytoscape’s GenomeSpace app, and Cytoscape itself. This section describes how the launch support and app work, and leaves the operation of Cytoscape to the Results section below.

Launch

To launch a tool, a GenomeSpace user left-clicks on the corresponding toolbar icon, which activates the tool via the tool’s URL. For Cytoscape, the URL references a launch descriptor file that adheres to the Java Network Launch Protocol (JNLP)11 and resides on the Cytoscape web site. Web browsers are defined to process a JNLP file URL by starting a specialized launcher that downloads a Java application named in the JNLP file, then executes it on the user’s workstation. In Cytoscape’s case, we created a dynamic JNLP file (as a PHP script that delivers a JNLP file) that executes a small LaunchHelper Java application (see Figure 1). GenomeSpace constructs the JNLP URL to contain a GenomeSpace file descriptor as a parameter, and the PHP script extracts it and defines it as a parameter to the LaunchHelper (see Supplementary Data).

191fa09a-e68e-413a-a6c5-48d6028c7c56_figure1.gif

Figure 1. Launching Cytoscape from GenomeSpace.

The LaunchHelper tests for the presence of Cytoscape and Cytoscape’s GenomeSpace app, and installs them if they are not present. Because LaunchHelper is itself a Java application, it is able to download the Cytoscape installer appropriate for the user’s workstation and the GenomeSpace app while maintaining an interactive user interface, including appropriate installation dialog boxes (as JOptionPane) and progress bars (as ProgressMonitorInputStream).

Note that before attempting to launch Cytoscape, GenomeSpace attempts to determine if Cytoscape is already running by using the JRAC protocol (http://code.google.com/p/jrac) – if it is, Cytoscape simply starts a new session.

GenomeSpace app

The GenomeSpace app manages the relationship between Cytoscape and GenomeSpace once Cytoscape is running. In addition to responding to a JRAC request (above), it augments the Cytoscape user interface to allow the user to directly access the GenomeSpace file system and tools.

Building app menus

The app exposes a number of GenomeSpace functions as menu items under Cytoscape’s File and Apps menus. This enables GenomeSpace login, opening and saving GenomeSpace sessions, launching GenomeSpace tools, and importing and exporting networks and tables as GenomeSpace files. Networks can be exported in .sif, .cyjs, .nnf, PSI-MI, and .xgmml formats. While some menu items are positioned within Cytoscape’s top-level menus (e.g., session open and save menu items in the File menu), others are positioned in submenus within Cytoscape menu items (e.g., importing a network under File | Import | Network). For nice effect, each menu item identifies itself with a distinctive GenomeSpace logo and uses menu gravity to place itself consistently relative to existing Cytoscape menu items. (It uses setPreferredMenu to add the menu, setMenuGravity to position it, and putValue to set the small icon).

GenomeSpace communication strategy

To implement these menu items, the app communicates with GenomeSpace via the GenomeSpace CDK (http://www.genomespace.org/support/api/cdk), a proxy interface to GenomeSpace carried over an SSL Internet connection. The CDK enables GenomeSpace session management, tool discovery, user authentication, file system listing, and file upload and download. As with other apps, the app’s cyActivator initializes the app state, including gaining references to the standard Cy objects: application, network, view, and table managers. It also initializes basic CDK-related state (e.g., the GenomeSpaceContext root context).

GenomeSpace file I/O

In addition to communicating with GenomeSpace, the CDK displays key GenomeSpace-related dialog boxes, including the login dialog and a file chooser for import and export functions. The app uses file choosers to identify an import (or export) file (referenced by metadata), but then executes the operation using a combination of CDK download/upload functions and Cytoscape task manager and monitor functions.

For example, given metadata for a network file to import, the app creates a Cytoscape task iterator that downloads the network to a temp file, loads the network into Cytoscape, and then deletes the temp file as shown in the Supplementary Data. DownloadFileFromGenomeSpaceTask calls CDK to perform the download, and loadNetworkFileTaskFactory adds the network to the Cytoscape data model. Because the app orchestrates the download using Cytoscape’s task manager, its progress is automatically tracked and reported by Cytoscape’s task monitor.

Results

The GenomeSpace app enables Cytoscape to act as a tool in a workflow executed within the GenomeSpace web application. From the Cytoscape perspective, genomic data can come from numerous sources and can be rendered to numerous destinations, where the GenomeSpace file system can be a source, a destination, or both. To facilitate this, GenomeSpace also allows the user to identify a GenomeSpace-stored Cytoscape session file (.cys) while launching Cytoscape, thereby facilitating a seamless tool launch.

Additionally, the app adds menu items to Cytoscape to enable loading or saving a Cytoscape session, a network, or node or edge attributes in the GenomeSpace file system from within Cytoscape. Each menu item enables the user to navigate within the file system using a chooser.

Note that the GenomeSpace app makes the GenomeSpace file system available to Cytoscape even without the user first executing the GenomeSpace web application. In this case, Cytoscape enables the user to log into GenomeSpace within Cytoscape, and then use the app-injected menus to access workflow-related data files.

Demonstration

As a demonstration of typical Cytoscape usage, we show how to use Cytoscape to integrate gene expression data with a pre-defined genomic network, where both the network and gene expression data reside in the GenomeSpace file system. The network was created in a prior Cytoscape session and stored in the GenomeSpace file system so it could be shared as a template with collaborators and integrated with various gene expression datasets produced during an ongoing study. The test network is a portion of the BioGrid H. sapiens network. The gene expression data represents the output of some previously executed GenomeSpace tool, such as Galaxy.

To load the template network into Cytoscape, use a web browser on a workstation having at least 6GB RAM. Log into Genomespace.org – you can easily create a user ID if you don’t have one. Right-click on the “Cytoscape 3” tool, and choose the Launch on File menu item. Choose the Cytoscape session file (.cys) containing the H. sapiens network template by browsing the file system to /bdemchak/F1000Example, then dragging it to the launch box and clicking Launch. Once Cytoscape has started and the network has loaded, you will see a small network in a view window (Figure 2).

191fa09a-e68e-413a-a6c5-48d6028c7c56_figure2.gif

Figure 2. Template H.sapiens before gene expression data.

To load a gene expression dataset, choose Cytoscape’s File | Import | Table | GenomeSpace menu item, and use the chooser to select the enrichment data in the /bdemchak/F1000Example folder. Cytoscape will display an Import Columns from Table dialog – when you click on OK, note that the enrichment data (including values in the HSC1_1 column) has been added to the node table.

Finally, to use the gene expression data to color the network, select Cytoscape’s Style tab and choose the RedYellowGreen style from the style dropdown. Nodes are colored by their associated HSC1_1 value, and nodes having no HSC1_1 value are left white (Figure 3). This style is part of the Cytoscape session file loaded for this example, and illustrates that all Cytoscape functionality is available in Cytoscape operating as a GenomeSpace tool.

191fa09a-e68e-413a-a6c5-48d6028c7c56_figure3.gif

Figure 3. Template H.sapiens after gene expression data.

Refer to the Cytoscape manual (http://wiki.cytoscape.org/Cytoscape_3/UserManual) and tutorials (http://tutorials.cytoscape.org) for a more detailed treatment of Cytoscape workflows.

Conclusions

The GenomeSpace app shows how Cytoscape can be used as a plugin to a web application as part of a larger workflow, and then how to integrate external services into Cytoscape’s workflow.

Comments on this article Comments (3)

Version 2
VERSION 2 PUBLISHED 26 Aug 2014
Revised
Version 1
VERSION 1 PUBLISHED 01 Jul 2014
Discussion is closed on this version, please comment on the latest version above.
  • Author Response 24 Jul 2014
    Barry Demchak, UC San Diego School of Medicine, USA
    24 Jul 2014
    Author Response
    @MichelDumontier: Thanks for the thoughtful comments. The ground rules for this paper collection involved writing a 2 pager (or slightly more) on a Cytoscape App. So, this paper is App-centric.Your ... Continue reading
  • Reader Comment 15 Jul 2014
    Michel Dumontier, Maastricht University, The Netherlands
    15 Jul 2014
    Reader Comment
    Linking Cytoscape with other applications through GenomeSpace seems like a small step to starting tying together different software. To demonstrate the value of using GenomeSpace, the authors should walk us ... Continue reading
  • Reader Comment 11 Jul 2014
    Nigam Shah
    11 Jul 2014
    Reader Comment
    Tying together the best Web based workflow software for genomic analysis with the best network analysis tool is highly valuable. Fun to give it a try!
    Competing Interests: none
  • Discussion is closed on this version, please comment on the latest version above.
Author details Author details
Competing interests
Grant information
Copyright
Download
 
Export To
metrics
Views Downloads
F1000Research - -
PubMed Central
Data from PMC are received and updated monthly.
- -
Citations
CITE
how to cite this article
Demchak B, Hull T, Reich M et al. Cytoscape: the network visualization tool for GenomeSpace workflows [version 1; peer review: 3 approved] F1000Research 2014, 3:151 (https://doi.org/10.12688/f1000research.4492.1)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
track
receive updates on this article
Track an article to receive email alerts on any updates to this article.

Open Peer Review

Current Reviewer Status: ?
Key to Reviewer Statuses VIEW
ApprovedThe paper is scientifically sound in its current form and only minor, if any, improvements are suggested
Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit.
Not approvedFundamental flaws in the paper seriously undermine the findings and conclusions
Version 1
VERSION 1
PUBLISHED 01 Jul 2014
Views
33
Cite
Reviewer Report 04 Aug 2014
Jan Aerts, Bioinformatics, KU Leuven, Leuven, Belgium 
Approved
VIEWS 33
In the paper "Cytoscape: the network visualization tool for GenomeSpace workflows", Demchak et al. describe the design, implementation and operation of an interaction layer between Cytoscape and GenomeSpace.

Unfortunately, I was not able to run the example described in the manuscript, due ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Aerts J. Reviewer Report For: Cytoscape: the network visualization tool for GenomeSpace workflows [version 1; peer review: 3 approved]. F1000Research 2014, 3:151 (https://doi.org/10.5256/f1000research.4805.r5449)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
  • Reader Comment 05 Aug 2014
    Barry Demchak, UC San Diego School of Medicine, USA
    05 Aug 2014
    Reader Comment
    Thank you, Jan, for the thoughtful comments. We are looking into the issue of Cytoscape not launching from the web site. As a workaround, you can either hit the OK ... Continue reading
COMMENTS ON THIS REPORT
  • Reader Comment 05 Aug 2014
    Barry Demchak, UC San Diego School of Medicine, USA
    05 Aug 2014
    Reader Comment
    Thank you, Jan, for the thoughtful comments. We are looking into the issue of Cytoscape not launching from the web site. As a workaround, you can either hit the OK ... Continue reading
Views
26
Cite
Reviewer Report 04 Aug 2014
Gabriela Bindea, Laboratory of Integrative Cancer Immunology, Cordelier Research Center, Paris, France 
Bernhard Mlecnik, Laboratory of Integrative Cancer Immunology, Cordelier Research Center, Paris, France 
Approved
VIEWS 26
The paper “Cytoscape: the network visualization tool for GenomeSpace workflows” describes the GenomeSpace app, a tool that facilitates data analysis in Cytoscape for GenomeSpace users. This is a nice try to bridge two communities: cytoscapers & genomespacers.

The resources and tools ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Bindea G and Mlecnik B. Reviewer Report For: Cytoscape: the network visualization tool for GenomeSpace workflows [version 1; peer review: 3 approved]. F1000Research 2014, 3:151 (https://doi.org/10.5256/f1000research.4805.r5651)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
  • Reader Comment 05 Aug 2014
    Barry Demchak, UC San Diego School of Medicine, USA
    05 Aug 2014
    Reader Comment
    Thanks, Gabriela, for all of your helpful comments. The timing is good, as we're working a new Cytoscape release. We'll take a closer look at the dialog boxes. I don't ... Continue reading
COMMENTS ON THIS REPORT
  • Reader Comment 05 Aug 2014
    Barry Demchak, UC San Diego School of Medicine, USA
    05 Aug 2014
    Reader Comment
    Thanks, Gabriela, for all of your helpful comments. The timing is good, as we're working a new Cytoscape release. We'll take a closer look at the dialog boxes. I don't ... Continue reading
Views
36
Cite
Reviewer Report 30 Jul 2014
Aris Floratos, Department of Systems Biology, Columbia University, New York, NY, USA 
Approved
VIEWS 36
Language/spelling:

The language is acceptable but would benefit from a more careful reading/editing. Some examples where improvements are possible are:
  • “Javabased” should be corrected to “Java-based”.
     
  • In the sentence that begins “Web browsers are defined to process a JNLP file URL by starting
... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Floratos A. Reviewer Report For: Cytoscape: the network visualization tool for GenomeSpace workflows [version 1; peer review: 3 approved]. F1000Research 2014, 3:151 (https://doi.org/10.5256/f1000research.4805.r5291)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
  • Reader Comment 05 Aug 2014
    Barry Demchak, UC San Diego School of Medicine, USA
    05 Aug 2014
    Reader Comment
    Thank you, Aris. Your observations and suggestions are very valuable, and we'll upgrade the paper accordingly. We really appreciate your detailed observations. Look for a new version in a couple ... Continue reading
COMMENTS ON THIS REPORT
  • Reader Comment 05 Aug 2014
    Barry Demchak, UC San Diego School of Medicine, USA
    05 Aug 2014
    Reader Comment
    Thank you, Aris. Your observations and suggestions are very valuable, and we'll upgrade the paper accordingly. We really appreciate your detailed observations. Look for a new version in a couple ... Continue reading

Comments on this article Comments (3)

Version 2
VERSION 2 PUBLISHED 26 Aug 2014
Revised
Version 1
VERSION 1 PUBLISHED 01 Jul 2014
Discussion is closed on this version, please comment on the latest version above.
  • Author Response 24 Jul 2014
    Barry Demchak, UC San Diego School of Medicine, USA
    24 Jul 2014
    Author Response
    @MichelDumontier: Thanks for the thoughtful comments. The ground rules for this paper collection involved writing a 2 pager (or slightly more) on a Cytoscape App. So, this paper is App-centric.Your ... Continue reading
  • Reader Comment 15 Jul 2014
    Michel Dumontier, Maastricht University, The Netherlands
    15 Jul 2014
    Reader Comment
    Linking Cytoscape with other applications through GenomeSpace seems like a small step to starting tying together different software. To demonstrate the value of using GenomeSpace, the authors should walk us ... Continue reading
  • Reader Comment 11 Jul 2014
    Nigam Shah
    11 Jul 2014
    Reader Comment
    Tying together the best Web based workflow software for genomic analysis with the best network analysis tool is highly valuable. Fun to give it a try!
    Competing Interests: none
  • Discussion is closed on this version, please comment on the latest version above.
Alongside their report, reviewers assign a status to the article:
Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested
Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit.
Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions
Sign In
If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password.

The email address should be the one you originally registered with F1000.

Email address not valid, please try again

You registered with F1000 via Google, so we cannot reset your password.

To sign in, please click here.

If you still need help with your Google account password, please click here.

You registered with F1000 via Facebook, so we cannot reset your password.

To sign in, please click here.

If you still need help with your Facebook account password, please click here.

Code not correct, please try again
Email us for further assistance.
Server error, please try again.