Question: Re: Limma: M value in toptable
0
14.7 years ago by
Gordon Smyth38k
Walter and Eliza Hall Institute of Medical Research, Melbourne, Australia
Gordon Smyth38k wrote:
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
limma dose • 745 views
modified 14.7 years ago by Hua Weng60 • written 14.7 years ago by Gordon Smyth38k
Answer: Re: Limma: M value in toptable
0
14.7 years ago by
Hua Weng60
Hua Weng60 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) 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? Thanks, Hua [[alternative HTML version deleted]]