| Literature DB >> 26672762 |
Keiichiro Ono1, Tanja Muetze2, Georgi Kolishovski3, Paul Shannon4, Barry Demchak1.
Abstract
As bioinformatic workflows become increasingly complex and involve multiple specialized tools, so does the difficulty of reliably reproducing those workflows. Cytoscape is a critical workflow component for executing network visualization, analysis, and publishing tasks, but it can be operated only manually via a point-and-click user interface. Consequently, Cytoscape-oriented tasks are laborious and often error prone, especially with multistep protocols involving many networks. In this paper, we present the new cyREST Cytoscape app and accompanying harmonization libraries. Together, they improve workflow reproducibility and researcher productivity by enabling popular languages (e.g., Python and R, JavaScript, and C#) and tools (e.g., IPython/Jupyter Notebook and RStudio) to directly define and query networks, and perform network analysis, layouts and renderings. We describe cyREST's API and overall construction, and present Python- and R-based examples that illustrate how Cytoscape can be integrated into large scale data analysis pipelines. cyREST is available in the Cytoscape app store (http://apps.cytoscape.org) where it has been downloaded over 1900 times since its release in late 2014.Entities:
Keywords: Cytoscape; Interoperability; Microservice; REST; Reproducibility; Resource Oriented Development; Service Oriented Architecture; Workflow
Year: 2015 PMID: 26672762 PMCID: PMC4670004 DOI: 10.12688/f1000research.6767.1
Source DB: PubMed Journal: F1000Res ISSN: 2046-1402
Figure 1. Cytoscape working with other components to create bioinformatic workflows.
Figure 2. Relationship of Cytoscape to Bioinformatics-oriented Tools and Languages, where cyREST is in green.
Harmonization libraries are green and blue, representing an interface between workflow code and cyREST.
Existing Cytoscape apps to control Cytoscape from scripts.
| Application Name | Description | Supported
|
|---|---|---|
|
| A domain specific language to automate simple
| 3.x and 2.x |
|
| An interface to call R packages from Cytoscape | 3.x |
|
| Exposes Cytoscape API to scripting engines for
| 2.x |
|
| Plugin to call low-level Cytoscape API through
| 2.x |
|
| Bioconductor package to call Cytoscape from R
| 2.x |
Examples of Cytoscape data resources exposed by cyREST.
| URL Segment | Data Resource |
|---|---|
|
| list of all networks (as networkId) |
|
| edges within network networkId |
|
| nodes within network networkId |
|
| tables within network networkId |
|
| views of network networkId |
|
| node groupings within network networkId |
|
| session-wide attributes (e.g., name) |
|
| visual styles that can apply to networks |
|
| values of visual properties for style styleName |
Examples of Cytoscape function resources exposed by cyREST.
| URL Segment | Function Resource |
|---|---|
|
| apply edge bundling to edges in network networkId |
|
| fit network networkId to its window |
|
| apply a layout algorithm to network networkId |
|
| apply visual style styleName to network networkId |
Figure 3. Yeast network [37] visualization with sample R script and Cytoscape.