Does DESeq2 or edgeR take care of random effect in the GLM
1
0
Entering edit mode
Yanzhu Lin ▴ 120
@yanzhu-lin-6551
Last seen 5.0 years ago

Dear Community,

My RNA-Seq experiment has three factors: A, B and C. A and B are random effects while C is fixed effect. I would like to fit a mixed model including all of the main effects and interaction terms, i.e.,

model=A  + B + C  + A x B   + A x C  + B x C + A x B x C

Can DESeq2 or edgeR fit the mixed model? Thanks.

When I searched "DESeq/DESeq2/edgeR random effect", I found this post: http://seqanswers.com/forums/archive/index.php/t-16539.html

Simon mentioned that uses shrinkage for random effect, and DESeq2 has already considered the shrinkage for dispersion and coefficient.

My Question is: how to use shrinkage in DESeq2 modeling so that I can fit the mixed model mentioned above.

Thanks.

Yanzhu

deseq2 edger • 2.8k views
0
Entering edit mode

Unfortunately, I really need the random effects for my analysis, since I will use the variations explain by the random effects to do some calculation.

0
Entering edit mode

You should explain this in more details.

Why can't you use an F test to see whether the effect explains enough variation?

3
Entering edit mode
@mikelove
Last seen 22 hours ago
United States

While DESeq2 does have moderation on the log2 fold changes between conditions, I would not call it a random effects model.

DESeq2 is a strictly fixed effects model, and we apply a zero-centered Gaussian prior to these effects, and report maximum a posteriori estimates as the final log2 fold changes.

A related point I would make is that limma has a function duplicateCorrelation, which allows you to inform that model of the correlation between sets of samples.

3
Entering edit mode

Same for edgeR, only fixed effects are handled. Do you really need random effects for your analysis?

Also, as Mike suggested, duplicateCorrelation with lmFit will give you something similar to a mixed effects model, in that it will account for the correlations between samples at the same level of a blocking factor. But the function only takes one factor for the "random effect", so I don't think it'll support all those interaction terms you have in your original post. You'll have to decide what you want to block on - for example, you could paste A and B together to get a single factor equivalent to A + B + A:B.