Programmatic Access to Cytoscape Features
In this chapter, you will learn how to use Cytoscape from the command line and scripts. These features replace the Scripting module in past versions of Cytoscape.
Command REST API
Cytoscape's intuitive graphical user interface is useful for interactive network data integration, analysis, and visualization. It provides great features for exploratory data analysis, but what happens if you have hundreds of data files or need to ask someone to execute your data analysis workflows? It is virtually impossible to apply the same operations to hundreds of networks manually using a GUI. More importantly, although you can save your results as session files, you cannot save your workflows if you perform your data analysis with point-and-click GUI operations. Cytoscape has several options that support scripting and automating your workflows: Commands and cyREST.
The Command feature allows you to script a number of Cytoscape commands and menu items, and commands can have parameter values that would normally be provided by a user via Cytoscape dialog box. For example, session open file="C:\myfile.cys" loads a session from a file similarly to the File | Open menu item.
Commands is the built-in Cytoscape feature to automate your workflow as simple script. You can learn more about this feature in this section:
1. REST API for Commands
In addition to running Command scripts, Command module has REST API to access available commands.
By default, this feature is disabled. To run REST API server for Commands, please follow these steps:
- Open a terminal session:
- Start Cytoscape from command-line. You need to specify port number as a parameter (In this example, port 8888 will be opened for Command):
- For Mac/Linux
./cytoscape.sh -R 8888For Windows
./cytoscape.bat -R 8888
- For Mac/Linux
- Open the following URL with your web browser:
- If you see list of available commands, you are ready to use Command API
cyREST is a language-agnostic, programmer-friendly RESTful API module for Cytoscape. If you want to build your own workflow with R, Python or other programming languages along with Cytoscape, this is the option for you. You can use popular tools, including IPython/Jupyter Notebook and RStudio as your orchestration tool for your data visualization workflow with Cytoscape.
Currently, cyREST is available as an App for Cytoscape 3.2.1 and later. Please visit the link below for more information.
Debugging your workflows