Love et al (2014) state that when interactions are present, shrinkage is disabled for main effects to prevent false positive calls of significance for interactions. I don't understand why it is necessary given that the interaction betas are shrunk as well. Why do they assume that the main effects will be shrunk too much relative to the interaction terms?
That "interaction rule" results in obtaining two different answers to the same question. E.g., I can present 2*3 design with interaction as 1-way with 6 treatments and no interaction. Statistically they are equivalent, but DESeq2 will generate different fits because for 2*3 design the main effects are not shrunk. Why was it so necessary to introduce the "interaction rule"?
I noticed a problem by simulating null data (here a null hypothesis of no interaction, although non-zero main effects) and saw that shrinking main effects produced significant tests of interactions.
While I didn't have time to implement in v1.8 (current release), my current advice and what will occur automatically in v1.10 is to turn off the betaPrior entirely for any designs with interactions.
The reason is that, with the expanded design matrix for symmetric shrinkage of log fold changes, the interpretation of terms becomes unnecessarily complicated. (The results were fine, but explaining how to extract the tests was very complicated). In addition, there is this issue of not shrinking main effects, and what to do when there are second order interactions.
So the log fold change shrinkage will only be default on designs without interactions, e.g.: ~ condition or ~ batch + condition, etc.
How does it work in the current version? Still no shrinkage of betas as soon as interactions are present?
Yes. It will be possible in next release with a new method. But currently betaPrior must be FALSE if any interactions are present.