This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Mean count in DESeq2 result summary

Hello,

Could anyone please explain what the mean count in the summary of DESeq2 results is calculated please? I thought i meant the mean of normalised read counts of all genes used in the analysis but it doesn't seem so.

summary(res)

out of 22868 with nonzero total read count

adjusted p-value < 0.1

LFC > 0 (up) : 1448, 6.3%

LFC < 0 (down) : 1092, 4.8%

outliers [1] : 37, 0.16%

low counts [2] : 12110, 53%

(mean count < 40.3) <<<<< * this mean count *

[1] see 'cooksCutoff' argument of ?results

[2] see 'independentFiltering' argument of ?results

Thank you in advance,

rna-seq

1 answer

It should relate to the mean of normalsed counts across all samples, not just those that you are comparing via results.

Here is the proof:

Check mean of normalised counts across entire dataset

apply(norm, 1, mean)[1:10]
   A1BG_protein_coding    A1CF_protein_coding   A2ML1_protein_coding 
            0.22956887             3.04713840             1.60183727 
    A2M_protein_coding A3GALT2_protein_coding  A4GALT_protein_coding 
            0.04976802             0.17302601             7.88745689 
   AAAS_protein_coding    AACS_protein_coding   AADAT_protein_coding 
          252.53146033           279.67821698             0.42314705 
  AAED1_protein_coding 
           45.81686538

Check mean reported in different results objects:

deg8$baseMean[1:10]
 [1]   0.22956887   3.04713840   1.60183727   0.04976802   0.17302601
 [6]   7.88745689 252.53146033 279.67821698   0.42314705  45.81686538

deg9$baseMean[1:10]
 [1]   0.22956887   3.04713840   1.60183727   0.04976802   0.17302601
 [6]   7.88745689 252.53146033 279.67821698   0.42314705  45.81686538

deg10$baseMean[1:10]
 [1]   0.22956887   3.04713840   1.60183727   0.04976802   0.17302601
 [6]   7.88745689 252.53146033 279.67821698   0.42314705  45.81686538

Check that all are equal:

table(apply(norm, 1, mean) == deg8$baseMean)
 TRUE 
18062 

table(apply(norm, 1, mean) == deg9$baseMean)
 TRUE 
18062 

table(apply(norm, 1, mean) == deg10$baseMean)
 TRUE 
18062

Kevin

Log in to answer this question.