quantile normalization in deseq2
1
0
Entering edit mode
17 months ago

Ciao,

Hope all you are having a good day :)

I was curious to understand how to analyse rna-seq data coming from multiple experiments using Deseq2. So initially I had 3 disease vs 3 controls and this is how they clustered on a PCA plot :

Then I started looking into a second batch that has 5 disease vs 4 controls :

And ultimately when I want to analyse (differential gene expression analysis) all 15 samples at once this is how they cluster on the PCA plot :

The design formula is as follows :

design = ~batch + condition


The sequencing depth is different in both the batches. Can I incorporate quantile normalization on the data to reduce the variance between the same conditions?

Have a lovely day :)

quantile_normailzation Deseq2 rna-seq • 733 views
4
Entering edit mode
17 months ago
ATpoint 65k

Depth differences are handled by the default normalization strategy of DESeq2. What you have here seems to be a confounding by batch, so just adding this to the design should take care of it. You see separation between disease and control, but massive clustering by "experiment" which is expected. Try the usual diagnostic approach: Correct the batch (e.g. based on the vst or rlog counts) using removeBatchEffect from limma and repeat PCA. See whether this eliminates the confounding by experiment and preserves differences between disease and control. If so then include it into the design and run standard DE analysis. I see no reason to try custom approaches such as QN.

0
Entering edit mode

Thanks for your valuable response ATpoint !

Here's the PCA of the samples after removing the batch effect :

So please correct me if I'm wrong, the visualisation that we see by using removeBatchEffect from limma is the same as mentioning batch in the design formula of Deseq2 as mentioned in the post above, is that correct?

1
Entering edit mode

Well, not exactly the same but a sufficient proxy to decide whether including it into the design makes sense, from what I understand. Here that seems to be the case.