edgeR GLM design question: contrasts
2
0
Entering edit mode
jwi • 0
@jwi-9596
Last seen 6.6 years ago

Hello,

I have a multifactor dataset with the variables "genotype" (2 levels) and "treatment" (2 levels). To ask the question "what genes respond differently to treatment based on genotype?" we have the following contrast:

Interact_Strain.Exposure = ((control.GenotypeA - treatment.GenotypeA) - (control.GenotypeB - treatment.GenotypeB))

However, we would also like to ask "what genes respond similarly to treatment based on genotype?".

How would we make this comparison?

edger GLM • 858 views
0
Entering edit mode

this looks like an edgeR usage question, so I've removed the DESeq2 tag.

0
Entering edit mode
Aaron Lun ★ 27k
@alun
Last seen 4 hours ago
The city by the bay

Your second question is much harder to answer, as the DE testing machinery in edgeR is built to, well, test for differential expression. If you want to rigorously identify non-DE genes, there's some fancy stuff one could do with two one-sided tests, but this tends to be quite conservative (and you have to fiddle with a log-FC threshold anyway). In general, an informal approach is often sufficient for most applications, i.e., screen for genes with a large p-value and a low log-fold change using the same contrast in your original post. Obviously, this isn't perfect as absence of DE is not evidence of non-DE, but it'll get you most of the way to where you want to go.

0
Entering edit mode
jwi • 0
@jwi-9596
Last seen 6.6 years ago

If we took an informal approach and screened for genes with a large p-value and a low logFC following the interaction test, wouldn't this also identify genes that did NOT change in response to treatment in either strain? Ideally, we would want a way to find genes that changed in response to treatment in both strains, but changed in the same way (e.g. increased in expression in both strains or decreased in expression in both strains).

Thanks!

0
Entering edit mode

Yes, it would. The pedant in me would say that this is correct, because the response to treatment is similar in both strains (i.e., equal to zero in both). More practically, though, you can identify responsive genes with an ANOVA-like contrast:

con <- makeContrasts(control.GenotypeA - treatment.GenotypeA,
control.GenotypeB - treatment.GenotypeB, levels=design)

... and then intersect the resulting DE genes with the non-DE set from the contrast in your original post. An ANOVA-like contrast provides more power by combining evidence for DE across both genotypes, compared to testing each genotype separately.