How to identify latent variables in single-cell RNA-Seq data I have a single-cell RNASeq sample, in which I'd like to identify latent variables (e.g. response to stress) that I think might be affecting the clustering.

The approach I was planning to use is to reduce the dimensionality of the dataset using one algorithm among:


PCA
ICA
NMF


Then identify the most important biological processes for every component (e.g. in each Principal Component), and then finally regress out the processes that might not be relevant to the analysis or that might affect the downstream clustering.

I have a few questions:


Are there issues in this approach?
Is there a collection of gene sets (similar to MSigDB) that can be used to identify noise latent variables?
Which algorithm (PCA, ICA, NMF, or others) is more suited to this kind of analysis?
I think to identify latent variables, PCA is probably not going to work. NMF might be worth trying. You might want to check out a method called consensus NMF (cNMF) (https://elifesciences.org/articles/43803) published in eLife. The author described some latent variables corresponds to cell types, while others corresponds to cell-cycle or metabolic states of cells.