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.