ASE using DESeq2
Entering edit mode
Last seen 3.0 years ago


I am using DESeq2 to analyse allele specifc expression in two different assays. I one of the assays I have six samples with no particular treatment, in the other assay I have 'colony' and 'body part' as blocking factors. Both assays have been analysed separately.

My approach up until now has been to perform the analysis normalising only by either sample, or by the blocking factors, avoiding normalisation by allele, as I assumed (and it actually does) this would get rid of most ASE differences.

Because allele expression comes from the same sample, I figured that normalisation by allele here is not only not needed, but also a bad idea. I know a similar issue has been addressed in Using edgeR or DESeq2 to analyze allele-specific expression?. And there the recommendation was to either not normalise at all (normalisation == 1) or to keep allele normalisation as other biases may still exist (e.g. mapping bias). I know for a fact, however, that mapping bias should not be a problem in my case.

My case is slightly different in that I have used normalisation factors, but I have forced DESeq2 to not use allele as a variable to normalise, like so:

dds_sample <- DESeqDataSetFromMatrix(countData = data, colData = colData, design = ~sample)
sample_fs <- sizeFactors(estimateSizeFactors(dds_sample))

dds_allele <- DESeqDataSetFromMatrix(countData = data, colData = colData, design = ~sample + allele)

sizeFactors(dds_allele) <- sample_fs
dds_allele <- estimateDispersions(dds_allele)
dds_allele <- nbinomWaldTest(dds_allele)

To me this makes sense, but I was wondering whether there is a fundamental error that I might have missed here and whether or not this would be good practice.

Thank you!


deseq2 deseq normalization allele specific expression rnaseq • 842 views
Entering edit mode

I'll come back to reply later, but in the meantime, here's a tutorial i wrote a while back:

Entering edit mode

Yeah, I'd recommend to follow the tutorial and come back if you have additional questions.

Entering edit mode
Simon Anders ★ 3.7k
Last seen 22 months ago
Zentrum für Molekularbiologie, Universi…

The estimateSizeFactor function does not use the design information. You will get the same size factors, no matter what design formula you specify. So, your code does not do what you think it does.

I could try to explain now how to do it correctly, but I guess Mike's write-up does tha job, so I let you read this first. Just come back if you still have questions afterwards


Login before adding your answer.

Traffic: 396 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6