# *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.**
## 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
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).
Figure 2: Human interactome (HumanNet v1) to subgraphs using Chromosome names
* __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?
## Short answer
__A Cytoscape Core app for driving Cytoscape from R/Python/Julia/Node.js/etc.__
## Long answer
### 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
* 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.
### [cyREST API V1 Document](http://cytoscape.github.io/cyREST/)
### [User Document](https://github.com/cytoscape/cyREST/wiki)