Interactive visual interrogation of scRNA-Seq from within Python and Jupyter

Overview of Sciviewer


This is a tool I created with Andres Colubri at UMass Medical School to enable seemless interactive visualization and exploration of 2D embeddings of single-cell RNA-Seq data from directly within the Python programming environment. This avoids the need to download data and upload it to designated software servers or to run command line tools (which I find takes me out of my data analysis zone). We also implemented a novel directional exploration tool that allows you to “build your own pseudotime ordering” on any UMAP.


Motivation Visualizing two-dimensional embeddings (such as UMAP or tSNE) is a useful step in interrogating single-cell RNA sequencing (scRNA-Seq) data. Subsequently, users typically iterate between programmatic analyses (including clustering and differential expression) and visual exploration (e.g. coloring cells by interesting features) to uncover biological signals in the data. Interactive tools exist to facilitate visual exploration of embeddings such as performing differential expression on user-selected cells. However, the practical utility of these tools is limited because they don’t support rapid movement of data and results to and from the programming environments where most of the data analysis takes place, interrupting the iterative process.

Results Here, we present the Single-cell Interactive Viewer (Sciviewer), a tool that overcomes this limitation by allowing interactive visual interrogation of embeddings from within Python. Beyond differential expression analysis of user-selected cells, Sciviewer implements a novel method to identify genes varying locally along any user-specified direction on the embedding. Sciviewer enables rapid and flexible iteration between interactive and programmatic modes of scRNA-Seq exploration, illustrating a useful approach for analyzing high-dimensional data.

Availability and implementation Code and examples are provided at