Classic threshold for log2 fold change in RNA-seq experiment
1
0
Entering edit mode
4.4 years ago
Mozart ▴ 330

Hello everyone, I know it may sound a little bit naive. But I have always being told that in order to get log2foldchange values in DESeq2, one would just need to set:

res$log2FoldChange) >= log2(1.5)

But is this actually correct? I mean your just calculating a smaller value than you would expect, right?

log2(1.5) is = 0.58 ≠ 1.5

Probably it's just me but I guess the correct way of getting values higher or equal than 1.5, in DESeq2 is banally:

res$log2FoldChange) >= 1.5
RNA-Seq • 6.6k views
ADD COMMENT
1
Entering edit mode

if you want Fold Change above 1.5 than you need to set the limit for log2FoldChange at log2(1.5), not 1.5.

ADD REPLY
3
Entering edit mode
4.4 years ago

Hi,

You told that:

I have always being told that in order to get log2foldchange values in DESeq2, one would just need to set:

res$log2FoldChange) >= log2(1.5)
  

Is this in the DESeq2 vignette?

So, I think there is two things that are important to discuss to touch in your question.

(1) Thresholds are at some extent arbitrarily chosen, like p-value<0.05, whereas others would say that this is not good enough and they prefer to be more stringent, and so they'll use p-value<0.01. Actually, in some particular situations a threshold of p-value<0.1 would be good enough. That said you need to understand that a threshold is at some extent arbitrary. In this case usually I see people saying that they "believe" that a gene is differently expressed if this gene has a FDR/adjusted p-value < 0.05 and a log2 fold-change higher or lower than 2. A log2 FC of 2 or -2 means a ratio of 4 or -4 between the two conditions being compared. Others would go for a less stringent threshold of >1 or <-1 that consists in a ratio of >2 or <-2, i.e., if gene A has a log2 FC of 1, it means that is expressed twice as much in treatment condition than control. Is this enough? Should I use a threshold of 1/-1 or 2/-2? Well it depends on you. You should not trust blindly on these thresholds.

(2) If you want to filter, do not forget that you have positive log2 FCs for the upregulated genes on the treatment condition, but you also have negative log2 FCs for downregulated genes on the treatment condition. If you want to filter differentially expressed genes based on log2 FC, you probably want to get both, let's say <-1.5 or >1.5. That said I think this command res$log2FoldChange) >= log2(1.5) does not make sense to me. Probably what people told you is that you can filter the log2 FC by a ratio of 1.5, and I guess what they mean was:

abs(res$log2FoldChange) >= 1.5 # this will return a logical of TRUE/FALSE for log2 FC <= -1.5 and >= 1.5

I hope this helps,

António

ADD COMMENT
1
Entering edit mode

I would like to add, that you will have to adjust the parameter in the results function of DESeq2, since the default setting is, testing whether the L2FC is significantly greater or lower 0.

For example:

results(ds_txi, contrast=("goup", "A","B"), alpha= 0.01, lfcTreshold= 0.58)
ADD REPLY

Login before adding your answer.

Traffic: 1712 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