Question: Testing three-way interactions in DESeq2
2
20 months ago by
red_bricks20
red_bricks20 wrote:

Hi,

I am new to using DESeq2 and would appreciate some advice for a somewhat complex experimental design (for a non-statistician anyway). I have a dataset with 3 factor variables, each with 2 levels, as follows:

trt: control, treatment

geno: A, B

time: 6h, 12h (no time 0h)

Each combination of factor levels was replicated 3 times, giving 2 x 2 x 2 x 3 = 24 samples total.

Biologically, I want to find the genes that respond differently to treatment in the two genotypes; this can be a constant effect over time or not. Statistically, I figure that I should be looking for genes with significant geno x trt effect over time points, and also genes with significant geno x trt x time effect. Other ideas would be appreciated here.

Assuming the above reasoning makes sense, does the following code/design accomplish the goals above?

dds2 <- DESeqDataSetFromMatrix(countData = cts2,
colData = coldata,
design = ~ geno + trt + time + geno:trt + geno:time + trt:time + geno:trt:time)

dds2 <- DESeq(dds2, test="LRT", reduced = ~ geno + trt + time + geno:time + trt:time)

Also, what would the log2 fold change mean in this case?

modified 20 months ago by Michael Love24k • written 20 months ago by red_bricks20
Answer: Testing three-way interactions in DESeq2
2
20 months ago by
Michael Love24k
United States
Michael Love24k wrote:

"I want to find the genes that respond differently to treatment in the two genotypes; this can be a constant effect over time or not."

From what you've described, I think you want to use a full design of ~trt + geno + time + geno:time + trt:time + trt:geno:time

And then the reduced design is to remove the term trt:geno:time.

You can use resultsNames() to see the names of the coefficients after fitting the model.

There will be two coefficients associated with the interaction term, a difference between the genotypes due to treatment at time 1 and another for the difference at time 2. You can pull these out with results() using 'name'.

Hi Michael,

I just wanted to confirm that the test as you have described will produce P-values for difference in response to treatment between the two genotypes regardless of whether this effect changes or not at the two time points. Is that correct?

So I would not need to pull out the two coefficients associated with trt:geno:time unless I wanted to do Wald tests for trt:geno effects at time 1 and time 2 individually or if I wanted to retrieve the fold changes for visualization.

Thanks again!

1

Because you have two interaction terms that are dropped from full in the reduced design, yes, it will give small p-values whether there is a difference in treatment across genotype at time 1 or time 2 or both.

Yes to second question.