Dear All :
I use 10X to do the single cell RNA-seq . While I found that the algotithm in cellranger to call cells is not fit to my samples. And I compare cellranger 2.0 and cellranger 3.0 for the same sample and found the cells number are quite different. The expect cells for me is 6000 cells, cellranger 2.0 think there are 3442 cells , while cellranger 3.0 think there are 10275 cells. I think the version 2.0 are too less while version 3.0 too more, so I want to use DropletUtils Package to identify real cells compare to cell fragments background. I found two functions to do this things, "barcodeRanks" and "emptyDrops" .
For "barcodeRanks" , the cells above knee.point are 2082 cells, the cells above inflection.point are 4085 cells. While the "emptyDrops" function give me 8605 cells. In this case, I think the inflection.point is more reasonable.
My question is
(1) Can I only depend on the total UMIs threshold which above inflection.point to call it as real cells ?
(2) Why the methods are vary so much for the cell numbers ?
(3) I find that "emptyDrops" is similiar to cellranger 3.0 that it tend to give more cells in most cases. So which case should I choose to use "emptyDrops" ?
(4) Whats different between knee.point and inflection.point , does these two points are both OK to call cells ? I find in most case, the knee.point is little, the inflection.point is better !
(5) Now I have 8 samples, I want to find a uniformed method to call cells , but the 6 samples I think the infection.point are reasonable and suitable. And there is one sample I think the knee.point is better, while there is another sample that I think the "emptyDrops" is better. How can I do in this situation ? Can I use different methods in DropletUtils package to call cells depend on my samples of specific situation? Is that be allowed and admitted ?