Skip to content
Yihang Xin edited this page Feb 2, 2021 · 137 revisions

Getting Started

Getting Started with Automation in R
Step-wise installation instructions leading to RCy3 vignettes
Getting Started with Automation in Python
Basic tutorials in py4cytoscape doc.

Additional recommended resources for getting started include Understanding Automation and the FAQ.

R notebooks and scripts Python notebooks JavaScript
R noteboooks and scripts Python notebooks JavaScript
Collection of sample scripts using the RCy3 package Collection of scripts using py4cytoscape utility A basic sample script to automate a Cytoscape workflow using cyRest and node.js
Java Testing Best practices Web
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

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

Overview of RCy3
An R Markdown Vignette introducing RCy3
Importing Data
An R Markdown Vignette describing data import
Network functions and visualization
Network functions and visualization
Identifier Mapping
Translate identifiers from one database to another using idmapper
Cytoscape and NDEx
Cytoscape and NDEx

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

Extending DEG Networks with CyTargetLinker
Extending a network of differentially expressed genes with chemical interactions from WikiPathways using the CyTargetLinker app for Cytoscape
Extending Disease Networks with CyTargetLinker
Extending a Rett Syndrome network with checmical interactions and disease associations using the CyTargetLinker app for Cytoscape
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...

Advanced Cancer Networks and Data
Python script representing a common bioinformatics workflow.
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.
Basic Data Visualization
Jupyter Notebook for Basic Data Visualization.
Custom Graphics and Labels
Jupyter Notebook for Custom Graphics and Labels.
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.
Cytoscape Ecosystem Tutorial py4cytoscape
py4Cytoscape is a python package that connects python to a locally running instance of the Cytoscape desktop software via CyREST.
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.
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
eXamine Automation Tutorial 1
This case study demonstrates how to use the REST API of eXamine to study an annotated module in Cytoscape
eXamine Automation Tutorial 2
This case study demonstrates how to use the REST API of eXamine to study a small, annotated graph in Cytoscape
Automation of the PathLinker App Paper Lovastatin Analysis
Automation of the PathLinker App paper Lovastatin Analysis
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
Importing Data from Tables
Jupyter Notebook for Importing Data from Tables
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.
Saving Results
Jupyter Notebook for Saving Results
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.
Visualizing Expression Data
The most common use of expression data in Cytoscape is to set the visual attributes of the nodes in a network according to expression data. This creates a powerful visualization, portraying functional relation and experimental response at the same time.
Loading Networks
Jupyter Notebook for Loading Networks

JavaScript

JavaScript basic workflow
A basic sample script to automate a Cytoscape workflow using cyRest and node.js

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.