Skip to content

CellBender is a software package for eliminating technical artifacts from high-throughput single-cell RNA sequencing (scRNA-seq) data.

License

Notifications You must be signed in to change notification settings

nfancy/CellBender

 
 

Repository files navigation

CellBender

License Documentation Status PyPI Downloads Stars

CellBender Logo

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.

Installation and Usage

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.

Using The Official Docker Image

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.

WDL Users

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.

Advanced installation

From source for development

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

From a specific commit

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.

Citing CellBender

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.

About

CellBender is a software package for eliminating technical artifacts from high-throughput single-cell RNA sequencing (scRNA-seq) data.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 96.7%
  • WDL 2.2%
  • Other 1.1%