Skip to main content
F1000Research logoLink to F1000Research
. 2014 Jul 1;2:192. Originally published 2013 Sep 19. [Version 2] doi: 10.12688/f1000research.2-192.v2

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

Emanuel Gonçalves 1, Franz Mirlach 1,2, Julio Saez-Rodriguez 1,a
PMCID: PMC3962008  PMID: 24715956

Version Changes

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.

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).

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 R 1. Multiple R packages for computational biology and bioinformatics are available in various resources such as the Comprehensive R Archive Network (CRAN). Furthermore, Bioconductor 2 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. Cytoscape 3, 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 Taverna 5 and Galaxy 68 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.

RCytoscape 9 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, CytoCopteR 10 and DrugVsDisease (DvD) 11, that make use of Cyrface, and we demonstrate an implementation of a simplified version of the DataRail 12 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 RCaller 13 and Rserve 14.

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 system 5.

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.

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

Figure 1.

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, iris 13, using the well known plotting library ggplot 14. 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, CytoCopteR 10 and DvD 11.

CytoCopteR 10 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.

DvD 11, 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 Express 15, 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 DataRail 12 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 files 12. 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 from 16.

Figure 2. The Cyrface implementation of the DataRail 12 workflow.

Figure 2.

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 package 10. 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) format 16. 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 library 17 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.10153 18

License: GNU General Public License version 3.0 (GPLv3)

Acknowledgements

The authors would like to thank Martijn Van Iersel for helpful discussions and suggestions in the earlier stages of Cyrface development.

Funding Statement

We acknowledge with thanks the financial support from the EU through the project “BioPreDyn” (ECFP7-KBBE-2011-5 Grant number 289434).

[version 2; referees: 3 approved]

Supplementary materials

Supplementary material 1: Cyrface DataRail workflow tutorial.

Cyrface Manual

Cyrface is 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.

This tutorial is intended for Cyrface v2.0 that requires Cytoscape v3.1 and R 3.x. The following materials are all available online on Cyrface homepage: http://www.ebi.ac.uk/saezrodriguez/cyrface

                                                                                                                                                                                                         Emanuel Gonçalves
                                                                                                                                                                                                         Saez-Rodriguez Group
                                                                                                                                                                                                         EMBL-EBI
                                                                                                                                                                                                         emanuel@ebi.ac.uk
                                                                                                                                                                                                        

May 12, 2014

Software Requirements

Please be sure that you have the following software installed and working:

It is very important that Cytoscape version is equal or greater than 3.1.0

Linux users must run the following commands before using Cytocopter

    • sudo apt-get install libcairo2-dev

    • sudo apt-get install libxt-dev

Introduction

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

Cyrface 1 establishes an interface between R and Cytoscape 2, 3 by using different Java-R libraries, e.g. Rserve, RCaller. Cyrface can be used as a Cytoscape App, e.g. to run R commands within Cytoscape, or used as a library to allow your App to connect to R.

This is developed under a GNU open-source license and the source code can be accessed from the respective GitHub project.

Installation

Install from Cytoscape

Click Apps on Cytoscape top bar followed by Apps Manager menu then search for Cyrface and click install. This may take a few minutes.

Install from file

Download the jar file of Cyrface from the following URL:

Click Apps on Cytoscape top bar followed by Apps Manager then click Install from file… button and search Cyrface jar file.

Install manually

Cyrface can also be installed manually by copying the jar file mentioned before to CytoscapeConfiguration folder. CytoscapeConfiguration folder is kept in the user home folder. Drag the App jar file into the following folder:

  • ~/ CytoscapeConfiguration / 3 / apps / installed /

After moving the jar file start Cytoscape.

graphic file with name f1000research-2-4521-g0002.jpg

Cyrface DataRail Tutorial

Introduction

This tutorial assumes that Cytoscape as well as R is already installed. The necessary files for this tutorial is a network file in SBML-Qual format and the corresponding experimental data in MIDAS format.

Study case

To illustrate the usefulness of Cyrface we will use a simple implementation of the DataRail workflow 4.

The accompanying in silico data (MIDAS file format 4) replicates biologically plausible behaviour that has been seen in intracellular signalling networks, such as the transient behaviour of ERK activation and the oscillatory dynamics of NFkB translocation from the cytoplasm to the nucleus.

MIDAS experimental data format

The MIDAS format (Minimum Information for Data Analysis in Systems Biology) 4 is a comma-separated file that specifies the layout of experimental data files.

Each row represents a single experimental sample; each column represents one sample attribute, such as treatment condition, or value obtained from an experimental assay.

SBML-Qual network format

SBML-Qual format 5 is an extension to the System Biology Markup Language (SBML) for Qualitative Models (Qual). In one sentence, it is designed to provide a standard mean for the exchange of logical models or regulatory and signalling networks.

For more details regarding the specifications please see 5.

