Following the voom-limma workflow and using RNA-seq count data, I created the DGEList, ran the calcNormFactor (TMM) step, ran Voom step, and got the v object. I then extracted the $E object from v.
Here is my code:
x <- DGEList(counts=RNA)
x <- calcNormFactors(x, method = "TMM")
par(mfrow=c(1,2))
v <- voom(x, design, plot=TRUE)
Elist <-v$E
My questions are: 1) expression profile in Elist has performed log(CPM) and been normalized for library size, right?; 2) Has the expression profile in Elist incorporated the precision weights (represented as $weights in v object) yet? Thank you.
But I should point out that the object you call "v" is an EList that has the weights, and the thing you call Elist is a regular matrix that just contains the E list item from v.
You should not strip things out of objects like that unless you know what you are doing. The EList object (called v) is something that
lmFit
will know how to use, and will do something sensible with. If you use your Elist object withlmFit
, it won't know about the weights, and will fit a conventional unweighted model.