View Single Post
Old 05-09-2019, 08:13 AM   #1
Junior Member
Location: Italy

Join Date: May 2019
Posts: 1
Default understanding design formula in DESeq2


I am trying to understand the role of using an interaction term in the design formula of DESeq2. I have read this explanation:

This contains the following paragraph:

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.

I would be happy if someone can confirm these affirmations to know if I understand this correctly:

1) = ~condition + genotype + condition:genotype

This is not looking at differential expression between conditions, typically a WT vs KO. This is in fact detecting the genes that are differentially expressed between conditions AND differently between genotypes.

2) = ~ condition + genotype

This is detecting differentially expressed genes correcting for the genotype effect. In other words, this is looking at differentially expressed genes between all the samples of condition A and all the samples of condition B, but correcting for the effect of the genotype (like we can correct for the batch effect).

3) =~condition

Same as above but not correcting for the genotype effect.

I would like also to know if the following statement is correct:

If now considering batches instead of genotypes, if one uses a package for batch effect correction such as sva, we can say that:

1) (~condition + USAGE OF SVA) is equivalent, in the principle, to (~condition + batch). The difference is that a particular package will use a different method.


If the above statements are true, is it correct to say that the following code is equivalent to a 2 by 2 comparision in each genotype using only ~condition:

`results(dds, contrast=c("group", "IB", "IA"))
results(dds, contrast=c("group", "IIB", "IIA"))
results(dds, contrast=c("group", "IIIB", "IIIA"))`

or is it only subselecting genes that are different between all genotypes AND different between conditions for genotype X (X=c("I", "II", "III"))?

Thanks a lot in advance.
descostes is offline   Reply With Quote