Low basemean and extremely high log2FC values, DESeq2
1
0
Entering edit mode
g.wang2 • 0
@gwang2-19579
Last seen 20 months ago
United Kingdom

Hello there,

In a recent DESeq2 analysis, I've observed some low basemean values between 0.20 and 0.45 with the absolute log2FC values being around 20 or above in experimental conditions (i.e. Base2 vs Base1 and During 1 vs Base1 conditions) expecting no or small differences. I post below the summary outputs of all comparisons, including the 2 comparisons in question and another 2 comparisons with reasonable values/results. Briefly, Illumina RNA-seq was conducted in 10 subjects x 5 timepoints (2 baseline, 2 during, 1 post intervention).

In addition to the automatic independent filtering in the results function, a minimal pre filtering has been applied using dds<-dds[rowSums(counts(dds))>10,] given the DESeq2 manual.

How may I interpret the low basemean and very high log2FC values in comparisons expecting minor differences? Is it safe to ignore these findings with low basemeans but highly significantly expressed? what may be a reasonable basemean cut-off to be considered for filtering the final results? Many thanks for any advice.

> resb2b1_005<-results(dds2,name="Condition_Base2_vs_Base1",alpha=0.05)
> summary(resb2b1_005)

out of 30069 with nonzero total read count
adjusted p-value < 0.05
LFC > 0 (up)       : 2, 0.0067%
LFC < 0 (down)     : 9, 0.03%
outliers [1]       : 0, 0%
low counts [2]     : 0, 0%
(mean count < 0)
[1] see 'cooksCutoff' argument of ?results
[2] see 'independentFiltering' argument of ?results

> rese3b1_005<-results(dds2,name="Condition_During1_vs_Base1",alpha=0.05)
> summary(resd1b1_005)

out of 30069 with nonzero total read count
adjusted p-value < 0.05
LFC > 0 (up)       : 2, 0.0067%
LFC < 0 (down)     : 6, 0.02%
outliers [1]       : 0, 0%
low counts [2]     : 0, 0%
(mean count < 0)
[1] see 'cooksCutoff' argument of ?results
[2] see 'independentFiltering' argument of ?results

> rese4b1_005<-results(dds2,name="Condition_During2_vs_Base1",alpha=0.05)
> summary(resd2b1_005)

out of 30069 with nonzero total read count
adjusted p-value < 0.05
LFC > 0 (up)       : 2890, 9.6%
LFC < 0 (down)     : 2947, 9.8%
outliers [1]       : 0, 0%
low counts [2]     : 11660, 39%
(mean count < 7)
[1] see 'cooksCutoff' argument of ?results
[2] see 'independentFiltering' argument of ?results

> resp7b1_005<-results(dds2,name="Condition_Post_vs_Base1",alpha=0.05)
> summary(respb1_005)

out of 30069 with nonzero total read count
adjusted p-value < 0.05
LFC > 0 (up)       : 2475, 8.2%
LFC < 0 (down)     : 2559, 8.5%
outliers [1]       : 0, 0%
low counts [2]     : 11077, 37%
(mean count < 6)
[1] see 'cooksCutoff' argument of ?results
[2] see 'independentFiltering' argument of ?results
deseq2 interpretation • 1.9k views
ADD COMMENT
0
Entering edit mode
@mikelove
Last seen 11 hours ago
United States

You can use lfcShrink() to give more accurate LFCs. Take a look at the sections about LFC shrinkage in the vignette. This is the whole point of the method.

ADD COMMENT

Login before adding your answer.

Traffic: 792 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6