<p>As mentioned in the comments, an example of your inputs, outputs and their difference would be a good addition to your question. Moreover, the cell calling changed in CellRanger v3 compared to V2.</p>
<p>There are several differences in how CellRanger and CellBender filter out empty droplets and call cells. Both methods are either published or available as preprints, so you can learn much more about them especially if you're interested in the technical aspects.</p>
<p>CellRanger v3 uses a procedure largely based on the emptyDrops algorithm (<a href="https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1662-y" rel="nofollow noreferrer">Lun et al. 2019</a>).</p>
<p>Briefly, the algorithm calculates an &quot;ambient profile&quot; by summing all the read counts belonging to barcodes with a total read count below a threshold. Then, it compares each barcode to this ambient profile, testing for the similarity of the distribution of a barcode's counts to the ambient's.
CellRanger v3 does not implement exactly the same thresholds and will give you slightly different results than emptyDrops. CellRanger v2, on the other hand, used hard thresholds (based on knee point or the inflection point of the barcode ranks) which is less precise and biologically justifiable.</p>
<p>CellBender (<a href="https://www.biorxiv.org/content/10.1101/791699v2" rel="nofollow noreferrer">Fleming et al. 2022</a>) uses a different procedure, in that it uses a deep learning model to learn suitable priors for ambient count distribution, and uses a different statistical model to call cells. The authors of CellBender compare their method to CellRanger and emptyDrops, so you can see for yourself how different the results are (on control datasets).</p>
<p>Additionally, one of the differences is that CellBender will give you &quot;corrected counts&quot;, i.e. it will subtract the estimated ambient profile from the &quot;real&quot; profile. In other words, it will remove the background noise and give you counts that are (supposedly) only coming from good cells.</p>
<p>Just keep in mind that whether or not &quot;corrected counts&quot; are good to use for downstream applications (HVG identification, clustering, etc.) is debatable (see <a href="http://bioconductor.org/books/3.13/OSCA.multisample/ambient-problems.html#subtracting-ambient-counts" rel="nofollow noreferrer">here</a> for a discussion).</p>
<p>A reasonable compromise is to flag genes with high ambient contaminations so that you know whether to trust the result of e.g. a differential expression test or a marker finding procedure.</p>

CC BY-SA 4.0
2023-02-06T08:31:12.337Z
2023-02-06T08:31:12.337Z
gdagstn
<p>When I use cellranger or cellbender to filter cell from raw RNA count matrix, the results they output are allways different. Each of then can call some cells not appearing in other's result. SO, how do cellranger and cellbender call cells? What is the difference between them?</p>

CC BY-SA 4.0
2023-02-03T12:12:34.393Z
Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.
Community
CC BY-SA 4.0
2023-02-03T17:45:45.640Z
Do you have any examples of this that you can use to demonstrate the difference?
gringer
CC BY-SA 4.0
2023-09-15T20:31:57.567Z
This is a comprehensive answer @ChengLyu please do consider accepting it (green tick box). It helps site stats, other users and the member answering
M__
<scrnaseq><cellranger>
How do cellranger and cellbender call cells? What is the difference between them?
# How do cellranger and cellbender call cells? What is the difference between them?

(Asked by: username_0 on 2023-02-03)

When I use cellranger or cellbender to filter cell from raw RNA count matrix, the results they output are allways different. Each of then can call some cells not appearing in other's result. SO, how do cellranger and cellbender call cells? What is the difference between them?

**Tags:** scrnaseq, cellranger
> **Comments:**
> **username_1**: Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.  
> **username_2**: Do you have any examples of this that you can use to demonstrate the difference?  
> **username_3**: This is a comprehensive answer @ChengLyu please do consider accepting it (green tick box). It helps site stats, other users and the member answering  

---

## 1 answers

### Answer by username_4 on 2023-02-06. Score: 1

As mentioned in the comments, an example of your inputs, outputs and their difference would be a good addition to your question. Moreover, the cell calling changed in CellRanger v3 compared to V2.

There are several differences in how CellRanger and CellBender filter out empty droplets and call cells. Both methods are either published or available as preprints, so you can learn much more about them especially if you're interested in the technical aspects.

CellRanger v3 uses a procedure largely based on the emptyDrops algorithm ([Lun et al. 2019](https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1662-y)).

Briefly, the algorithm calculates an "ambient profile" by summing all the read counts belonging to barcodes with a total read count below a threshold. Then, it compares each barcode to this ambient profile, testing for the similarity of the distribution of a barcode's counts to the ambient's.
CellRanger v3 does not implement exactly the same thresholds and will give you slightly different results than emptyDrops. CellRanger v2, on the other hand, used hard thresholds (based on knee point or the inflection point of the barcode ranks) which is less precise and biologically justifiable.

CellBender ([Fleming et al. 2022](https://www.biorxiv.org/content/10.1101/791699v2)) uses a different procedure, in that it uses a deep learning model to learn suitable priors for ambient count distribution, and uses a different statistical model to call cells. The authors of CellBender compare their method to CellRanger and emptyDrops, so you can see for yourself how different the results are (on control datasets).

Additionally, one of the differences is that CellBender will give you "corrected counts", i.e. it will subtract the estimated ambient profile from the "real" profile. In other words, it will remove the background noise and give you counts that are (supposedly) only coming from good cells.

Just keep in mind that whether or not "corrected counts" are good to use for downstream applications (HVG identification, clustering, etc.) is debatable (see [here](http://bioconductor.org/books/3.13/OSCA.multisample/ambient-problems.html#subtracting-ambient-counts) for a discussion).

A reasonable compromise is to flag genes with high ambient contaminations so that you know whether to trust the result of e.g. a differential expression test or a marker finding procedure.


---

