lifei176 / Single-cell-atlas-of-sex-differences-and-androgen-effects

MIT License
16 stars 7 forks source link

emptyDrops() usage #1

Open zoezhao1030 opened 5 months ago

zoezhao1030 commented 5 months ago

Hello!

Thank you for providing such a detailed script for data processing! The paper is very impressive.

I have a question about the usage of emptyDrops() in the Data_processing.R script. I saw that emptyDrops() was applied for each sample where the raw count matrix from each sample's Seuratobject was first extracted, then the second least RNA count was used as the lower bound, and lastly, emptyDrops() took in both the raw count matrix and the lower bound for each sample to identify empty droplets. My question is, was the SeuratObject of each sample created from the raw feature barcode matrix or the filtered feature barcode matrix from the CellRanger output?

Since I saw that the emptyDrops() from DropletUtils package is recommended to be used based on "a numeric matrix-like object - usually a dgTMatrix or dgCMatrix - containing droplet data prior to any filtering or cell calling". So I'm just here to make sure I understand the script correctly. Thank you so much for your help in advance!

lifei176 commented 5 months ago

Hello!

Thank you for providing such a detailed script for data processing! The paper is very impressive.

I have a question about the usage of emptyDrops() in the Data_processing.R script. I saw that emptyDrops() was applied for each sample where the raw count matrix from each sample's Seuratobject was first extracted, then the second least RNA count was used as the lower bound, and lastly, emptyDrops() took in both the raw count matrix and the lower bound for each sample to identify empty droplets. My question is, was the SeuratObject of each sample created from the raw feature barcode matrix or the filtered feature barcode matrix from the CellRanger output?

Since I saw that the emptyDrops() from DropletUtils package is recommended to be used based on "a numeric matrix-like object - usually a dgTMatrix or dgCMatrix - containing droplet data prior to any filtering or cell calling". So I'm just here to make sure I understand the script correctly. Thank you so much for your help in advance!

Thank you for your interest in our study. We agree that emptyDrops() from DropletUtils package is recommended to be used prior to any filtering. Our analysis experience reveal that emptyDrops() can really help identify low-quality cells from filtered feature barcode matrix. Additionally, we will carefully check the emptyDrops() results to avoid any misleading results. Hope this message can help you.