cyREST

Core App: Language-agnostic RESTful API
# *Core App*: cyREST __IMPORTANT: Now this app is now automatically delivered with Cytoscape v3.3 and later!__ You can update your CyREST to the latest version by using the _Check for Updates_ tab in Cytoscape's App Manager. If you are using Cytoscape 3.2 or 3.2.1, you can get CyREST by downloading it from this page. For earlier versions of Cytoscape, we recommend that you upgrade to the latest Cytoscape. Note: CyREST is the successor of the *Cytoscape RPC* plugin for Cytoscape 2.x for people who want to control Cytoscape from command-line tools, external services, or scripting languages, such as R, Python, Julia, JavaScript, etc. ---- ## Summary CyREST is the technology that powers the Cytoscape Automation feature, which enables you to create workflows executed entirely within Cytoscape or by external tools (e.g., Jupyter, R, GenomeSpace, etc), and whose results are reproducible. This enables Cytoscape to scale to large collections of datasets and to larger more complex workflows than is practical via keyboard and mouse. Cytoscape Automation exists in two skins – the Commands interface and the Functions interface. Both can accomplish similar results, but are focused on different usage styles. Commands reprise user-initiated interactions (e.g., open session, import data, export image), whereas the Functions interface enables programmers to manipulate and operate on networks as internal Cytoscape data. Both Commands and Functions are available via a REST interface. To learn more about Cytoscape Automation, visit our [FAQ](https://docs.google.com/document/d/1QTrT-9ylhI4OX5DkauMo2ujLIqeg3WDUDwl77KLtfVY/edit). For resources for both Script Writers and Cytoscape App Authors, visit our [Wiki](https://github.com/cytoscape/cytoscape-automation/wiki). ---- ## With cyREST, you can... * Automate your data analysis and visualization workflows * Use Cytoscape from [Jupyter Notebook](http://jupyter.org/) or [RStudio](http://www.rstudio.com/) * Connect your services to Cytoscape with programming language of your choice -- for example: * Implement layout algorithms with Python+NumPy+SciPy * Write network analysis tool with R + igraph ---- ## cyREST Paper Please cite our paper for project sustainability: __Ono, Keiichiro, et al. "[CyREST: Turbocharging Cytoscape Access for External Tools via a RESTful API](http://f1000research.com/articles/4-478/v1)." F1000Research 4 (2015). ---- ## Documentation CyREST API docs are available within Cytoscape main menu through the __Help__ → __Automation__ sub-menu. To learn more about Cytoscape Automation, visit our [FAQ](https://docs.google.com/document/d/1QTrT-9ylhI4OX5DkauMo2ujLIqeg3WDUDwl77KLtfVY/edit). For resources for both Script Writers and Cytoscape App Authors, visit our [Wiki](https://github.com/cytoscape/cytoscape-automation/wiki). [Sample Jupyter Notebook](http://nbviewer.ipython.org/github/idekerlab/py2cytoscape/blob/develop/examples/New_wrapper_api_sample.ipynb) ---- ## Related Packages, Apps and Modules -- Language-Dependent Wrappers * cyREST works best with R when the [RCy3 package](http://www.bioconductor.org/packages/release/bioc/html/RCy3.html) is installed. RCy3 is compatible with Cytoscape 3 and cyREST, and replaces the [RCytoscape package](http://rcytoscape.systemsbiology.net/versions/current/index.html), which is compatible with Cytoscape 2. * Separately, the [RCyjs package](http://www.bioconductor.org/packages/release/bioc/html/RCyjs.html) can be used to display Cytoscape-like graphs in a web browser from within an R session. * [py2cytoscape](https://github.com/idekerlab/py2cytoscape) provides easy-to-use API for Python programmers. It drastically reduces your boilerplate code when you use Cytoscape from Python code. ---- ## Samples Generated with cyREST and R/Python ![](http://cl.ly/bfUV/structure-aware-layout.png) Figure 1: Graph structure-aware visualization with cyREST, igraph, and R. Code is available [here](https://github.com/idekerlab/cy-rest-R/blob/develop/workflow1_structure_based_visualization.R). ![](http://chianti.ucsd.edu/~kono/images/humannet_session2.png) Figure 2: Human interactome (HumanNet v1) to subgraphs using Chromosome names ---- ## News: * __6/9/2017__: Version 3.5.0 released. CyREST API documentation is now available in the Cytoscape Help menu. * __5/8/2016__: Version 3.4.0 released. Apps can now create REST endpoints. Examples can be found in the [Cytoscape Automation](https://github.com/cytoscape/cytoscape-automation/tree/master/for-app-developers) GitHub repository. * __9/13/2016__: Version 3.3.7 released. Critical bug found in 3.3.6 and this contains the fix for it. * __9/8/2016__: Version 3.3.6 released. Minor bug fix release. * __9/1/2016__: Version 3.3.5 released. Contains new _/collections_ API. * __6/22/2016__: Bugfix version released. You can simply press *Upgrade* button to install the new version. * __11/16/2015__: Migration to Core App. Now cyREST is a part of Cytoscape Core Distribution. If you are using Cytoscape 3.3 or later, you don't have to install this app. * __9/2/2015__: 2.0.2 released. Merged with Command REST module. Commands features are available under /v1/commands. This is just a straight port from existing core code base, and Commands APIs are not RESTful (yet). * __7/28/2015__: 1.1.1 released. Get network as file API added (and some bug fixes) * __6/26/2015: 1.1.0 released. SVG and PDF export functions are supported!__ * __6/14/2015__: 0.9.17 released. Layout attributes and local table columns are supported. * __6/9/2015__: 0.9.16 released. Now Layout parameters are accessible through API. * __6/5/2015__: Python wrapper (py2cytoscape) released.

