Limma gives big p-values for large LFC
1
0
Entering edit mode
chipolino • 0
@chipolino-15565
Last seen 5.1 years ago

Hi,

I am doing RNA-seq with 2 groups: treatment and control. For both of them, I have 2 replicates. I use limma-voom for this. But I am quite confused by the results I see in the toptable output. For example, I have these genes in my original table of raw counts (where Jc is the treatment, and N is the control):

enter image description here

And here is the same matrix after voom normalization.

enter image description here

And this is the output of toptable for the same genes

enter image description here

As you can see adjusted p-value is quite large... Some of them would not pass the 0.1 FDR threshold. I would expect them to be way smaller with such changes in expression. What am I missing here? What is wrong?

Thank you.

limma voom • 1.5k views
ADD COMMENT
0
Entering edit mode

You don't show any code, so who knows?

ADD REPLY
0
Entering edit mode

here is the code sample I use:

designMatrix <- model.matrix(~0 + Analysis, md)

contrastMatrix <- makeContrasts(
A1 = Analysis1 - Analysis2,
levels = colnames(designMatrix)) #Analysis is a factor column: 1 - treatment; 2 - control

v <- voom(expr_mat, designMatrix, plot=FALSE) #expr_mat is similar to the one above

vfit <- lmFit(v, designMatrix)

vfit <- contrasts.fit(vfit, contrasts=contrastMatrix)

efit <- eBayes(vfit)

DEgenes <- topTable(efit, number = Inf) #and I have large p-values
ADD REPLY
2
Entering edit mode
@gordon-smyth
Last seen 36 minutes ago
WEHI, Melbourne, Australia

If your data is noisy, it will be hard to be significant results from such small samples sizes. Remember that significance depends on variability as well as on the fold-changes and variability is computed from all the genes, not just the four genes you show.

In any case, limma is giving much smaller p-values than a t-test would give for the same data. For example, here are the t-test results for the EOMES logCPM values:

> x <- c(8.102, 7.92)
> y <- c(-5.71, -4.57)
> t.test(x,y)

        Welch Two Sample t-test

data:  x and y
t = 22.783, df = 1.0509, p-value = 0.02407
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  6.605754 19.696246
sample estimates:
mean of x mean of y 
    8.011    -5.140 
ADD COMMENT
0
Entering edit mode

Thank you for your answer! I have a related question, suppose that in my expression matrix I have 3 conditions: treatment A, treatment B and control (2 replicates everywhere). Now my goal is to compare treatment A to control. My question is, should I do voom and further analysis on the whole expr matrix (with the appropriate contrast matrix) or should I first take a subset of expr matrix with the columns only for treatment A and control (and then do voom and other steps)? Will there be any difference?

ADD REPLY

Login before adding your answer.

Traffic: 716 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6