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 :)
The data stored in `exprs` is already log-transformed. The intensities on the array will be in the thousands.

A _back-of-the envelope_ calculation is as follows:

estimate of fold-change from the de-transformed array data:


    geometric_mean(array_data(group_2)) / geometric_mean(array_data(group_1))
    ~ typical_value(group_2) / typical_value(group_1)
    ~ (2 ^ log_transformed_typical_value (group_2)) / (2 ^ log_transformed_typical_value(group_1))
    ~ (2^5) / (2^12)
    ~ 0.008
    ~ 1 / 125


So you get (an inaccurately calculated) ~ 125-fold change

estimate of log-fold-change from the transformed array data (as stored in exprs)

    arithmetic_mean(exprs(group_2)) - arithmetic_mean(exprs(group_1))
    ~ typical_value(group_2) - typcial_value(group_1)
    ~ 5 - 12
    ~ -7

So your estimate of fold-change is `2^-7 ~ 0.008`; again 1/125