The cell calling algorithm

Barcodes with a high number of reads are always retained as cell-containing droplets. If Specify minimum number of reads for barcodes to be retained is disabled (see Empty droplets filter), the automatically estimated knee is used for detecting such barcodes. The knee is identified from the smoothed log-log rank data (figure 5.9) where the barcodes considered to only contain ambient RNA are removed. An adaptation of the [Satopaa et al., 2011] algorithm implemented in https://github.com/mariolpantunes/ml is used.

The algorithm for testing if barcodes with an intermediate number of reads are cells is based on EmptyDrops [Lun et al., 2019]: