Test if a gene is NOT differentially expressed in DESeq2?
1
0
Entering edit mode
penny.lane • 0
@pennylane-21859
Last seen 3 months ago
United States

First, my apologies if this has been covered already. I thought for sure it would have been, but I can't find the relevant info with my searches.

It's pretty obvious from the DESeq2 vignette how to test whether a gene is differentially expressed (DE) and how to do so at various LFC thresholds, but what if I want to determine which genes are not DE? Is there a way to tease apart the genes for which the null hypothesis is not rejected because the gene's expression has actually not changed vs the genes that just have too low read counts to make a determination?

Said another way, if I want to create 3 groups of genes, those (1) highly likely to be DE, (2) highly unlikely to be DE, and (3) with insufficient power to make a determination, how do I do that? Is there something more sophisticated I can do with DESeq2 than just applying a mean count cutoff to define the third class? Maybe use the LFC thresholds in some way?

DESeq2 deseq • 338 views
1
Entering edit mode
@james-w-macdonald-5106
Last seen 15 hours ago
United States

You could probably use a combination of lessAbs for the altHypothesis and filter on p-values (although the p-values will all probably be pretty large anyway).

0
Entering edit mode

Yes, agree with James. Check out altHypothesis="lessAbs". This is described in the paper and in vignette. You require sufficient power to have a small p-value with this null hypothesis.

0
Entering edit mode

OK, thanks both, that makes sense and I can see from the vignette now that I'd basically run some variant of this command to get those genes with evidence of weak change:

resLA <- results(dds, lfcThreshold=.5, altHypothesis="lessAbs")


If instead, and I neglected to include this aspect of the problem in my original post, I want to define the following 3 groups of genes, those (1) highly likely to be up-regulated (say >= 2-fold), (2) highly unlikely to be up-regulated, and (3) all others, can you recommend how I'd do that? I could get group #1 with the following, no?

resUp <- results(dds, lfcThreshold=1, altHypothesis="greater")


Is there a way to get group #2 with one or a combo of the other commands outlined in the lfcThreshold section of the vignette?

0
Entering edit mode

You would just use a combination of lessAbs and greaterAbs (default).