Automation in the Cytoscape Ecosystem
Dexter Pratt, Sophie Liu, John "Scooter" Morris and Alex Pico
UCSD and UCSF
12 July 2020
Please proceed to the next slides for important requirements and
installation instructions.
Requirements and Installation Instructions
You should have the most recent version of Cytoscape downloaded and
successfully installed. You can download the appropriate installer
here.
Here are the directions for installing the environments and
libraries for the tutorial content:
For the HTML/JavaScript content, you will require an up-to-date web
browser, such as Chrome, Firefox, or Edge.
Overview
The tutorial consists of four Step-by-Step code examples.
The code examples are coordinated and demonstrate similar workflow
steps.
-
Part 1: Demonstration of the python workflow.
-
You can follow along in the Jupyter notebook as we present or
in the R and Web versions.
- Part 2: Questions
-
Part 3: Demonstration of R- and Web-specific examples
- Part 4: Try it on your own, ask more questions.
Goals and Motivations
By the end of this workshop you should be able to:
-
Control the Cytoscape desktop application from scripts and web
applications in order to:
- Get networks from NDEx
- Apply layouts and visual styles
- Create networks from tabular data
- Add tabular data to network
- Programmatically access public networks from NDEx
- Load data via scripts or via the Cytoscape desktop
- Store and share resulting networks with NDEx
Introductions
Dexter Pratt, UCSD
- Director of Software Development, Ideker lab, UCSD
- Started the NDEx Project
Sophie Liu, UCSD
-
Software Developer, Ideker lab, UCSD
Introductions
Chris Churas, UCSD
- Senior Software Developer, Ideker lab, UCSD
David Otasek, UCSD
-
Software Consultant, Ideker lab, UCSD
Introductions
John "Scooter" Morris, UCSF
-
Executive director, Resource for Biocomputing, Visualization, and
Informatics
- Roving Engineer, National Resource for Network Biology
- Cytoscape team since 2006
- Author of over a dozen Cytoscape apps
Introductions
Alex Pico, Gladstone Institutes
- Associate director, Bioinformatics Core
- Executive director, National Resource for Network Biology
- Cytoscape team since 2006
- Author of a handful of Cytoscape apps and RCy3
Automating Cytoscape via CyREST
Task |
Python |
R |
Web |
Open the NDEx network in Cytoscape |
✓ |
✓ |
✓ |
Apply a visual style |
✓ |
✓ |
✓ |
Apply a layout |
✓ |
✓ |
✓ |
Save the network to NDEx |
✓ |
✓ |
✓ |
Load a PPI Network from a File |
✓ |
✓ |
|
Load Expression Data from a File |
✓ |
✓ |
|
Working Directly with Networks
Task |
Python |
R |
Web |
Get a Summary of an NDEx Network |
✓ |
|
✓ |
Retrieve a Network from NDEX |
✓ |
✓ |
✓ |
Display the network on a web page |
|
|
✓ |
Query NDEx to Find Networks |
|
✓ |
|
Load a PPI Network from a File |
✓ |
✓ |
|
Load Expression Data from a File |
✓ |
✓ |
|
What is NDEx?
- Find networks to use in applications.
- Store networks in your private account.
- Share your networks - "DropBox for networks".
- Disseminate your networks.
-
Publish your networks as computable, actionable data.
- Work with your networks in Cytoscape
- Integrate networks with your applications.
Cytoscape Ecosystem Components
- Cytoscape Desktop (Java)
-
Cytoscape Automation via CyREST
-
From R: RCy3
-
From Python Py4Cytoscape
- Cytoscape Automation via CyCommands
-
CyBrowser: a web browser within Cytoscape that supports CyCommands
- App Store: the cloud repository where Apps are published.
-
NDEx: store, share, and publish networks
-
CX: the JSON Cytoscape network exchange format
-
cytoscape.js: the JavaScript library for interactively viewing
and using networks in web applications.
- Cloud apps and services