Question: DESeq2 baseMean counts
gravatar for zpingfeng
3.8 years ago by
zpingfeng0 wrote:

Hi Mike,

I wonder how did you calculate the "baseMean counts" in the output of DESeq2. I looked the Genome Biology paper and additional files, it seems you used mean counts or mean expression there. If you give the "baseMean counts" as an output, it seems you have normalised the data against gene lengths (RPKM), but I didn't input anything related to gene lengths in the analysis with DESeq2. Did you estimate gene lengths or just using a same length for all the genes or should it be "mean CPM counts"?


deseq2 • 15k views
ADD COMMENTlink modified 3.8 years ago by Michael Love25k • written 3.8 years ago by zpingfeng0
Answer: DESeq2 baseMean counts
gravatar for Michael Love
3.8 years ago by
Michael Love25k
United States
Michael Love25k wrote:
The base mean is the mean of normalized counts of all samples, normalizing for sequencing depth. It does not take into account gene length. The base mean is used in DESeq2 only for estimating the dispersion of a gene (it is used to estimate the fitted dispersion). For this task, the range of counts for a gene is relevant but not the gene's length (or other technical factors influencing the count, like sequence content).
ADD COMMENTlink written 3.8 years ago by Michael Love25k

But how is it calculated?

ADD REPLYlink written 3.5 years ago by Marcelo Pereira70
rowMeans(counts(dds, normalized=TRUE))

counts(dds, normalized=TRUE) is a matrix of elements: K_ij / s_j (see DESeq2 paper for definitions)

ADD REPLYlink written 3.5 years ago by Michael Love25k

If there were outliers replaced you also need replaced=TRUE. The following evaluates to TRUE:

all(rowMeans(counts(dds, normalized=TRUE, replaced=TRUE)) == res$baseMean)
ADD REPLYlink written 8 months ago by mlbendall0
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 143 users visited in the last hour