<p>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) (<a href="https://elifesciences.org/articles/43803" rel="nofollow noreferrer">https://elifesciences.org/articles/43803</a>) published in eLife. The author described some latent variables corresponds to cell types, while others corresponds to cell-cycle or metabolic states of cells.</p>

CC BY-SA 4.0
2020-03-23T19:31:59.950Z
Thanks! I will read it now!
gc5
CC BY-SA 4.0
2020-03-23T19:09:27.177Z
2020-03-23T19:09:27.177Z
Phoenix Mu
<p>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.</p>

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

<ul>
<li>PCA</li>
<li>ICA</li>
<li>NMF</li>
</ul>

<p>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.</p>

<p>I have a few questions:</p>

<ul>
<li>Are there issues in this approach?</li>
<li>Is there a collection of gene sets (similar to MSigDB) that can be used to identify noise latent variables?</li>
<li>Which algorithm (PCA, ICA, NMF, or others) is more suited to this kind of analysis?</li>
</ul>

CC BY-SA 4.0
2020-03-19T21:11:59.543Z
..... PCA + tSNE
M__
CC BY-SA 4.0
2020-03-19T22:22:22.500Z
@Michael why tSNE? How do you use tSNE in such case?
gc5
CC BY-SA 4.0
2020-03-19T23:11:01.427Z
Its brilliant.... :-)
M__
CC BY-SA 4.0
2020-03-20T10:32:48.913Z
The larger question is how do you know you are regressing out the right stuff?
StupidWolf
CC BY-SA 4.0
2020-03-20T10:33:19.260Z
And if the so called latent variable is taking up so much of your variance... how can you be sure of the response of your interest
StupidWolf
CC BY-SA 4.0
2020-03-20T14:41:27.647Z
@StupidWolf it's a good point, however, I don't want to regress out the full Principal Component. I want to analyze which biological processes are driving the clustering and run the same analysis twice (non-regressed, and regressing only the biological processes of interest, e.g. cell cycle). My interest is more methodological (PCA, ICA and NMF work in slightly different ways, for example).
gc5
CC BY-SA 4.0
2020-03-20T17:24:21.230Z
Cool.. hmm very interesting actually. I try and find the suitable scRNAseq to give it a shot. Just to clarify, yes if it is cell cycle etc we can identity it, what if it's something more ambiguous? And about regressing it out, for finding clusters etc it's not a problem. If we need to do actual inference, I would include these as covariates
StupidWolf
<scrnaseq><clustering><pca><gene-ontology><noise>
How to identify latent variables in single-cell RNA-Seq data
# How to identify latent variables in single-cell RNA-Seq data

(Asked by: username_0 on 2020-03-19)

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?

**Tags:** scrnaseq, clustering, pca, gene-ontology, noise
> **Comments:**
> **username_1**: ..... PCA + tSNE  
> **username_0**: @Michael why tSNE? How do you use tSNE in such case?  
> **username_1**: Its brilliant.... :-)  
> **username_2**: The larger question is how do you know you are regressing out the right stuff?  
> **username_2**: And if the so called latent variable is taking up so much of your variance... how can you be sure of the response of your interest  
> **username_0**: @StupidWolf it's a good point, however, I don't want to regress out the full Principal Component. I want to analyze which biological processes are driving the clustering and run the same analysis twice (non-regressed, and regressing only the biological processes of interest, e.g. cell cycle). My interest is more methodological (PCA, ICA and NMF work in slightly different ways, for example).  
> **username_2**: Cool.. hmm very interesting actually. I try and find the suitable scRNAseq to give it a shot. Just to clarify, yes if it is cell cycle etc we can identity it, what if it's something more ambiguous? And about regressing it out, for finding clusters etc it's not a problem. If we need to do actual inference, I would include these as covariates  

---

## 1 answers

### Answer by username_3 on 2020-03-23. Score: 1 | Accepted answer

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.

> **Comments:**
> **username_0**: Thanks! I will read it now!  

---

