I am not a limma developer but it seems to me that romer() implements
weights but not gene weights. Because the analysis of RNA-seq data
also gene weights, then romer() would need to be modified to accept
weights as well. Then voom() could be used directly. In
voom based analysis gene weights are used in order to estimate the
mean-variance relationship from the data and array-weights are used to
normalize between library sizes - this generates a weights matrix that
used in the analysis by limma functions including camera and roast.
voom(), camera() and roast() are still part of limma but just referred
in the edgeR manual (they can be used also with other packages).
Best Regards, Pekka
> I see that the new version of edgeR has roast and camera
> there a plan to implement romer in edgeR as well?
> Julie Leonard
> Computational Biologist
> Global Bioinformatics
> Syngenta Biotechnology, Inc.
> www.syngenta.com<http: www.syngenta.com=""/>
> This message may contain confidential information. If
Pekka is right that the camera, roast and romer functions are part of limma, and that romer() doesn't allow gene weights and so doesn't work with the voom() pipeline, at least not yet. We have been recommending voom() as the means to access gene set and expression signature testing for RNA-seq data, so the lack of romer functionality does represent a limitation.
However we quietly made a new development in the latest versions of limma and edgeR, so that the roast() and camera() functions are now generic functions defined in limma, and so that edgeR defines DGEList methods for both roast and camera. This means that edgeR can now do gene set testing directly without going through voom. The DGEList methods do not require weights to be defined. This is I think what Julie is asking about.
To Julie: we ourselves use camera() and roast() much more in our own work than we do romer() but, if you have a need for romer(), we can easily implement a romer method in edgeR also.