CellBender is a software package for eliminating technical artifacts from high-throughput single-cell RNA sequencing (scRNA-seq) data.
The current release contains the following modules. More modules will be added in the future:
remove-background
:This module removes counts due to ambient RNA molecules and random barcode swapping from (raw) UMI-based scRNA-seq count matrices. Also works for snRNA-seq and CITE-seq.
Please refer to the documentation for a quick start tutorial.
CellBender can be installed via
$ pip install cellbender
(and we recommend installing in its own conda
environment to prevent
conflicts with other software).
CellBender is run as a command-line tool, as in
(cellbender) $ cellbender remove-background \
--cuda \
--input my_raw_count_matrix_file.h5 \
--output my_cellbender_output_file.h5
See the usage documentation for details.
A GPU-enabled docker image is available from the Google Container Registry (GCR) as:
us.gcr.io/broad-dsde-methods/cellbender:latest
Available image tags track release tags in GitHub, and include latest
,
0.1.0
, 0.2.0
, 0.2.1
, 0.2.2
, and 0.3.0
.
A workflow written in the workflow description language (WDL) is available for CellBender remove-background.
For Terra users, a workflow called
cellbender/remove-background
is
available from the Broad Methods repository.
There is also a version available on Dockstore.
Create a conda environment and activate it:
$ conda create -n cellbender python=3.7
$ conda activate cellbender
Install the pytables module:
(cellbender) $ conda install -c anaconda pytables
Install pytorch via these instructions, for example:
(cellbender) $ pip install torch
and ensure that your installation is appropriate for your hardware (i.e. that
the relevant CUDA drivers get installed and that torch.cuda.is_available()
returns True
if you have a GPU available.
Clone this repository and install CellBender (in editable -e
mode):
(cellbender) $ git clone https://github.com/broadinstitute/CellBender.git
(cellbender) $ pip install -e CellBender
This can be achieved via
(cellbender) $ pip install --no-cache-dir -U git+https://github.com/broadinstitute/CellBender.git@<SHA>
where <SHA>
must be replaced by any reference to a particular git commit,
such as a tag, a branch name, or a commit sha.
If you use CellBender in your research (and we hope you will), please consider citing our paper in Nature Methods:
Stephen J Fleming, Mark D Chaffin, Alessandro Arduini, Amer-Denis Akkad, Eric Banks, John C Marioni, Anthony A Phillipakis, Patrick T Ellinor, and Mehrtash Babadi. Unsupervised removal of systematic background noise from droplet-based single-cell experiments using CellBender. Nature Methods, 2023. https://doi.org/10.1038/s41592-023-01943-7
See also our preprint on bioRxiv.