[BioC] Re: Limma: M value in toptable
Gordon Smyth
smyth at wehi.edu.au
Thu Feb 10 22:30:08 CET 2005
At 05:30 AM 11/02/2005, Hua Weng wrote:
>Dear Dr. Smyth and Bioconductor members:
>
>I have a question about M Values in toptable in LIMMA package. I know the
>M in toptable is not a simple average from all the replicates, it is a
>coefficient value from lmFit. I have three biological replicate array
>and within each array I have six technical replicates. My commands are the
>following:
>
>design <- c(1,1,1)
> fit <- lmFit(MA.norm, design, ndups=6, spacing=800)
If you have duplicate spots, you should also estimate the correlation
between them. The default correlation for duplicates is 0.75. Is this
really what you intend? Given the spacing between your duplicates, it could
be larger than ideal.
>eb <- ebayes(fit)
>x <- toptable(number=length(fit$coefficients), genelist=genes, fit=fit, A
>= fit$Amean, eb=eb, adjust="fdr")
>
>These commands seems successful, I got what I want. For most of the genes,
>their M very close to simple average across 18 replicates. But one M vaule
>for one gene seems wired.
>
>The result for this gene from toptable :
> Block Row Column
> Name ID M A T
> P.value B
>"58" "1" "6" "8" "P24-E1" "P24-E1" 1.441473
> 12.652 4.74793 2.507e-04 0.9625
>The M values I pluged in to run lmFit:
>ID M(bio rep1) A weight M(bio
>rep2) A weight M(bio rep3) A weight
>"P24-E1" 1.388976 14.8516 1.0 1.367237 13.1931
> 1.0 1.4567540 13.6927 1.0
>P24-E1" 1.682181 15.0347 1.0 1.410991 13.3535
> 1.0 0.9180444 13.7189 1.0
>"P24-E1" 1.419217 14.9294 1.0 0.978001 13.1710
> 1.0 -1.0304558 3.3577 0.1
>"P24-E1" 0.911255 14.8090 1.0 1.007387 13.1383
> 1.0 0.5174605 13.2928 1.0
>"P24-E1" 1.058592 14.8387 1.0 0.972540 13.1374
> 1.0 0.6585728 13.4881 1.0
>"P24-E1" 0.343243 14.2827 1.0 0.859519 12.9058
> 1.0 -2.1799057 2.5352 0.1
>
>But the simple average for these replicates exclude those with weight of
>0.1 is 1.05938. I tried to reproduce 1.441473, but it seems out of my
>limmit. Could you help me to explain how this happens? How dose LIMMA
>calculate the M in toptable?
limma computes generalized least squares, using any weights which it finds
in your object 'norm' and taking into account the correlations between
duplicates. It is not a simple average, nor even a simple weighted average,
because the spots are correlated.
You have given weights above for biological replicates, but limma uses
weights for individual spots.
Gordon
>Thanks,
>Hua
More information about the Bioconductor
mailing list