3.6.0

Works with Cytoscape 3.6

Release Notes

* Improved Cytoscape Command handling, including JSON output, JSON input, and expanded Swagger support. * Provides implementations for Cytoscape 3.6 Cyber Infrastructure and Cytoscape model to JSON handling.

3.5.1

Works with Cytoscape 3.5

Apps that depend on this release

Release Notes

Added BugFixes: * Returned column JSON was leaving out cells that contained nulls, reducing length and making column JSON hard to map to SUIDS. Now returns null for null entries. * More explicit handling of Command execution. Now execution waits for an allFinished call before returning anything.

3.5.0

Works with Cytoscape 3.5

Apps that depend on this release

Release Notes

* Added Help menu items to provide Swagger Documentation, and links to the Cytoscape Automation Repository. (available under Help > Automation) * Expanded Swagger documentation to surpass the coverage of old miredot docs. * Added new endpoints to support node and edge selection.

3.4.0

Works with Cytoscape 3.5

Apps that depend on this release

Release Notes

- Apps can now add their own REST resources via JAX-RS. - Swagger Annotations are available and supported for both CyREST and App resources

3.3.8

Works with Cytoscape 3.3


3.3.7

Works with Cytoscape 3.3

Release Notes

Bug fix version. CX Support is now an optional dependency.

3.3.6

Works with Cytoscape 3.3


3.3.5

Works with Cytoscape 3.3


3.3.4

Works with Cytoscape 3.3


3.3.3

Works with Cytoscape 3.3


3.3.2

Works with Cytoscape 3.3

Apps that depend on this release


3.3.1

Works with Cytoscape 3.3


3.3.0

Works with Cytoscape 3.3


2.0.2

Works with Cytoscape 3.2


1.1.1

Works with Cytoscape 3.2


1.1.0

Works with Cytoscape 3.2


0.9.17

Works with Cytoscape 3.2


0.9.16

Works with Cytoscape 3.2


0.9.15

Works with Cytoscape 3.2


0.9.14

Works with Cytoscape 3.1


0.9.13

Works with Cytoscape 3.1


0.9.12

Works with Cytoscape 3.1


0.9.11

Works with Cytoscape 3.1


0.9.10

Works with Cytoscape 3.1

Release Notes

This is a minor bug-fix version. * Fixed duplicate row problem in table column API.

0.9.9

Works with Cytoscape 3.1

Release Notes

This is a minor bug fix version. * Fixed group deletion problem * Updated API ducuments

0.9.8

Works with Cytoscape 3.1

Release Notes

* POSTing Edge List now respects collection name. * _title_ parameter added for POST method for network.

0.9.7

Works with Cytoscape 3.1

Release Notes

Accepts IP other than _localhost_.

0.9.6

Works with Cytoscape 3.1


0.9.5

Works with Cytoscape 3.1


0.9.3

Works with Cytoscape 3.1


0.9.0

Works with Cytoscape 3.1


CYTOSCAPE 3

Version 3.6.0

License Click here

Released 27 Nov 2017

Works with Cytoscape 3.6

Download Stats Click here