cyREST

Core App: Language-agnostic RESTful API
# *Core App*: cyREST ## IMPORTANT: Now this app is a part of the Cytoscape Core! **You don't have to install this separately and can update it whenever new version is available.** **_You should not download this app_ from the store yourself if you're using Cytoscape 3.3 or later. If Cytoscape detects that a new version is available in the App Store, it will notify you as it's starting and will give you a chance to download it directly.** **If you are using Cytoscape 3.2 or 3.2.1, you should download this app from this page yourself. Note that it requires that you have Java 8 already installed.** ### This 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. ---- ## cyREST Paper ### Please cite the following 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).__ ---- ### 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. * [Sample Jupyter Notebook](http://nbviewer.ipython.org/github/idekerlab/py2cytoscape/blob/develop/examples/New_wrapper_api_sample.ipynb) ---- # What is cyREST? ![](http://cl.ly/XohP/logo300.png) ## Short answer __A Cytoscape Core app for driving Cytoscape from R/Python/Julia/Node.js/etc.__ ## Long answer __*cyREST*__ is a language-agnostic, low-level RESTful API module for Cytoscape. If you are an advanced Cytoscape user and want to automate your workflow with popular programming languages, such as Python, R, Matlab, or JavaScript (Node.js), this is the right tool for you. cyREST provides programmer-friendly RESTful API to access all Cytoscape data objects, including networks, tables, and Visual Styles. Also, it has API to access Cytoscape's basic functions such as automatic layouts and image file generators. ### 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 * Examples: * Implement layout algorithms with Python+NumPy+SciPy * Write network analysis tool with R + igraph ### 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. ## Documentation * CyREST API docs are available within Cytoscape main menu through the Help → Automation sub-menu. * [User Document](https://github.com/cytoscape/cyREST/wiki) * [Tutorials](https://github.com/cytoscape/cyREST/wiki/Tutorials) * [cyREST API V1 Document (old)](http://cytoscape.github.io/cyREST/)

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

License Click here

Released 9 Jun 2017

Works with Cytoscape 3.5

Download Stats Click here