Getting Started
Additional recommended resources for getting started include Understanding Automation and the FAQ.
| Java |
Testing |
Best practices |
Web |
 |
 |
 |
 |
| Automation in Java App Development |
Using Automation to Test your app |
Best practices |
How to add Automation to web page |
Notebooks and Scripts
Cytoscape GUI tutorials and its automation using R or Python
R Notebooks and scripts
Visit the collection of Cytoscape Rmd Notebooks to view HTML versions or download Rmd files for local usage. Brief descriptions and links are also provided below...
Training Vignettes
Workshops and Use Cases
| Cytoscape Automation with RCy3 |
| Introduction to using Bioconductor package RCy3 to directly communicate with Cytoscape from R. Three use cases are demonstrated including querying existing interaction databases with a set of genes to create network, creating a correlation network using aMatReader, and a basic enrichment analysis. Workshop given at BIOC2018. |
| Cancer Networks and Data |
| An R Markdown Vignette that encapsulates a bioinformatics analysis of TCGA data on breast and ovarian cancer in the context of STRING networks |
| AP-MS Network Analysis |
| Describes how to use data from an affinity purification-mass spectrometry experiment to generate relevant interaction networks, enriching the networks with information from public resources, analyzing the networks and creating effective visualizations. |
| scNetViz: EMBL-EBI Single Cell Expression Atlas |
| In this example, we will browse a single cell expression atlas, explore a particular dataset, perform differential expression analysis based on provided categories, generate networks from the top genes from each category, and functionally characterize and visualize the networks. |
| scNetViz: Your Own scRNA-Seq Dataset |
| In this example, we will import normalized scRNA-seq data and cluster assignments from local files, generate cell plots, perform differential expression analysis based on provided categories, visualize as a combined heatmap and generate networks from the top genes from each category. |
External Links
| Pathway Analysis with WikiPathways |
| Covers a wide range of analytical and visualization techniques involved in a typical pathway analysis. You will be performing functional enrichment analysis on a differential gene expression dataset that compares lung cancer biopses versus normal tissue. The enrichment analysis will be performed against Gene Ontology, as an introduction to the most common type of enrichment, commonly referred to as GO Analysis. This will serve as the foundation for more advanced enrichment analysis against a pathway database, which is called Pathway Analysis. |
Python Notebooks
Browse the links below to view Python notebooks as rendered by GitHub...
| Affinity Purification-mass Spectrometry Network Analysis |
| This notebook describes how to use data from an affinity purification-mass spectrometry experiment to generate relevant interaction networks, enriching the networks with information from public resources, analyzing the networks and creating effective visualizations. |
| Cytoscape Ecosystem Tutorial NDEX2 |
| The ndex2 package provides a convenient wrapper around the NDEx server API. NDEx networks are transfered in the CX (Cytoscape Exchange) format and ndex2 includes the NiceCX Python object to simplify the use of CX data. |
| Differentially Expressed Genes |
| This protocol describes a network analysis workflow in Cytoscape for a set of differentially expressed genes. Points covered: Retrieving relevant networks from public databases, Network functional enrichment analysis, Integration and visualization of experimental data, Exporting network visualizations. |
| Filtering Networks |
| Points covered: Select a set of nodes based on node degree and attribute filters. Create a subnetwork based on selected nodes. Hide a set of nodes based on filters. |
| Identifier Mapping |
| This vignette will show you how to map or translate identifiers from one database (e.g., Ensembl) to another (e.g, Entrez Gene). This is a common requirement for data analysis. |
| Importing Network From Table |
| In this vignette, the data table represents protein-protein interaction data from a mass-spectrometry experiment. |
| Network Assisted Genomic Analysis |
| Re-prioritizes significant single nucleotide polymorphisms (SNPs) to genes using network diffusion methods including random walk and heat diffusion. |
| Network Layout |
| Cytoscape includes many automatic layout algorithms, for organizing the network visually. All available layout algorithms are listed in the Layout menu, including any layout aglorithms loaded by apps. This tutorial will describe how to apply a layout to your network, give a few examples of commonly used layout algorithms, and describe how layout algorithm parameters can be adjusted. |
| Advanced View API |
| Sample Jupyter Notebook to demonstrate how users can manipulate Cytoscape network views directly from Python code |
| Copycat Layout via CyRest |
| Python notebook with instructions and sample code for calling copycat layout through Cytoscape CyREST endpoints |
| Cytoscape Reactome FI Example |
| This example demonstrates a workflow using ReactomeFIViz CyREST API to perform a comparison pathway and network analysis for TCGA BRCA (breast invasive carcinoma) and OV (ovarian serous cystadenocarcinoma) mutation data |
| scNetViz: EMBL-EBI Single Cell Expression Atlas |
| In this example, we will browse a single cell expression atlas, explore a particular dataset, perform differential expression analysis based on provided categories, generate networks from the top genes from each category, and functionally characterize and visualize the networks. |
| scNetViz: Your Own scRNA-Seq Dataset |
| In this example, we will import normalized scRNA-seq data and cluster assignments from local files, generate cell plots, perform differential expression analysis based on provided categories, visualize as a combined heatmap and generate networks from the top genes from each category. |
| WikiPathways and py4cytoscape |
| py4cytoscape leverages the WikiPathways API to communicate between Python and WikiPathways, allowing any pathway to be queried, interrogated and downloaded in both data and image formats. |
| WikiPathways Data Visualization Basic |
| WikiPathways is a database of biological pathways maintained by and for the scientific community. Each pathway model in the database is annotated with database identfiers, which can be used for computation and data visualization. This workflow describes pathway import and data visualization. |
| WikiPathways Data Visualization Advanced |
| This workflow describes how to work with multiple WikiPathways pathways in Cytoscape, specifically how to visualize multiple data points on a set of pathways of interest. This analysis assumes that we already have a list of pathways of interest. This list could come from enrichment analysis, but could also be a list of pathways of interest from prior knowledge. |
JavaScript
js4cytoscape: JavaScript library for calling Cytoscape Automation via CyREST
For App Developers
Java
How to add Automation to an App you already maintain
How to build CI Responses for your Automation Functions.
How to access an app's automation features from clients, web browsers, and the Swagger UI
A collection of sample Apps that implement Cytoscape Automation
Testing
How to write integration tests in a scripting language to test your App
Best Practices
... to follow when implementing Cytoscape Functions via JAX-RS
... to follow when documenting automation functions
... to follow when implementing Cytoscape Commands
Web developers
How to add Automation to web page
Join the Community
Sharing
Please feel free to use, share, copy or adapt any of the materials you find here. They are all implicitly published under the CC0 waiver for maximum reuse potential.
Questions
Contact Cytoscape Help Desk with any questions about Cytoscape usage.
Issues
To report any issues with the tutorial content, click "Issues" above and open a new issue.
Note to repository maintainers: Please *DO NOT* move this page ... the Cytoscape Automation paper refers directly to it.