Tutorial

  • 1.

    To start Cyrface’s DataRail workflow go to Apps -> Cyrface -> DataRail

    1.

  • 2.

    The full workflow should now be visible

  • 3.

    Right-click on the top MIDAS node and then select Cyrface -> Set MIDAS file… to select the desired MIDAS file. After the MIDAS file is selected the node should turn green.

         Raw data MIDAS file:

         www.ebi.ac.uk/saezrodriguez/cyrface/resources/ToyDataPB10raw.csv

    3.

  • 4.

    Right-click on Load MIDAS node and then select Cyrface -> Load MIDAS… option to load the previously selected MIDAS file. After the file is loaded the node should turn green.

  • 5.

    After the MIDAS file is successfully loaded the second MIDAS node is now green showing that it’s ready to be normalized or visualized.

  • 6.

    Right-click on the respective MIDAS node and the selecting the Cyrface -> Plot MIDAS… option will pop-up a plot of the data

    • a.

      The plot SVG file can be exported click File -> Save R plot

  • 7.

    Right-click on the Normalize node to run the normalization function. A pop-up window will show up to allow the user to define the Normalization function arguments:

    • a.

      EC50Data: parameter for the scaling of the data between 0 and 1, default=0.5

    • b.

      Detection: minimum detection level of the instrument, everything smaller will be treated as noise (NA), default to 0

    • c.

      Saturation: saturation level of the instrument, everything over this will be treated as NA, default to Inf

  • 8.

    After normalizing the MIDAS file it can be plotted as previously and/or exported.

    8.

Optional steps

Cyrface’s DataRail 4 Workflow is also linked to the CellNOptR 6 R package allowing the users to optimize a selected prior knowledge network against the just normalized MIDAS file.

  • 9.

    Right-click on the Optimize node and select Cyrface -> Optimize… function will pop-up a file browser to select the model file. Both SIF and SBML-Qual 5 formats are supported.

  • 10.

    The optimization may take awhile and it’s executed using the defaults values defined in CellNOptR

  • 11.

    Right-click on the Optimized CNO List will show how well the optimized model fit the data.

  • 12.

    For more details about the normalization function and the optimization method please visit CellNOptR package in Bioconductor or CellNOpt homepage

graphic file with name f1000research-2-4521-g0006.jpg

Links

References

  • 1.

    Gonçalves, E. & Saez-Rodriguez, J. Cyrface: An interface from Cytoscape to R that provides a user interface to R packages. F1000Res 2, 192 (2013).

  • 2.

    Shannon, P. et al. Cytoscape: a software environment for integrated models of biomolecular interaction networks. Genome Research 13, 2498–2504 (2003).

  • 3.

    Smoot, M. E., Ono, K., Ruscheinski, J., Wang, P. L. & Ideker, T. Cytoscape 2.8: new features for data integration and network visualization. Bioinformatics 27, 431–432 (2011).

  • 4.

    Saez-Rodriguez, J. et al. Flexible informatics for linking experimental data to mathematical models via DataRail. Bioinformatics 24, 840–847 (2008).

  • 5.

    Chaouiya, C. et al. SBML qualitative models: a model representation format and infrastructure to foster interactions between qualitative modelling formalisms and tools. BMC Syst Biol 7, 135 (2013).

  • 6.

    Terfve, C. et al. CellNOptR: a flexible toolkit to train protein signaling networks to data using multiple logic formalisms. BMC Syst Biol 6, 133 (2012).

