1
1
CellBender
2
2
==========
3
3
4
+ .. image :: https://img.shields.io/github/license/broadinstitute/CellBender?color=white
5
+ :target: LICENSE
6
+ :alt: License
7
+
4
8
.. image :: https://readthedocs.org/projects/cellbender/badge/?version=latest
5
9
:target: https://cellbender.readthedocs.io/en/latest/?badge=latest
6
10
:alt: Documentation Status
7
11
8
- .. image :: https://github.com/broadinstitute/CellBender/blob/master/docs/source/_static/design/logo_250_185.png
12
+ .. image :: https://img.shields.io/pypi/v/CellBender.svg
13
+ :target: https://pypi.org/project/CellBender
14
+ :alt: PyPI
15
+
16
+ .. image :: https://static.pepy.tech/personalized-badge/cellbender?period=total&units=international_system&left_color=grey&right_color=blue&left_text=pypi%20downloads
17
+ :target: https://pepy.tech/project/CellBender
18
+ :alt: Downloads
19
+
20
+ .. image :: https://img.shields.io/github/stars/broadinstitute/CellBender?color=yellow&logoColor=yellow)
21
+ :target: https://github.com/broadinstitute/CellBender/stargazers
22
+ :alt: Stars
23
+
24
+ .. image :: docs/source/_static/design/logo_250_185.png
9
25
:alt: CellBender Logo
10
26
11
27
CellBender is a software package for eliminating technical artifacts from
@@ -16,67 +32,123 @@ The current release contains the following modules. More modules will be added i
16
32
* ``remove-background ``:
17
33
18
34
This module removes counts due to ambient RNA molecules and random barcode swapping from (raw)
19
- UMI-based scRNA-seq count matrices. At the moment, only the count matrices produced by the
20
- CellRanger ``count `` pipeline is supported. Support for additional tools and protocols will be
21
- added in the future. A quick start tutorial can be found
22
- `here <https://cellbender.readthedocs.io/en/latest/getting_started/remove_background/index.html >`_.
35
+ UMI-based scRNA-seq count matrices. Also works for snRNA-seq and CITE-seq.
23
36
24
- Please refer to the ` documentation <https://cellbender.readthedocs.io/en/latest/ >`_ for a quick start tutorial on using CellBender .
37
+ Please refer to ` the documentation <https://cellbender.readthedocs.io/en/latest/ >`_ for a quick start tutorial.
25
38
26
39
Installation and Usage
27
40
----------------------
28
41
29
- Manual installation
30
- ~~~~~~~~~~~~~~~~~~~
42
+ CellBender can be installed via
43
+
44
+ .. code-block :: console
45
+
46
+ $ pip install cellbender
47
+
48
+ (and we recommend installing in its own ``conda `` environment to prevent
49
+ conflicts with other software).
50
+
51
+ CellBender is run as a command-line tool, as in
52
+
53
+ .. code-block :: console
54
+
55
+ (cellbender) $ cellbender remove-background \
56
+ --cuda \
57
+ --input my_raw_count_matrix_file.h5 \
58
+ --output my_cellbender_output_file.h5
59
+
60
+ See `the usage documentation <https://cellbender.readthedocs.io/en/latest/usage/index.html >`_
61
+ for details.
62
+
63
+
64
+ Using The Official Docker Image
65
+ -------------------------------
66
+
67
+ A GPU-enabled docker image is available from the Google Container Registry (GCR) as:
68
+
69
+ ``us.gcr.io/broad-dsde-methods/cellbender:latest ``
70
+
71
+ Available image tags track release tags in GitHub, and include ``latest ``,
72
+ ``0.1.0 ``, ``0.2.0 ``, ``0.2.1 ``, ``0.2.2 ``, and ``0.3.0 ``.
73
+
74
+
75
+ WDL Users
76
+ ---------
77
+
78
+ A workflow written in the
79
+ `workflow description language (WDL) <https://github.com/openwdl/wdl >`_
80
+ is available for CellBender remove-background.
81
+
82
+ For `Terra <https://app.terra.bio >`_ users, a workflow called
83
+ ``cellbender/remove-background `` is
84
+ `available from the Broad Methods repository
85
+ <https://portal.firecloud.org/#methods/cellbender/remove-background/> `_.
86
+
87
+ There is also a `version available on Dockstore
88
+ <https://dockstore.org/workflows/github.com/broadinstitute/CellBender> `_.
31
89
32
- The recommended installation is as follows. Create a conda environment and activate it:
33
90
34
- .. code-block :: bash
91
+ Advanced installation
92
+ ---------------------
35
93
36
- $ conda create -n cellbender python=3.7
37
- $ source activate cellbender
94
+ From source for development
95
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
96
+
97
+ Create a conda environment and activate it:
98
+
99
+ .. code-block :: console
100
+
101
+ $ conda create -n cellbender python=3.7
102
+ $ conda activate cellbender
38
103
39
104
Install the `pytables <https://www.pytables.org >`_ module:
40
105
41
- .. code-block :: bash
106
+ .. code-block :: console
107
+
108
+ (cellbender) $ conda install -c anaconda pytables
42
109
43
- (cellbender) $ conda install -c anaconda pytables
110
+ Install `pytorch <https://pytorch.org >`_ via
111
+ `these instructions <https://pytorch.org/get-started/locally/ >`_, for example:
44
112
45
- Install `pytorch <https://pytorch.org >`_ (shown below for CPU; if you have a CUDA-ready GPU, please skip
46
- this part and follow `these <https://pytorch.org/get-started/locally/ >`_ instructions instead):
113
+ .. code-block :: console
47
114
48
- .. code-block :: bash
115
+ (cellbender) $ pip install torch
49
116
50
- (cellbender) $ conda install pytorch torchvision -c pytorch
117
+ and ensure that your installation is appropriate for your hardware (i.e. that
118
+ the relevant CUDA drivers get installed and that ``torch.cuda.is_available() ``
119
+ returns ``True `` if you have a GPU available.
51
120
52
- Clone this repository and install CellBender:
121
+ Clone this repository and install CellBender (in editable `` -e `` mode) :
53
122
54
- .. code-block :: bash
123
+ .. code-block :: console
55
124
125
+ (cellbender) $ git clone https://github.com/broadinstitute/CellBender.git
56
126
(cellbender) $ pip install -e CellBender
57
127
58
- Using The Official Docker Image
59
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60
128
61
- A GPU-enabled docker image is available from the Google Container Registry (GCR) as:
129
+ From a specific commit
130
+ ~~~~~~~~~~~~~~~~~~~~~~
62
131
63
- `` us.gcr.io/broad-dsde-methods/cellbender:latest ``
132
+ This can be achieved via
64
133
65
- Terra Users
66
- ~~~~~~~~~~~
134
+ .. code-block :: console
67
135
68
- For `Terra <https://app.terra.bio >`_ users, a `workflow <https://portal.firecloud.org/#methods/cellbender/remove-background/ >`_
69
- is available as:
136
+ (cellbender) $ pip install --no-cache-dir -U git+https://github.com/broadinstitute/CellBender.git@<SHA>
70
137
71
- ``cellbender/remove-background ``
138
+ where ``<SHA> `` must be replaced by any reference to a particular git commit,
139
+ such as a tag, a branch name, or a commit sha.
72
140
73
141
74
142
Citing CellBender
75
143
-----------------
76
144
77
145
If you use CellBender in your research (and we hope you will), please consider
78
- citing `our paper on bioRxiv <https://doi.org/10.1101/791699 >`_.
146
+ citing our paper in Nature Methods:
147
+
148
+ Stephen J Fleming, Mark D Chaffin, Alessandro Arduini, Amer-Denis Akkad,
149
+ Eric Banks, John C Marioni, Anthony A Phillipakis, Patrick T Ellinor,
150
+ and Mehrtash Babadi. Unsupervised removal of systematic background noise from
151
+ droplet-based single-cell experiments using CellBender.
152
+ `Nature Methods `, 2023. https://doi.org/10.1038/s41592-023-01943-7
79
153
80
- Stephen J Fleming, John C Marioni, and Mehrtash Babadi. CellBender remove-background:
81
- a deep generative model for unsupervised removal of background noise from scRNA-seq
82
- datasets. bioRxiv 791699; doi: `https://doi.org/10.1101/791699 <https://doi.org/10.1101/791699 >`_
154
+ See also `our preprint on bioRxiv <https://doi.org/10.1101/791699 >`_.
0 commit comments