Skip to content

STREAM: Single-cell Trajectories Reconstruction, Exploration And Mapping of single-cell data


Notifications You must be signed in to change notification settings


Repository files navigation

install with bioconda


STREAM (Latest version v1.1)

Latest News

Dec 17, 2021

Version 1.1 is now available.

  1. fixed incompatible issues related to the latest version of pandas
  2. fixed plotting issues related to the latest version of matplotlib and seaborn

Jun 1, 2020

Version 1.0 is now available. The v1.0 has added a lot of new functionality:

  1. added QC metrics and plots
  2. added support of scATAC-seq analysis using peaks as features
  3. added support of interactive plots with plotly
  4. redesigned all plotting-related functions
  5. redesigned mapping procedure
  6. removed support of STREAM command line interface

See v1.0 for more details.

Jan 14, 2020

Version 0.4.1 is now available. We added support of feature top_pcs for Mapping

Nov 26, 2019

Version 0.4.0 is now available. Numerous changes have been introduced. Please check v0.4.0 for details.


STREAM (Single-cell Trajectories Reconstruction, Exploration And Mapping) is an interactive pipeline capable of disentangling and visualizing complex branching trajectories from both single-cell transcriptomic and epigenomic data.

STREAM is now published in Nature Communications! Please cite our paper Chen H, et al. Single-cell trajectories reconstruction, exploration and mapping of omics data with STREAM. Nature Communications, volume 10, Article number: 1903 (2019). if you find STREAM helpful for your research.

STREAM is written using the class anndata Wolf et al. Genome Biology (2018) and available as user-friendly open source software and can be used interactively as a web-application at, as a bioconda package and as a standalone command-line tool with Docker

Installation with Bioconda (Recommended)

$ conda install -c bioconda stream

If you are new to conda environment:

  1. If Anaconda (or miniconda) is already installed with Python 3, skip to 2) otherwise please download and install Python3 Anaconda from here:

  2. Open a terminal and add the Bioconda channel with the following commands:

$ conda config --add channels defaults
$ conda config --add channels bioconda
$ conda config --add channels conda-forge
  1. Create an environment named env_stream , install stream, jupyter, and activate it with the following commands:
  • For single cell RNA-seq analysis:
$ conda create -n env_stream python=3.7 stream=1.0 jupyter
$ conda activate env_stream
  • For single cell ATAC-seq analysis:
$ conda create -n env_stream python=3.7 stream=1.0 stream_atac jupyter
$ conda activate env_stream
  1. To perform STREAM analyis in Jupyter Notebook as shown in Tutorial, type jupyter notebook within env_stream:
$ jupyter notebook

You should see the notebook open in your browser.


Tutorials for v0.4.1 and earlier versions can be found here

Installation with Docker

With Docker no installation is required, the only dependence is Docker itself. Users will completely get rid of all the installation and configuration issues. Docker will do all the dirty work for you!

Docker can be downloaded freely from here:

To get an image of STREAM, simply execute the following command:

$ docker pull pinellolab/stream

Basic usage of docker run

$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]


--publish , -p	Publish a container’s port(s) to the host  
--volume , -v	Bind mount a volume  
--workdir , -w	Working directory inside the container  

To use STREAM inside the docker container:

  • Mount your data folder and enter STREAM docker container:
$ docker run --entrypoint /bin/bash -v /your/data/file/path/:/data -w /data -p 8888:8888 -it pinellolab/stream:1.0
  • Inside the container, launch Jupyter notebook:
root@46e09702ce87:/data# jupyter notebook --ip --port 8888 --no-browser --allow-root

Access the notebook through your desktops browser on The notebook will prompt you for a token which was generated when you create the notebook.

STREAM interactive website

In order to make STREAM user friendly and accessible to non-bioinformatician, we have created an interactive website:

The website can also run on a local machine. More details can be found

Credits: H Chen, L Albergante, JY Hsu, CA Lareau, GL Bosco, J Guan, S Zhou, AN Gorban, DE Bauer, MJ Aryee, DM Langenau, A Zinovyev, JD Buenrostro, GC Yuan, L Pinello