1.) "how can I extract the interaction term for condition effect in genotype II vs genotype I? "
If you use a "group" vector, you get the following coefficients:
library("DESeq2")
dds <- makeExampleDESeqDataSet(n=100,m=18)
dds$genotype <- factor(rep(rep(c("I","II","III"),each=3),2))
dds$group <- factor(paste0(dds$genotype, dds$condition))
design(dds) <- ~ group
dds <- DESeq(dds)
resultsNames(dds)
[1] "Intercept" "groupIA" "groupIB" "groupIIA" "groupIIB" "groupIIIA" "groupIIIB"
The interaction effect you want is the difference of the condition effect between genotype II and I (An interaction is always a difference of differences), so you want the following contrast: (the intercept terms always cancel out as they are added to each of the group terms, so a group wise mean is always given by terms like "Intercept" + "groupIA"; "Intercept" + "groupIB", etc., so I dropped them)
("groupIIB" - "groupIIA") - ("groupIB" - "groupIA")
= + "groupIA" - "groupIB" - "groupIIA" + "groupIIB"
which can be extracted using the contrast vector
c(0,1,-1,-1,1,0,0)
via
results(dds, contrast = c(0,1,-1,-1,1,0,0))
2.) "If I considered interaction effect by design ~ genotype+condition+genotype:condition, how can I compare subset with genotype I ,condition A and subset with genotype II, condition B? "
The resultsNames(dds)
in this case are:
dds <- makeExampleDESeqDataSet(n=100,m=18)
dds$genotype <- factor(rep(rep(c("I","II","III"),each=3),2))
design(dds) <- ~ genotype + condition + genotype:condition
dds <- DESeq(dds)
resultsNames(dds)
[1] "Intercept" "genotype_II_vs_I" "genotype_III_vs_I" "condition_B_vs_A"
[5] "genotypeII.conditionB" "genotypeIII.conditionB"
The mean of AI is represented by the intercept term, while the mean of BII is given by
the following sum of coefficients:
"Intercept" + "genotype_II_vs_I" + "condition_B_vs_A" + "genotypeII.conditionB"
so the contrast (B_II vs A_I) would be
"Intercept" + "genotype_II_vs_I" + "condition_B_vs_A" + "genotypeII.conditionB" - "Intercept"
= "genotype_II_vs_I" + "condition_B_vs_A" + "genotypeII.conditionB"
so the call would be
results(dds, contrast = c(0,1,0,1,1,0))
So you see that extracting group differences is rather complicated when using an interaction effect in the formula while extracting an interaction effect is complicated when using a grouping vector. (please double check my formulas carefully for errors ;).
So both types of formulas make your life easier in specific contexts, but are essentially equivalent.
Note however, that there will be no fold change shrinkage if you fit an interaction term, so the results will be different between the interaction based approach and the group-based approached as discussed in your other thread. (DESeq2 interaction term)
Bernd