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

Cyrface: An interface from Cytoscape to R that provides a user interface to R packages

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

This article is included in the Bioconductor gateway.

This article is included in the RPackage gateway.

This article is included in the Cytoscape gateway.

This article is included in the EMBL-EBI collection.

Abstract

There is an increasing number of software packages to analyse biological experimental data in the R environment. In particular, Bioconductor, a repository of curated R packages, is one of the most comprehensive resources for bioinformatics and biostatistics. The use of these packages is increasing, but it requires a basic understanding of the R language, as well as the syntax of the specific package used. The availability of user graphical interfaces for these packages would decrease the learning curve and broaden their application.
 
Here, we present a Cytoscape app termed Cyrface that allows Cytoscape apps to connect to any function and package developed in R. Cyrface can be used to run R packages from within the Cytoscape environment making use of a graphical user interface. Moreover, it can link R packages with the capabilities of Cytoscape and its apps, in particular network visualization and analysis. Cyrface’s utility has been demonstrated for two Bioconductor packages (CellNOptR and DrugVsDisease), and here we further illustrate its usage by implementing a workflow of data analysis and visualization. Download links, installation instructions and user guides can be accessed from the Cyrface’s homepage (http://www.ebi.ac.uk/saezrodriguez/cyrface/) and from the Cytoscape app store (http://apps.cytoscape.org/apps/cyrface).

Revised Amendments from Version 1

We thank the reviewers for the helpful suggestions and comments that improved both our work and our manuscript. This new version of the manuscript addresses all the suggestions mentioned by the reviewers and presents a new version of Cyrface, version 2.0. The major differences are: (i) Cyrface is now compatible with Cytoscape 3; (ii) the manuscript was adapted and some parts re-written to address the reviewer’s suggestions; (ii) Rserve is now automatically installed and configured. This greatly simplifies the usage of Cyrface, since it saves the users of having to open R and manually initialising Rserve.

To read any peer review reports and author responses for this article, follow the "read" links in the Open Peer Review table.

Introduction

The availability of high-throughput experimental data has led to the development of multiple computational methods to analyse these data. One of the most used environments is the statistical programming language R1. Multiple R packages for computational biology and bioinformatics are available in various resources such as the Comprehensive R Archive Network (CRAN). Furthermore, Bioconductor2 provides a large collection of curated packages to analyse biological data developed in R. These packages are subject to stringent quality control in terms of functionality and documentation. It is an open-source project hosting 824 active and curated software packages as of May 2014.

For those not familiar with computational programming, learning R and using its packages can be a time consuming task. Therefore, the use of intuitive graphical interfaces that simplifies their use can enhance the usability of these R packages. Cytoscape3,4 is a Java open-source framework with an intuitive graphical interface devoted to the visualization and analysis of networks. It is arguably one of the most used tools in bioinformatics, and has a variety of user developed extensions to solve numerous computational biology problems. These user defined extensions are termed plug-ins (1.x and 2.x) or apps (3.x) depending of which version of Cytoscape is being used.

Here, we present Cyrface, an app for Cytoscape that facilitates an interface between any R package and Cytoscape. Cyrface is designed to integrate the major strengths of R and Cytoscape environments by providing a general Java to R interface. By linking these two environments, Cyrface allows one to use Cytoscape as a graphical user interface for R packages. It also enables Cytoscape apps to access the wealth of methods implemented in R.

Workflow management systems such as Taverna5 and Galaxy68 can call R packages from a graphical user interface (GUI)-based interface. Taverna is a standalone Java open-source tool for the general development and execution of workflows. Galaxy is an open-source web-platform to assemble workflows based on genomic experimental data analysis. Thus, Cyrface complements Taverna and Galaxy by enhancing GUIs for R within a different environment with complementary features.

RCytoscape9 is another tool that exists to link R and Cytoscape. It is a Bioconductor R package that establishes a connection between R and Java. The fundamental difference between RCytoscape and Cyrface is that RCytoscape supports the connection from R to Java, whereas Cyrface allows a connection from Java to R. A typical use of RCytoscape would be to handle experimental data from R and transfer the biological network to Cytoscape while controlling it within R. Hence, RCytoscape and Cyrface provide complementary features.

This paper is structured as follows: Firstly, we provide a description of the implementation of Cyrface. Then, to illustrate the usefulness of Cyrface, we show two existing apps, CytoCopteR10 and DrugVsDisease (DvD)11, that make use of Cyrface, and we demonstrate an implementation of a simplified version of the DataRail12 workflow. Finally, we discuss on-going and future developments.

Implementation

Cyrface is a Java open-source framework developed to establish the connection between Cytoscape and R. Interaction between these two different environments (invoking R within Java) is not natively supported by Java. Therefore, to achieve this Cyrface uses the external libraries RCaller13 and Rserve14.

On the one hand, to support the communication between Java and R, RCaller uses an R package called Runiversal that converts the R objects into an XML format, thus allowing the R objects to be read by Java.

On the other hand, Rserve establishes a TCP/IP server allowing other programs from various languages to connect to an R session and access its features. Rserve is currently being used by several mature projects, among them the Taverna workflow management system5.

Rserve and RCaller libraries are integrated in Cyrface by implementing RserveHandler and RCallerHandler Java classes, respectively. Both classes extend the abstract class RHandler that contains the signature of all the necessary methods to establish and maintain a connection with R. Figure 1 depicts the hierarchical structure of these classes and the connection points between these two different environments.

971734f6-3a28-4c24-a88c-675abc9ba8aa_figure1.gif

Figure 1. Diagram of the Cyrface interaction layer with R.

Within the grey box the class hierarchy of the classes responsible for establishing the connection between Cytoscape and R is represented. RHandler is an abstract Java class that is extended by RserveHandler and RCallerHandler classes that add support to Rserve and RCaller libraries, respectively. The connection from Java to R can be achieved using either RserveHandler or RCallerHandler classes, or other classes that successfully extend RHandler.

Cyrface software architecture is designed to allow the integration of other Java libraries that facilitate the connection between Java and R. Thereby, this structure allows one to take advantage of particular strengths of different libraries and to adapt to particular requirements of the users. For instance, execute R commands automatically without requiring first to manually initiate an R session.

Cyrface uses Cytoscape’s features, such as the Command Line. The Command Line offers the users the ability to script basic commands in Cytoscape, such as import, display or modify networks through a simple command line or script file. A useful feature of the Command Line is the ability of performing repetitive tasks automatically. By supporting this tool Cyrface extends the possibility of the users to integrate in their scripts methods developed in R together with common Cytoscape features. The Command Tool Dialog window can be used to dynamically execute the necessary R commands. This can be useful, for example when debugging a script.

On Cyrface’s homepage, we provide an illustrative example using the Command Line Dialog tool to plot some features of an existing and publicly available data-set termed, iris13, using the well known plotting library ggplot14. The iris data-set is widely used in the field of pattern recognition and machine learning and is subdivided into different classes, where each class defines the type of the plant iris. This is an illustrative example to demonstrate how Cyrface can within Cytoscape perform any task in the R environment and collect the respective output.

Results and discussion

A typical use of Cyrface is to provide a graphical user interface to R packages within Cytoscape. Cyrface is currently being used by two Cytoscape plug-ins, CytoCopteR10 and DvD11.

CytoCopteR10 provides a simple step-by-step interface allowing users without any experience in R to use the CellNOptR (www.cellnopt.org) package and handle the input and output networks in Cytoscape. CellNOptR is an open-source software package that provides methods for building predictive logic models from signalling networks using experimental measurements of activation of proteins upon perturbation.

DvD11, Drug vs Disease, is an R package that provides a workflow for the comparison of drug and disease gene expression profiles. It provides dynamic access to databases, such as Array Express15, to compare drug and disease signatures to generate hypotheses of drug-repurposing.

CytoCopteR and DvD are two examples of how Cyrface captures the strengths of both environments. On one side, R provides a wealth of bioinformatics and biostatistics packages with very comprehensive resources such as Bioconductor and CRAN. On the other side, Cytoscape facilitates a user-friendly graphical interface for network visualisation and analysis, complemented with a variety of plug-ins or apps addressing different computational biological problems. Cyrface links these two environments by providing a way to develop user-friendly graphical interfaces for R packages by embedding them within Cytoscape.

As another illustrative example, we implemented in Cyrface a simplified version of the DataRail12 workflow. This example is designed to illustrate how one can use methods already available in R and build a graphical user interface in Cytoscape to access them.

DataRail is an open-source MATLAB toolbox that handles experimental data in a tabular format and provides methods to maximize and extract information using internal or external tools. Experimental data is stored in a format termed Minimum Information for Data Analysis in Systems Biology (MIDAS). This is a tabular format that specifies the layout of experimental data files12. A typical use of DataRail is to import, store and process the input information from instruments using the MIDAS format, and export it to other MIDAS compliant software, such as CellNOptR.

The DataRail workflow implemented in Cyrface is structured in several sequential steps that allows the users to import, normalise and visualise experimental data-sets stored in the MIDAS format (Figure 2). The workflow is tested using an in silico generated data-set and a signalling network from16.

971734f6-3a28-4c24-a88c-675abc9ba8aa_figure2.gif

Figure 2. The Cyrface implementation of the DataRail12 workflow.

The rounded rectangles represent the MIDAS files containing the experimental data at a given state. Hexagon nodes represent functions such as load or normalise. Green identifies steps that were successfully executed and grey identifies those that were not run yet. The data-set shown represents the normalised values of the protein activity state of a set of proteins (columns) under different stimulatory conditions (rows).

An extension to the workflow was subsequently added to support the model training function form CellNOptR package10. CellNOptR training function maximises the fit of the experimental data and the corresponding prior-knowledge network, by generating and optimising a logic model. Thereby, through an intuitive graphical interface, users are able to select a biological network and use it to assess the quality of the fit with a corresponding data set of experimental data. This extension illustrates how one can in principle embed any R package in such a workflow, but it does not replace the CytoCopteR app as a complete interface for CellNOptR.

The workflow supports the SIF network format, which is supported by Cytoscape, but also the Systems Biology Markup Language Qualitative Models (SBML Qual) format16. SBML Qual is an extension of the SBML format and is proposed to provide a standard representation for logic and qualitative models of biological networks. Support for importing models stored in SBML Qual format is achieved using the jSBML library17 and the respective SBML Qual package. Supplementary material 1 provides a step-by-step tutorial on how to use the workflow.

Conclusions

Here, we present Cyrface; a bioinformatics Java library that provides a general interaction between Cytoscape and R. Cyrface offers a way to combine a friendly graphical interface within the Cytoscape environment with any R package. A GUI should benefit beginners and occasional users; as well as being useful for training and illustration purposes, it extends the accessibility of the tool to those not familiar with the R command line interface.

Moreover, Cyrface complements other libraries such as Rserve since, (i) it is capable of using Rserve, RCaller or any other existing Java library to query R, and (ii) it provides a tailored implementation for Cytoscape, providing interfaces that are suited to Cytoscape features, such as the support of the Command Dialog tool.

Cyrface’s homepage (see Software Details section) contains the link to download Cyrface and user-guide instructions. A few examples demonstrating the usefulness of the tool and the different supported libraries are also shown and explained. The source-code of Cyrface is publicly available on its GitHub webpage (see Software Details section).

Future features for Cyrface will include providing connections to Cytoscape.js, improvements to the DataRail workflow and further developing and testing future features, such as add support access to remote servers of Rserve.

A common scenario in an interdisciplinary field such as network biology, is one where there is on one side an expert on a certain biological question, who has data to address this question and, on the other side a computational scientist who develops algorithms, but is less familiar with the experiments. To help to bridge this situation tools like Cyrface facilitate to encapsulate sophisticated algorithms developed in R in a user-friendly interface within the Cytoscape framework, to enable non-experts to apply these algorithms.

Software details

Homepage: http://www.ebi.ac.uk/saezrodriguez/cyrface/

Software available from: http://apps.cytoscape.org/apps/cyrface

Latest source code: https://github.com/EmanuelGoncalves/cyrface

Source code as at the time of publication: https://github.com/F1000Research/cyrface

Archived source code as at the time of publication: http://www.dx.doi.org/10.5281/zenodo.1015318

License: GNU General Public License version 3.0 (GPLv3)

Comments on this article Comments (0)

Version 2
VERSION 2 PUBLISHED 19 Sep 2013
Comment
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
Gonçalves E, Mirlach F and Saez-Rodriguez J. Cyrface: An interface from Cytoscape to R that provides a user interface to R packages [version 2; peer review: 3 approved]. F1000Research 2014, 2:192 (https://doi.org/10.12688/f1000research.2-192.v2)
NOTE: If applicable, 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 2
VERSION 2
PUBLISHED 01 Jul 2014
Revised
Views
7
Cite
Reviewer Report 17 Aug 2015
Ghislain Bidaut, Integrative Bioinformatics, Inserm, Centre de Recherche en Cancérologie de Marseille, Marseille, France 
Approved
VIEWS 7
My main concerns from the first version were taken into account ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Bidaut G. Reviewer Report For: Cyrface: An interface from Cytoscape to R that provides a user interface to R packages [version 2; peer review: 3 approved]. F1000Research 2014, 2:192 (https://doi.org/10.5256/f1000research.4521.r5322)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
Version 1
VERSION 1
PUBLISHED 19 Sep 2013
Views
66
Cite
Reviewer Report 20 Jan 2014
Paul T. Shannon, Computational Biology, Fred Hutchinson Cancer Research Institute, Seattle, WA, USA 
Approved
VIEWS 66
Cyrface is a welcome addition to the Cytoscape ecosystem; nicely complementary to RCytoscape. My only reservation is one which applies to my own work (the aforementioned RCytoscape), indeed as well as all parts of the Cytoscape ecosystem.

My reservation has two parts:

First: ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Shannon PT. Reviewer Report For: Cyrface: An interface from Cytoscape to R that provides a user interface to R packages [version 2; peer review: 3 approved]. F1000Research 2014, 2:192 (https://doi.org/10.5256/f1000research.2371.r1863)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
Views
70
Cite
Reviewer Report 12 Dec 2013
Ghislain Bidaut, Integrative Bioinformatics, Inserm, Centre de Recherche en Cancérologie de Marseille, Marseille, France 
Approved with Reservations
VIEWS 70
The paper is well written, however, many items require clarification:
  1. My main criticism is the initial need to install several packages (RCaller, Rserve, Runiversal, Java, etc...), plus Cytoscape and the CommandTool plugin. Since I did not know if this would break
... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Bidaut G. Reviewer Report For: Cyrface: An interface from Cytoscape to R that provides a user interface to R packages [version 2; peer review: 3 approved]. F1000Research 2014, 2:192 (https://doi.org/10.5256/f1000research.2371.r2157)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.
Views
54
Cite
Reviewer Report 09 Oct 2013
Nikolaus Schultz, Computational Biology Center, Memorial Sloan-Kettering Cancer Center, New York, NY, USA 
B. Arman Aksoy, Memorial Sloan-Kettering Cancer Center, New York, NY, USA 
Approved
VIEWS 54
In this manuscript, the authors describe the Cytoscape plugin Cyrface. Cyrface consists of two components: 1) a Java API, which is already being used by the Cytoscape plugins CytoCopteR and DrugvsDisease (both developed by the same group), and 2) a ... Continue reading
CITE
CITE
HOW TO CITE THIS REPORT
Schultz N and Aksoy BA. Reviewer Report For: Cyrface: An interface from Cytoscape to R that provides a user interface to R packages [version 2; peer review: 3 approved]. F1000Research 2014, 2:192 (https://doi.org/10.5256/f1000research.2371.r1866)
NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article.

Comments on this article Comments (0)

Version 2
VERSION 2 PUBLISHED 19 Sep 2013
Comment
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.