How to extract DESeq2 results for an interaction design
2
0
Entering edit mode
ktrns • 0
@ktrns-22773
Last seen 11 months ago

Hi,

I have a gene expression dataset that is equivalent to Example 3 in your ?results help page: 3 temperatures (cold, room, warm) and 2 conditions (control, treatment).

I ran DESeq2 with the following design: ~temperature + condition + temperature:condition. I have three research questions:

(1) Which genes are differentially expressed between control samples of the three different temperatures?
(before editing: What is the effect of the temperature on the control?)

results(dds, name="temperature_cold_vs_room", alpha=0.05, pAdjustMethod="BH")


(2) Which genes are differentially expressed between control and treatment samples in a given temperature?
(before editing: What is the effect of the treatment for each temperature?)

results(dds, name="condition_treatment_vs_control", alpha=0.05, pAdjustMethod="BH")


(3) The expression of which genes changes upon treatment, but changes differently depending on the temperature?
(before editing: What is the effect of the temperature on the treatment?)

results(dds, name="temperaturecold.conditiontreatment", alpha=0.05, pAdjustMethod="BH")


Could you confirm that what I am doing is correct? And finally, for question 1, I don't know yet how to extract the respective results for warm versus cold?

Katrin

-- Edit: I have edited the wording of my questions, trying to make the questions more concise.

deseq2 interaction • 256 views
1
Entering edit mode
swbarnes2 ▴ 850
@swbarnes2-14086
Last seen 9 hours ago
San Diego

I think this will be far easier to do if you follow the suggestion in the vignette and not use interactions, but instead make a new column which concatenates temp and treatment, and use contrasts to compare the desired sub-groups.

The interaction design is useful for answering the question "Which genes change with treatment, but change differently depending on temperature?"

0
Entering edit mode

Thanks a lot for your reply! In fact, I have already done that. But we are interested in the interaction term, and my question 3 refers to your question. I tried to rephrase my questions to make them more concise and according to your wording.

1
Entering edit mode
@sebastianlobentanzer-11790
Last seen 4 months ago
Germany

I see it this way: if you absolutely want to do the interaction design, you need to acknowledge: the baseline is estimated on your reference level of the interaction term, from the deseq vignette: "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." (substitute temperature for genotype)

This impacts your final question (how to check warm vs cold) as well as the implications for your other questions. I think you can use the group_A_vs_B nomenclature as well as the c("group", "A", "B") for the former (as long as all are in resultsNames).

For the first question, you do not need the interaction design. The first rule is to make sure your data and approach are suited for answering your question. Optimally: no more, no less.

For answering the second question, I would also recommend using the concatenation approach. Did you compare the outcome of your interaction result with the concatenation result?

For (3), I am not sure the first premise (changes upon treatment) is correct; as above, the baseline is estimated based on the reference level of temperature, so it should not matter if the gene is differentially expressed (I assume you used RT as the reference level). The interaction term just tells you the difference between the temperature effect for the reference level and the effect for the other temperature (so the second premise, differently depending on temperature, is correct, as far as I can tell).

0
Entering edit mode

Dear Sebastian,

Thanks a lot for taking the time.

the baseline is estimated on your reference level of the interaction term

Yes. My reference level is room temperature. So it is easy to get "temperaturecoldvsroom" and "temperaturewarmvsroom". But there is no warm versus cold, as the comparisons are against the reference level.

For the first question, you do not need the interaction design.

True. However, we thought it would be good for the project to stick to one analysis if possible. The 3. question is essential, so we decided to go for the interaction design. And the results function seemed to provide results for the 1. and 2. question as well.

Did you compare the outcome of your interaction result with the concatenation result?

No, not yet.

I am not sure the first premise (changes upon treatment) is correct

You are right. I am not sure either. As I understand it, the interaction term, e.g. "temperaturewarm.conditiontreatment", describes how warm temperature influences gene expression changes between control and treatment seen in the reference room temperature. How about this phrasing: The expression of which genes is changing differently upon treatment depending on temperature?

0
Entering edit mode

As I said, you can test any difference, as long as the factor levels are in the resultsNames. So temperature_cold_vs_warm or c("temperature", "cold", "warm") should work, given the right design. This is much easier using the concatenation approach.

I think "sticking to one analysis" is unnecessary. If you want to answer a question, design your analysis as suitable as possible. If your main biological question is whether the temperature influences treatment effects, then the interaction term will tell you that. More accurately, the interaction term will give you significance only for genes that diverge from the reference temperature in their response to the treatment.

I would take care to separate other questions from that, e.g. if the controls already respond to temperature changes. Think about this: If this was your only question, you could easily just do the experiment without the treatment, and do a simple design to find the answer.