about projects people publications resources resources visit us visit us search search

Quick Links

Current Apps (3.x)

Typographic Conventions

Mouse button
Dialog button
Keyboard button
Menu item
Dialog label
UCSF RBVI Cytoscape Plugins

scNetViz: Cytoscape networks for scRNA-seq analysis

scNetViz is a Cytoscape app for identifying differentially expressed genes from single-cell RNA sequencing data and displaying networks of the corresponding proteins for further analysis. Several ways of plotting the cells and gene expression data are also available. This app enables scientists who may not be experts in scRNA-seq to explore the data and to develop biological hypotheses.

scNetViz works with other Cytoscape apps, namely stringApp, the enhancedGraphics app, cyBrowser, and cyPlot, as well as web services hosted by the RBVI, to provide:


  1. Installation
  2. Main Menu
  3. Loading an Experiment
  4. Experiment Table
  5. Plotting Cells
  6. Adding Categories
  7. Differential Expression Analysis
  8. Loading Protein Networks
  9. Results Panel
  10. Data Cleaning


To download and install scNetViz, start Cytoscape and bring up the App Manager (Apps→App Manager). You can search for scNetViz directly by name or by any of its tags: automation, integrated analysis, enrichment analysis, gene expression, and PPI-network. Select the scNetViz app and click Install.

An alternative approach is to navigate to the Cytoscape App Store using a web browser, search for and select scNetViz as above, and download the jar file. In Cytoscape, the app can be installed from file using the App Manager (Apps→App Manager).

Source code is available from https://github.com/RBVI/scNetViz/

Main Menu

scNetViz adds entries to the Cytoscape main Apps menu:

Loading an Experiment

To browse and load an experiment from an online repository:

The resulting experiment browser lists the available datasets along with their accession codes, brief descriptions, numbers of cells, and other information. Clicking a column header sorts by the contents of that column. Searching with a term of interest highlights all rows with matching text in the accession, experiment (SCEA), description (HCA), or organisms column.

SCEA Experiment Browser (click any figure to enlarge it...)
SCEA Experiment Browser

Clicking a row to highlight it chooses an experiment. If multiple rows are highlighted, only the first is treated as the chosen experiment for the following actions:

Whether the Double-Click Action (the result of double-clicking a row in the experiment browser) should be View Data or Create Networks is specified in the settings, along with the default parameters for differential expression analysis and loading networks.

The Settings dialog can be shown by choosing Apps→scNetViz→Settings from the main menu or by clicking the icon near the upper right corner of either atlas browser or any experiment table.

To load an experiment from file:

Choose Apps→scNetViz→Load Experiment→Import from file from the menu, then browse to locate and open a zip, tar.gz, tgz, or gzip file of the three MatrixMarket files (.mtx, .mtx_cols, .mtx_rows) comprising a normalized scRNA-seq quantification dataset. The species must also be specified in the dialog to enable the later step of loading networks for the corresponding proteins.

Experiment Table

The experiment table contains all of the information loaded for an experiment, as well as analysis results. It has three tabbed sections:

Experiment Table: TPM
Experiment Table: TPM

The table for a previously loaded experiment can be shown by choosing Apps→scNetViz→Show Experiment Tables from the main menu.

Plotting Cells

The New Cell Plot menu is available from the experiment table or under Apps→scNetViz in the main menu, with choice of method and adjustable parameters. Parameters are explained in more detail in the balloon help from mousing over the dialogs.

UMAP Colored by Cluster
UMAP Colored by Cluster

Clicking a cell in the plot scrolls to the corresponding column in the Categories tab of the experiment table. With the magnifying-glass icon chosen (initial default) in the plot window, click-dragging to select a rectangle automatically enlarges that region. Clicking the house icon resets to showing the whole plot.

Adding Categories

For the purposes of scNetViz, a “category” is any classification or labeling of the cells. Within a given category, the cells in an experiment might all have the same label (for example, species = Homo sapiens) or different labels (for example, cluster number = 1, 2, ...). Categories can be viewed and sorted in the Categories tab of the experiment table.

A category in which the cells have at least two different labels is required for differential expression analysis.

