Search
Question: log2FoldChange calculation in DESeq2 output
0
2.8 years ago by
keerthisannareddy0 wrote:

I ran DESeq2 analysis( DESeq2_1.8.2 ) with count data for a chip-seq project(comparing ctrl vs trt with no replicates). All padj values are 0.99. The log2FoldChanges seem to be incorrectly calculated and for the same reason I believe some regions don't show up as significantly differentially expressed(p>0.05) although there is a large fold change between the ctrl and trt.

sample counts data,ctrl and trt

group10810    55    1742
group10811    69    2829

normalized counts, ctrl and trt are cols

group10810    77.7817459305202    1231.78001282697
group10811    97.5807358037436    2000.40508397674

deseq2 output,

group_id    baseMean    log2FoldChange    lfcSE    stat    pvalue    padj
group10810    654.7808793787    -0.4367988107    0.4351310663    -1.0038327404    0.3154592404    0.9999999545
group10811    1048.9929098902    -0.4066302582    0.4179425577    -0.9729333629    0.3305864221    0.9999999545
Steps in deseq2 analysis
dds<-DESeqDataSetFromMatrix(countData = countData, colData = colData, design = ~condition)
dds <- dds[ rowSums(counts(dds)) > 1, ]
dds <- DESeq(dds)
normalizedCounts<-as.data.frame(counts(dds, normalized = TRUE))
res <- results(dds)

Thanks for the help.

modified 2.8 years ago by Michael Love20k • written 2.8 years ago by keerthisannareddy0
0
2.8 years ago by
Michael Love20k
United States
Michael Love20k wrote:
Hi Keerti, The default log fold change calculated by DESeq2 use statistical techniques to "moderate" or shrink imprecise estimates toward zero. So these are not simple ratios of normalized counts (for more details see vignette or for full details see DESeq2 paper). You can obtain standard log fold changes (no shrinkage) by using: DESeq(dds, betaPrior=FALSE)

When calculating fold change how is the reference group determined?

1

This is discussed in the vignette and workflow