Skip to content
Yihang Xin edited this page Aug 23, 2023 · 137 revisions
Clone this wiki locally

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.

For Script Writers

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

For App Developers

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

Cytoscape GUI tutorials and its automation using R or Python

Tutorial Cytoscape Desktop R Python
Affinity Purification-Mass Spectrometry Network Analysis GUI Tutorial R Markdown / Jupyter Jupyter
Variant Data Analysis GUI Tutorial R Markdown / Jupyter Jupyter
Differentially expressed genes GUI Tutorial R Markdown / Jupyter Jupyter
WikiPathways App GUI Tutorial R Markdown / Jupyter Jupyter
Basic data visualization GUI Tutorial R Markdown / Jupyter Jupyter
Filtering by Selection GUI Tutorial R Markdown / Jupyter Jupyter
Identifier mapping GUI Tutorial R Markdown / Jupyter Jupyter
Import network from table GUI Tutorial R Markdown / Jupyter Jupyter
Importing data from table GUI Tutorial R Markdown / Jupyter Jupyter
Loading networks GUI Tutorial R Markdown / Jupyter Jupyter

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
Jupyter Bridge
Jupyter Bridge basic tutorial

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.
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.
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
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.
Loading Networks
Jupyter Notebook for Loading Networks
Jupyter Bridge Workflow Example
Jupyter Notebook for Jupyter Bridge Workflow Example
Jupyter Bridge Basic
Jupyter Notebook for Jupyter Bridge Basic Tutorial
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

Adding Automation to Existing Apps

How to add Automation to an App you already maintain

Building CI Responses

How to build CI Responses for your Automation Functions.

Exercising Your App

How to access an app's automation features from clients, web browsers, and the Swagger UI

Sample Apps

A collection of sample Apps that implement Cytoscape Automation

Testing

Using Scripting to Test Your App

How to write integration tests in a scripting language to test your App

Best Practices

Cytoscape Function Best Practices

... to follow when implementing Cytoscape Functions via JAX-RS

Swagger Best Practices

... to follow when documenting automation functions

Cytoscape Command Best Practices

... to follow when implementing Cytoscape Commands

Web developers

Adding Automation to Web Pages

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.