Can I use EdgeR log2(cpm) instead of voom log2(cpm) to be analyzed as microarray data?
3
0
Entering edit mode
@camila-orellana-11873
Last seen 5.7 years ago
Australian Institute for Bioengineering…

Hi,

I want to do a time course analyzis with many time points of two conditions but no replicates, following the section 9.6.2 of the Limma User’s Guide (https://www.bioconductor.org/packages/3.3/bioc/vignettes/limma/inst/doc/usersguide.pdf). However, this is for microarray data but my data is RNA-Seq.

The guide says that for RNA-Seq:

"The voom transformation is applied to the read counts. This converts the counts to log-counts per million with associated precision weights. After this, the RNA-seq data can be analyzed as if it was microarray data."

But because I don't have replicates I cannot use voom. Is it OK to use the log2(cpm) I obtained from EdgeR instead of those obtained by voom?

Thanks

limma edger timecourse without replicate voom • 1.6k views
1
Entering edit mode
@ryan-c-thompson-5618
Last seen 2.1 years ago
Scripps Research, La Jolla, CA

There's no reason that voom should not work with the design described in section 9.6.2. As long as you use natural splines with fewer degrees of freedom than the number of time points you have, you will have residual degress of freedom left over for model fitting, and everything should work fine.

Secondly, if you want to use edgeR, provide it with the raw counts, not log2(cpm). Other than that, using edgeR is very similar to using limma. You can use the same design matrix for both methods.

Note that the calculation of log2(cpm) by voom uses almost exactly the same formula as edgeR, and this calculation does not require either replicates or a design matrix. The important and unique part of voom, and the part which requires the design matrix, is the estimation of the precision weights.

0
Entering edit mode
@gordon-smyth
Last seen 1 hour ago
WEHI, Melbourne, Australia

You actually can use voom, as Ryan has said. However you also can use edgeR's cpm(y, log=TRUE) and analyse the resulting values using limma. See section 15.4 on page 70 of the latest limma User's Guide:

https://www.bioconductor.org/packages/3.4/bioc/vignettes/limma/inst/doc/usersguide.pdf

0
Entering edit mode

Hi Gordon,

I am a bit confused with what design matrix to use to test for differential expression. I've seen two examples of design matrix for time course analyzis with many (15) time points of two conditions, and I get different results:

y <- DGEList(counts=counts)
A <- aveLogCPM(y)
y2 <- y[A>1,]
y2 <- calcNormFactors(y2)

X <- ns(targets$Time, df=5) Group <- factor(targets$Group)

design1 <- model.matrix(~Group+Group:X)

v <- voom(y2, design1, plot=TRUE)

fit <- lmFit(v, design1)

fit <- eBayes(fit)

OR

design2 <- model.matrix(~Group*X)

v <- voom(y2, design2, plot=TRUE)

fit <- lmFit(v, design2)

fit <- eBayes(fit)

Is the result in voom showing different trends in time between group1 and group 2?

Which design is more suitable to find the different trends in time?

Thank you,

Camila

0
Entering edit mode

This is a new question rather than a continuation of your old question, so please post it as a new question.

When you do that, please show us what you mean by "get different results". At the moment you don't show any results, let alone different results. The two design matrices are equivalent, so it's not the design matrices that are at fault.

0
Entering edit mode
@camila-orellana-11873
Last seen 5.7 years ago
Australian Institute for Bioengineering…

Thank you very much!