References

  • 1. Team RC: R: A Language and Environment for Statistical Computing. GNU GLP. Reference Source [Google Scholar]
  • 2. Gentleman RC, Carey VJ, Bates DM, et al. : Bioconductor: open software development for computational biology and bioinformatics. Genome Biol. 2004;5(10):R80. 10.1186/gb-2004-5-10-r80 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 3. Shannon P, Markiel A, Ozier O, et al. : Cytoscape: a software environment for integrated models of biomolecular interaction networks. Genome Res. 2003;13(11):2498–2504. 10.1101/gr.1239303 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 4. Smoot ME, Ono K, Ruscheinski J, et al. : Cytoscape 2.8: new features for data integration and network visualization. Bioinformatics. 2011;27(3):431–432. 10.1093/bioinformatics/btq675 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 5. Wolstencroft K, Haines R, Fellows D, et al. : The Taverna workflow suite: designing and executing workflows of Web Services on the desktop, web or in the cloud. Nucleic Acids Res. 2013;41(Web Server issue):W557–61. 10.1093/nar/gkt328 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 6. Goecks J, Nekrutenko A, Taylor J, et al. : Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences. Genome Biol. 2010;11(8):R86. 10.1186/gb-2010-11-8-r86 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 7. Blankenberg D, Von Kuster G, Coraor N, et al. : Galaxy: a web-based genome analysis tool for experimentalists. Curr Protoc Mol Biol. 2010;Chapter 19(Unit 19.10):19.10.1–21. 10.1002/0471142727.mb1910s89 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 8. Giardine B, Riemer C, Hardison RC, et al. : Galaxy: a platform for interactive large-scale genome analysis. Genome Res. 2005;15(10):1451–1455. 10.1101/gr.4086505 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 9. Shannon PT, Grimes M, Kutlu B, et al. : RCytoscape: tools for exploratory network analysis. BMC Bioinformatics. 2013;14:217. 10.1186/1471-2105-14-217 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 10. Terfve C, Cokelaer T, Henriques D, et al. : CellNOptR: a flexible toolkit to train protein signaling networks to data using multiple logic formalisms. BMC Syst Biol. 2012;6:133. 10.1186/1752-0509-6-133 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 11. Pacini C, Iorio F, Gonçalves E, et al. : DvD: An R/Cytoscape pipeline for drug repurposing using public repositories of gene expression data. Bioinformatics. 2013;29(1):132–134. 10.1093/bioinformatics/bts656 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 12. Saez-Rodriguez J, Goldsipe A, Muhlich J, et al. : Flexible informatics for linking experimental data to mathematical models via DataRail. Bioinformatics. 2008;24(6):840–847. 10.1093/bioinformatics/btn018 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 13. RCaller. Reference Source [Google Scholar]
  • 14. Urbanek S: A Fast Way to Provide R Functionality to Applications.2003;2 Reference Source [Google Scholar]
  • 15. Rustici G, Kolesnikov N, Brandizi M, et al. : ArrayExpress update--trends in database growth and links to data analysis tools. Nucleic Acids Res. 2013;41(Database issue):D987–90. 10.1093/nar/gks1174 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 16. Chaouiya C, Berenguier D, Keating SM, et al. : SBML Qualitative Models: a model representation format and infrastructure to foster interactions between qualitative modelling formalisms and tools. BMC Syst Biol. 2013; 7:135. 10.1186/1752-0509-7-135 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 17. Drager A, Rodriguez N, Dumousseau M, et al. : JSBML: a flexible Java library for working with SBML. Bioinformatics. 2011;27(15):2167–2168. 10.1093/bioinformatics/btr361 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 18. Gonçalves E, Mirlach F, Saez-Rodriguez J: F1000Research/cyrface. ZENODO. 2014. Data Source [DOI] [PMC free article] [PubMed] [Google Scholar]
F1000Res. 2015 Aug 17. doi: 10.5256/f1000research.4521.r5322

Referee response for version 2

Ghislain Bidaut 1

My main concerns from the first version were taken into account and the paper subsequently corrected.

I have no further comments.

I have read this submission. I believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.

F1000Res. 2014 Jan 20. doi: 10.5256/f1000research.2371.r1863

Referee response for version 1

Paul Shannon 1

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: network biology is in its infancy and as such experimental data are woefully incomplete. Molecular interactions are stochastic, contingent and often very short-lived yet it is exactly these molecular interactions that we need to understand in order to predict and control cellular activity in health and disease.

Second: it is (and may remain) unusual to find researchers, much less clinicians, who are adept at both programming and biomedicine. These two disciplines seem to select for, and then reinforce, different styles of thinking. Therefore progress in this field (call it network biology, or systems biology, or integrative biomedicine) requires hybrid teams: some who are very strong in biological and/or clinical sensibilities and some who are strong in computation and data analysis. Such a hybrid team, at its best, stays together long enough for mutual understanding and communication to emerge, as in the "trading language" which emerged in the world of particle physics in and around linear accelerators in the 60's (see Peter Galison's "Image and Logic").

I worry about the following scenario for Cyrface: a capable programmer hooks up the latest and greatest Bioconductor package to Cytoscape, exposes as best they can the parameterizations offered by that package, and turns the tool over to their collaborating biologist. Experimental data is loaded and analyses or simulations run. Puzzles and inconclusive results will inevitably emerge, requiring detailed knowledge of both the strengths and weaknesses of the Bioc package. With good luck, perseverance and good data, this small working team may in time settle on a satisfactory Cyrface tool which can be reused without the constant intervention of the programmer. This will last until new data is acquired, upsetting the equilibrium, and the hybrid style of work and the back-and-forth between biologist and programmer, begins anew.

I say that I worry about this scenario. It may be exactly the intended use of Cyrface; the problem it is intended to solve. But this essentially sociological characteristic (requirement?) of Cyrface is not described in the paper. I think that those of us who create bioinformatics software tend to avoid being explicit about this - and I think that this (the social & collaborative requirements of bioinformatic research) deserves a lot more attention. 

