DESeq2 Design Model and Results Function Set-Up
1
0
Entering edit mode
3.8 years ago
gmchaput ▴ 10

I am having a hard time wrapping my brain around how to structure my results() and if it's even possible.

My design is:

design(dds) = ~ soilmoisture + fungal_tr + soilmoisture:fungal_tr

My understanding for results() is that:

(1) The fungal effect for soilmoisture W (the main effect):

results(dds2, contrast=c("fungal_tr","Fungus1","Sterile_Control")

(2) The fungal effect for soilmoisture D; this is, by definition, the main effect (W) plus the interaction term (the extra fungal effect in soilmoisture D compared to soilmoisture W):

results(dds, list(c("fungal_tr_Fungus1_vs_Sterile_Control","soilmoistureD.fungal_trFungus1"))

The two examples above always compare Fungus 1 to the Sterile Control within W or within D.

However, is it possible to look at the differential expression of Fungus1 between W vs D and still account for the baseline of the sterile control? Or do I have to run DESeq2 like above, and then take the DEG raw counts and rerun DESeq2 to compare the difference between soil moisture?

deseq2 rnaseq • 755 views
ADD COMMENT
0
Entering edit mode
3.8 years ago

Your interpretation of (1) and (2) is correct. For the final part, I think that you want to obtain the results for the interaction term (no?), which should be:

results(dds, name = 'fungal_tr_Fungus1.soilmoistureD')

This basically returns the fungal effect across the two soil moisture types (tests if the fungal effect is different across the two soil moisture types).

Kevin

ADD COMMENT
0
Entering edit mode

Thanks Kevin for the quick reply! I thought of using the interaction effect too except I think that doesn't take into consideration the Sterile Control base expression. Ideally we want to compare the differential expression of Fungus 1 between W and D after accounting for the Sterile Control expression in W and D. Does that make sense?

ADD REPLY
1
Entering edit mode

I see what you mean - these questions are frequently asked, as you can probably see. I do think that the Sterile Control is taken into account in the interaction term, though. It is always difficult to put into language what is going on at the level of the model. To describe the interaction term in another way for your data, it would be that the interaction term aims to determine the difference between the fungal effect (Fungus1 vs Control) in W and D, or:

         [D]                            [W]
(Fungus1 vs Sterile_Control) - (Fungus1 vs Sterile_Control)

To help, it is acceptable to merge your two factors together into a single factor via paste() or paste0() and then perform more basic comparisons in this way.

You could also ask this on Bioconductor Support forum, where the DESeq2 developer is responsive. If you do this, you could link back to this thread.

I think that the following text from the vignette helps to clarify it:

The key point to remember about designs with interaction terms is that, unlike for a design ~genotype + condition, where the condition effect represents the overall effect controlling for differences due to genotype, by adding genotype:condition, the main condition effect only represents the effect of condition for the reference level of genotype (I, or whichever level was defined by the user as the reference level). The interaction terms genotypeII.conditionB and genotypeIII.conditionB give the difference between the condition effect for a given genotype and the condition effect for the reference genotype.

ADD REPLY

Login before adding your answer.

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