Cytoscape is an open source software platform for visualizing complex networks and integrating these with any type of attribute data. With Cytoscape, you can load molecular and genetic interaction data sets in many standards formats, project and integrate global datasets and functional annotations, establish powerful visual mappings across these data, perform advanced analysis and modeling and visualize and analyze human-curated pathway datasets.
This application requires a graphical connection. Please use a Graphical Session on HPC OnDemand
Allocate an interactive session from Biowulf using a graphical connection and run the program. Sample session:
[user@biowulf]$ sinteractive --cpus-per-task=6 --mem=8G salloc.exe: Pending job allocation 46116226 salloc.exe: job 46116226 queued and waiting for resources salloc.exe: job 46116226 has been allocated resources salloc.exe: Granted job allocation 46116226 salloc.exe: Waiting for resource configuration salloc.exe: Nodes cn3144 are ready for job
To use Cytoscape, you must load the module. Type:
module load Cytoscape Cytoscape&

Cytoscape will create a configuration directory inside the user's home directory. This is usually /home/$USER/CytoscapeConfiguration. We have observed two potential issues around this:
Several batch jobs that automate task(s) in Cytoscape, usually running via an API, can write many files to the configuration directory. In some cases this can exceed the 16GB quota on the user's home directory causing many problems to the user and running jobs. A possible solution is to reset JAVA_OPTIONS and change the configuration directory location. For example, run the following before starting Cytoscape:
export JAVA_OPTIONS="-Duser.home=/data/$USER/CytoscapeConfiguration"
If user's switch between different versions of the Cytoscape module, they may encounter some incompatibilities since the same configuration directory is used regardless of which Cytoscape version is started. This could be especially true for Cytoscape plugins (apps) that are incompatible with certain versions of Cytoscape. Use the same solution as listed above or rename the previous configuration directory.
Cytoscape can be automated with Python or R scripting using the cyrest API. You may use py2cytoscape or the RCy3 libraries in Python and R respectively. Make sure to set the no_proxy envirionment variable. Here's a sample session with RCy3:
[user@biowulf]$ sinteractive --mem=8G salloc.exe: Pending job allocation 46116226 salloc.exe: job 46116226 queued and waiting for resources salloc.exe: job 46116226 has been allocated resources salloc.exe: Granted job allocation 46116226 salloc.exe: Waiting for resource configuration salloc.exe: Nodes cn3144 are ready for job [user@biowulf]$ module load Cytoscape R [user@biowulf]$ export no_proxy=localhost,127.0.0.1 [user@biowulf]$ Cytoscape -R 1234 & # runs the API service on port 1234 [user@biowulf]$ R -e "library(RCy3); cytoscapePing()" ... You are connected to Cytoscape!
If you plan to automate Cytoscape via batch jobs you may need to run Cytoscape with xvfb-run and make sure to pause 15-20 seconds (with the sleep command) for Cytoscape to start serving the API service before connecting with a client library.
Cytoscape functionality can be extended using plugins, called Cytoscape Apps. There is an "app store" where users can download, install, and manage these apps. To use the app store from a compute node on Biowulf (i.e. from an interactive session) Cytoscape must be configured to use our http proxy settings. Here are the steps on how to do this:
Allocate an sinteractive session as usual and run the following before starting Cytoscape:
echo $http_proxyAn example of the output you should see after running the above command is: http://dtn05-e0:3128. Here the proxy server is dtn05-e0 and port is 3128. You will likely see different values. Note them down.
If you want to install and manage Cytoscape apps in a different sinteractive session, you may need to redo step 1. This is because the proxy server may be different between different compute nodes.