If indeed network biology, as I claim, is in its infancy, then it may be helpful if the ecosystem of Cytoscape-related tools are considered from this perspective. I suspect that the conclusions we might all (mostly) agree upon are:

  1. User-friendly exploration of data-rich networks in a web browser (as with cytoscape.js) will become increasingly popular.

  2. That user-friendliness often competes with analytical nuance and close scrutiny - biologically and clinically useful results become less likely.

  3. Cyrface's connection of Cytoscape to R is a great step in the right direction, marrying as it does user-friendliness with some new analytical power in a way that is nicely complementary to Cytoscape java plugins and Cytoscape access to web services.

Thus, Cyrface is a good step in the right direction. The next steps, it seems to me, include:

  1. Providing easy connections to R (python, C++) analyses for cytoscape.js

  2. A standard mechanism whereby scripts (R, python, Ruby, Perl)  upon execution, can start up a Cytoscape or cytoscape.js session, customize it with networks, functions, buttons and menus, and with both public and laboratory data. As a generalization of Cyrface, this mechanism would encourage the rapid expansion of Cytoscape capabilities.

These possible next steps carry on in the spirit of Cyrface, RCytoscape, and Cytoscape3 apps, and will promote the creation of, and sharing of, custom network analyses, shared tools, and lead to fruitful collaborations across the hybrid community of biologists, physicians and programmers.

I have read this submission. I believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.

F1000Res. 2013 Dec 12. doi: 10.5256/f1000research.2371.r2157

Referee response for version 1

Ghislain Bidaut 1

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 my personal configuration or if I would be able to uninstall it, I was not able to performe the whole installation myself. It would be great if the authors could provide a virtual machine image with all the software preloaded so that one can try it out of the box without installation. I know by experience that cityscape plugins tend to work only with a single version of Cytoscape, so a clear list of all the required versions in the paper itself would be very useful.

  2. The number of packages we are dealing with is very confusing. I am also afraid that with such a large number of dependencies, the program may break after any update.

  3. In the Implementation section, the authors mention the "iris dataset". It would be useful to define what this is. It is also mentioned in the documentation but it is still unclear what the authors are referring to. The documentation shows an example where the ggplot2 package is used to plot "petal". Could the authors please define what this is?

  4. Figure 2: It would be useful to define more accurately what type of data we are looking at here (e.g. gene expression?).

  5. In the discussion, several R packages are mentioned (DvD, Cytocopter), what are their links with the present software other than the fact that they run under R? Is it really possible to interact with them from Cytoscape? If so, the proper documentation or a tutorial should be provided. It would also be useful if an actual example using DvD along interaction data, could be shown.

  6. I do not understand the example with DataRail. The usefulness of the example given is not clear to me since it seems that no interaction data is given (for me this is the main purpose of Cytoscape). A useful example for most users might be:

    - A network of protein-protein interaction (PPI) data in Cytoscape.

    - Some expression data in R (an exprs object for instance).

    An example of a question might be " How to superimpose the expression data and generate a proper network attribute from it?"

I have read this submission. I believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above.

F1000Res. 2013 Oct 9. doi: 10.5256/f1000research.2371.r1866

Referee response for version 1

Nikolaus Schultz 1, B Arman Aksoy 2

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 graphical user interface that connects R to Cytoscape. As a proof-of-concept to what kind of applications can be built on top this interface, the plugin also supports the MIDAS and SBML-Qual formats.

The article is well written and the tool is useful to the community. However, we recommend the following changes to the article to make it more appealing to potential future users:

 

  1. As the new version of the Cytoscape (3.x) is becoming more widely used by the community, the authors should explicitly state that they are targeting version 2.8 with this framework. This will reduce the confusion for users who are not as familiar with Cytoscape.

  2. The tutorial in the supplementary materials helps to understand the general use case for this plug-in, but the lack of downloadable “sample” files for this example will make it harder for users to learn how to use the DataRail pipeline. We think it is important to provide example files that people can use for reproducing the figures in the manuscript.

  3. ​The Cyrface interaction layer with R looks helpful for programmers, but can the authors comment on how these classes are different from the default Java implementations of the RServe clients, e.g. http://rforge.net/RServe? This will help clarify why people should use Cyrface for their next project.

  4. The command line interface (commandTool) appears to be useful; but it seems that it is only capable of running commands in an isolated environment, with each command having its own session. If this is the case, can the authors comment on what the advantage of running R commands from the commandTool is compared to initiating a terminal window and running commands directly from an R shell? Are users able to, for example, pass node/edge attribute fields to the corresponding R commands?

  5. It looks like the current implementation does not support setting a different RServe location other than localhost. Although not necessary, if users are given the option to set a different RServe address within the plug-in, this will further lower the barrier for users who are not experienced with R to use Cyrface, where they can use a pre-installed Rserve hosted on a different machine.

We have read this submission. We believe that we have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.


Articles from F1000Research are provided here courtesy of F1000 Research Ltd

RESOURCES