Hi,
I am analyzing single nuclei RNA-seq of patient biopsies. The samples are tumor metastases in the liver. 3 patients, 2 samples form each.
I processed the data with CellBender for ambient estimation and removal, followed by Seurat's standard pipeline (keep only cells with >1000 counts and <50% ambient contamination ) and integration. For one patient, both samples are 100% tumor. However, for the other two patients, both of their samples were 100% liver tissue and they had no (apparent) cell clusters containing tumor cells (or markers from the tumor tissue of origin).
Looking further into the data, I checked the ambient RNA profile generated by CellBender. I noticed that, for both samples deemed 100% liver, their ambient profile contained plenty of tumor marker genes as the top genes.
This tells me that A) the tumor cells were more fragile and they broke more during nuclei dissociation, and B) whatever "good quality" tumor nuclei I have left in the data has been masked as being ambient RNA.
So, I suspect that the good quality tumor nuclei have had a disproportionate amount of their counts removed by CellBender, and then they could not pass neither of my >1000 counts or <50% ambient filters.
I am also analyzing the data without doing ambient RNA correction. However, then I find plenty of cells expressing both tumor and hepatocyte markers, which looks clearly like ambient contamination. So, I need to apply proper ambient removal on some cells, while skipping it completely in others.
Is there any method aware of unbalanced ambient RNA composition that could help with this?
1 answer
Your <50% ambient filter is circular, and that's the immediate problem: when the soup is tumour-derived, a genuine tumour nucleus is guaranteed to score as high-ambient, so that filter deletes exactly the population you're looking for. Call cells on the raw counts and use the CellBender matrix only for expression, rather than filtering on corrected counts.
For actually finding the tumour nuclei I'd drop markers and use copy number - inferCNV or Numbat on the uncorrected matrix. A real tumour nucleus carries a coherent aneuploid profile across whole chromosome arms, whereas a droplet full of soup averages out and looks diploid. That's a signal orthogonal to expression, so it separates the two things marker-based correction can't. Your 100% tumour patient also gives you a within-study profile to sanity-check the calls against.
Nearer to what you actually asked: SoupX estimates rho per cluster from genes you know a given cell type shouldn't express, rather than assuming one global ambient profile the way CellBender does.
Log in to answer this question.