Deseq2 Resul variation by LFC variation
1
0
Entering edit mode
@d4e27e3c
Last seen 2 days ago
United Kingdom

Hi all, In the analysis of differentially expressed genes with Deseq2 I would like to understand :

1. what is the difference between Value and Padj?
2. Would an analysis based only on Padj < 0.05 give a result with less FDR than an analysis with LFC > 1 and Padj < 0.05?

3. When I generate a list of genes by differential expression with these Padj and their LFC with the code below:

DMSO_WT_vs_GNF_WT =results(dds_ALL,contrast = c("genotype","TreatedWT","UntreatedWT"),lfcThreshold = 1,alpha = 0.05)
summary(DMSO_WT_vs_GNF_WT,rm.na = TRUE)

treshlod <-DMSO_WT_vs_GNF_WT$padj < 0.05 & abs(DMSO_WT_vs_GNF_WT$log2FoldChange) > 1
treshlod
DMSO_WT_vs_GNF_WT$treshlod<-treshlod DMSO_WT_vs_GNF_WT <- data.frame(subset(DMSO_WT_vs_GNF_WT,treshlod==TRUE)) DMSO_WT_vs_GNF_WT write.csv(DMSO_WT_vs_GNF_WT, file="Untreated_WT_vs_Treated_WT_.csv") write.csv(rownames(DMSO_WT_vs_GNF_WT) , file="Untreated_WT_vs_Treated_WT_ID.csv",row.names = FALSE) Result exemple : gene 1 LFC = 5 However I notice a slight difference for the same gene between the CFLs if I use the code with CFL > 2 instead of 1: DMSO_WT_vs_GNF_WT =results(dds_ALL,contrast = c("genotype","TreatedWT","UntreatedWT"),lfcThreshold = 2,alpha = 0.05) summary(DMSO_WT_vs_GNF_WT,rm.na = TRUE) head(DMSO_WT_vs_GNF_WT) treshlod <-DMSO_WT_vs_GNF_WT$padj < 0.05 & abs(DMSO_WT_vs_GNF_WT$log2FoldChange) > 2 treshlod DMSO_WT_vs_GNF_WT$treshlod<-treshlod
DMSO_WT_vs_GNF_WT <- data.frame(subset(DMSO_WT_vs_GNF_WT,treshlod==TRUE))
DMSO_WT_vs_GNF_WT
write.csv(DMSO_WT_vs_GNF_WT,
file="Untreated_WT_vs_Treated_WT_.csv")
write.csv(rownames(DMSO_WT_vs_GNF_WT) ,
file="Untreated_WT_vs_Treated_WT_ID.csv",row.names = FALSE)

Result exemple : gene 1 LFC = 4.8

So how can I explain this slight difference?

rnaseqGene DESeq2 Transcriptomics • 54 views
1
Entering edit mode
@mikelove
Last seen 9 hours ago
United States

The workflow definitely covers the difference between pvalue and adjusted p-value, please read the multiple testing section there first.

Restricting the LFC will give equal or fewer DEG.

The LFC is the same regardless of how you threshold. Just look it up directly in the results table, rather than writing it out. Maybe you are rounding it at some point outside of DESeq2:

res[ "gene-name-here", "log2FoldChange" ]