Hi @ all,
I have cel files from 2 groups, 3 replicates each group. I want to use limma for the differential gene expression analysis.
My script looks like this
prefix = "101053-0"
cels <- ReadAffy ( filenames = paste ( paste (prefix, c(4,5,6,1,2,3), sep=""), ".CEL", sep="" ),
sampleNames = c("N402_rep_1", "N402_rep_2", "N402_rep_3", "B36_rep_1", "B36_rep_2", "B36_rep_3") )
results <- expresso (cels, bgcorrect.method = "rma", normalize.method = "quantiles", pmcorrect.method = "pmonly", summary.method="medianpolish")
design <- model.matrix(~factor(c(1,1,1,2,2,2)))
fit <- lmFit (results, design=design)
ebayes <- eBayes (fit)
topTable (ebayes)
The first gene of the list is this
logFC AveExpr t P.Value adj.P.Val B
An00g11929_at -7.347305 8.465857 -110.96206 6.249263e-18 9.095178e-14 27.44659
So logFC is reported as -7.34 But when I look at the absolute expression values
> exprs(results)["An00g11929_at", ]
N402_rep_1 N402_rep_2 N402_rep_3 B36_rep_1 B36_rep_2 B36_rep_3
12.127017 12.148645 12.142866 4.683787 4.842077 4.850748
The logFC is more about -1.5 than -7.34
How can this be?
I read that limma expect log2-transformed values. I also read that using median polish to summarize already produces log2 transformed expression values. Anyway, I transformed the value by my self
exprs(results) <- log2(exprs(results))
And now the logFC is what I would expect from the un-transformed values
logFC AveExpr t P.Value adj.P.Val B
An00g11929_at -1.3411349 2.931070 -80.01571 2.751338e-12 4.004298e-08 16.27317
But now the log2-transformed values do not fit to the logFC
N402_rep_1 N402_rep_2 N402_rep_3 B36_rep_1 B36_rep_2 B36_rep_3
3.600153 3.602724 3.602037 2.227675 2.275626 2.278207
So I'm very confused. Why do the absolute expression values do not match the logFC? Do I have to apply the log2-transformation on my own?
Would be very nice if someone could help :)