The Add Category menu is available from the experiment table or under Apps→scNetViz in the main menu, with options:

Experiment Table: Categories
Experiment Table: Categories

Differential Expression Analysis

In the Categories tab of the experiment table, each row defines a category or grouping that could be used for differential expression (DE) analysis. Cutoffs indicate which genes should be included, with factory defaults:

The values can be edited directly, and defaults (the values shown initially) adjusted in the settings. Genes not meeting the criteria will still be listed in the results, but without significance values.

The default grouping (category) for analysis of SCEA data is the clustering with sel.K value true, if any, or else the first clustering listed. A different category can be chosen by clicking its row. Clicking the Calculate Diff Exp button performs the analysis with the current settings. Not all cells may be assigned to a cluster, and more generally, some cells may lack a label (may not be assigned to a group) within the chosen category; these cells are excluded from analysis.

Expression is compared between each group and the set of all other groups in that category. With the default cutoffs, a gene is omitted from the calculation if the absolute magnitude of its log2 fold change (ratio of expression levels for the two sets of cells) is less than 0.5 or the gene is detected in fewer than 10% of the cells in each of the two sets.

In the DiffExp tab of the experiment table, the rows are genes, and result columns for each group (e.g. cluster) include:

The menus under Comparison can be used to show the results for different clusterings (different values of k) or categories. Menus and buttons on the top right:


The top differentially expressed genes as shown in the heatmaps and networks may be considered putative markers, but their biological relevance cannot be assessed by statistics alone. Important factors include the specific experiment, its scope and conditions, and the category groupings used for differential expression analysis.

Loading Protein Networks

Protein networks are fetched from the STRING database, either automatically or when the Create Networks button in the DiffExp tab of the experiment table is clicked.

Network analysis cutoffs indicate which proteins should be loaded as a network for each comparison in the differential expression analysis. Factory defaults are to include only the proteins for genes with:

Entering a value for the Max genes further limits the set of proteins to no more than the specified number of top hits ranked by log2FC (factory default 200). The Positive only option indicates whether only genes with positive log2FC values (higher expression than in the comparison set) should be included, with factory default off, meaning to include genes with both higher and lower expression than the comparison set. The values can be edited directly, and defaults (the values shown initially) adjusted in the settings. Networks are generated according to the current criteria when the Create Networks button is clicked.

Assuming some genes meet the criteria for each comparison, the number of networks loaded will be the same as the number of groups in the category, plus one network that is the union of the others. Network node coloring is by log2FC, from red for most positive to blue for most negative, as in the heatmap.

Some of the top-ranked genes as shown in the heatmap may be missing from the network because there is no corresponding protein in STRING (for example, noncoding RNA).

The Cytoscape Node Table lists attributes of each node (protein) including its log2FC magnitude rank in the network that is being viewed. Sorting on the rank column gives the top genes from differential expression analysis, essentially the protein version of Seurat FindMarkers results. For example, the scNetViz Cluster 5 Rank column gives the top putative markers for the comparison of cluster 5 vs. all others.

Networks from scNetViz
Networks from scNetViz

Results Panel

The Results Panel within the main Cytoscape window includes options similar to those appearing elsewhere in scNetViz, plus controls for performing enrichment analyses of terms (annotations) in the network vs. the whole genome of the organism. The panel can be shown by choosing Apps→scNetViz→Show Results Panel from the main menu.

To View data and plots: To Reanalyze: To Get Enrichment of terms (annotations from Gene Ontology and other sources) within a network relative to the organism's genome, specify which proteins to include:

Enrichment analysis is described in more detail in the stringApp paper:

Cytoscape stringApp: Network analysis and visualization of proteomics data. Doncheva NT, Morris J, Gorodkin J, Jensen LJ. J Proteome Res. 2019 Feb 1;18(2):623-632.

Data Cleaning

For cell-plot and clustering calculations on the web server, data cleaning settings can be adjusted in the Advanced preprocessing parameters section of the respective dialogs:

For local t-SNE calculations, data cleaning entails:

Last updated on November 21, 2019

About RBVI | Projects | People | Publications | Resources | Visit Us

Copyright 2018 Regents of the University of California. All rights reserved.