Hello,
I'd like to use the vooma function for my microarray data because when chechinkg the model I encountered quite some trend in the variances.
My input is an expressionset and kind of the fData got lost, so I checked into the code to see why. (Everything which is not an EList gets reduced to the actual expressionmatrix. That's not a major problem, but copying some code from the first lines of the voom function could easily fix that)
Having a look I realized that there are quite some differences between the voom and vooma functions. I had expected vooma to be very much alike the voom function just without transformation to logcpm.
However, vooma seems to use R base's lm.fit function for the modeling instead of limma's own lmFit function. Since the latter provides quite some more flexibility I was wondering what the rationale behind that decision has been ...
What are the relevant differences between log-cpm and array expression values that make these differences necessary?
Best,
Maik
Thanks a lot, that's very helpful! Just out of curiosity: Is the reason why you can't simply use eBayes with the trend parameter for log-cpm values as well the nonlinear mean variance trend or or a higher degree of heteroscedacicity overall?
trend=TRUE is not a fully adequate substitute for voom() for RNA-seq data because the sequencing depths can be different for different libraries. In the voom paper:
http://genomebiology.com/2014/15/2/R29
we showed that trend=TRUE and voom() give equivalent results when the library sizes are equal but voom() is the best when the library sizes are considerably unequal.