Question: DESeq2 Design Model and Results Function Set-Up
gravatar for gmchaput
6 months ago by
gmchaput10 wrote:

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 • 167 views
ADD COMMENTlink modified 6 months ago by Kevin Blighe69k • written 6 months ago by gmchaput10
gravatar for Kevin Blighe
6 months ago by
Kevin Blighe69k
Republic of Ireland
Kevin Blighe69k wrote:

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).


ADD COMMENTlink modified 6 months ago • written 6 months ago by Kevin Blighe69k

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 REPLYlink modified 6 months ago • written 6 months ago by gmchaput10

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 REPLYlink written 6 months ago by Kevin Blighe69k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.3.0
Traffic: 1603 users visited in the last hour