[BioC] Limma topTable; fold changes look completely different to the normalized data and Limma fold change
john herbert
arraystruggles at gmail.com
Fri Jul 6 21:12:12 CEST 2012
Dear all,
I have a problem with the log Fold changes calculated in Limma. I am
using protein abundance index of proteomic data
The log2 of this data is normally distributed and after log2, I use
quantile normalization
This is then the data matrix I use as input to Limma
> class(norm_ctw)
[1] "matrix"
> dim(norm_ctw)
[1] 683 9
design <- model.matrix(~ 0+factor(c(1,1,1,2,2,2,3,3,3)))
colnames(design) <- c("cam", "tumour", "wound")
fit <- lmFit(norm_ctw, design)
contrast.matrix <- makeContrasts(tumour-wound, tumour-cam, levels=design)
fit2 <- contrasts.fit(fit, contrast.matrix)
fit2 <- eBayes(fit2)
topTable(fit2, coef=1, adjust="BH")
Taking one gene as an example. NAMPT in tumour versus wound and
calculating fold change by hand of normalized data;
> norm_ctw["NAMPT",]
cam1 cam2 cam3 tumour1 tumour2 tumour3 wound1
wound2 wound3
19.80164 19.46355 19.26075 22.75347 22.62651 22.39521 16.17398 16.60262 16.72368
In Excel, calculating log2 fold change using Average of Tumour/Average
of wound =
T1 22.75347 T2 22.62651 T3 22.39521 W1 16.17398 W2 16.60262 W3 16.72368
Tumour average = 22.59173
Wound average = 16.50009333
Log2 Fold change = 0.453320567
However, from TopTable....
> topTable(fit2,coef=1)
ID logFC AveExpr t P.Value adj.P.Val B
431 NAMPT 6.091632 19.53349 20.16810 2.688444e-09 1.750946e-06 11.409857
>From toptable, NAMPT has an apparent log2 FC of 6 or 64 fold change
but that is impossible right??
Please can someone explain if I am using Limma wrong or how the fold
change can be massively different between "by hand" and with Limma.
Thank you very much for any advice.
John.
More information about the Bioconductor
mailing list