Dear Julien,
The component 'Amean' in the output from lmFit() is supposed to hold
the mean log-intensity for each probe, an indicator of the overall
expression level of the corresponding transcript.
However, if the data values input to lmFit() are log-ratios rather
than log-intensities, then there is no way to compute the mean
log-intensities. If the first argument to lmFit() is a matrix, as it
is in your simulation, then there is no way for the function to
determine whether the input values are log-ratios or log-intensities.
If they are log-ratios, then calculating Amean would be meaningless.
Rather than risk computing a meaningless value, I stopped lmFit()
from computing Amean in this situtation.
If the first argument to lmFit() is an MAList or exprSet or
ExpressionSet then Amean is computed. It is actually not clear that
this is right behaviour in the case of an ExpressionSet, but that's
how it is for now.
Best wishes
Gordon
>Date: Thu, 15 Feb 2007 13:37:51 +0100
>From: Julien Gagneur <julien.gagneur at="" embl.de="">
>Subject: [BioC] Limma 2.9.10: "Amean" missing
>To: bioconductor at stat.math.ethz.ch
>Message-ID: <45D4541F.5020302 at embl.de>
>Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>
>Hi,
>
>I miss the Amean field in the output of eBayes() in limma 2.9.10 .
>
>It is there in limma 2.8.1
>
>sample code:
>
># Simulate gene expression data,
># 6 microarrays and 100 genes with one gene differentially expressed
>set.seed(2004); invisible(runif(100))
>M <- matrix(rnorm(100*6,sd=0.3),100,6)
>M[1,] <- M[1,] + 1
>fit <- lmFit(M)
>
># Ordinary t-statistic
>par(mfrow=c(1,2))
>ordinary.t <- fit$coef / fit$stdev.unscaled / fit$sigma
>qqt(ordinary.t,df=fit$df.residual,main="Ordinary t")
>abline(0,1)
>
># Moderated t-statistic
>eb <- eBayes(fit)
>
>
># this returns FALSE with limma 2.9.10, TRUE with limma 2.8.1
>"Amean" %in% names(eb)
>
>
>
>I run R 2.4.1. Do you experience the same?
>
>Thanks,
>Julien.
>
>--
>Julien Gagneur
>EMBL/HTFG Center
>Tel: +49-(0)6221-387-8433
>Fax: +49-(0)6221-387-8166
>Email: julien.gagneur at embl.de
>
>Room 62
>Meyerhofstrasse 1
>D-69117 Heidelberg
>Germany
Thank you Gordon to clarify this point.
In my context I am using it to extract mean log ratios, which I can
get
by other "means" :-) anyway. I understand that it would be a safer
way
to proceed.
Best,
Julien.
Gordon Smyth wrote:
> Dear Julien,
>
> The component 'Amean' in the output from lmFit() is supposed to hold
the
> mean log-intensity for each probe, an indicator of the overall
> expression level of the corresponding transcript.
>
> However, if the data values input to lmFit() are log-ratios rather
than
> log-intensities, then there is no way to compute the mean
> log-intensities. If the first argument to lmFit() is a matrix, as it
is
> in your simulation, then there is no way for the function to
determine
> whether the input values are log-ratios or log-intensities. If they
are
> log-ratios, then calculating Amean would be meaningless. Rather than
> risk computing a meaningless value, I stopped lmFit() from computing
> Amean in this situtation.
>
> If the first argument to lmFit() is an MAList or exprSet or
> ExpressionSet then Amean is computed. It is actually not clear that
this
> is right behaviour in the case of an ExpressionSet, but that's how
it is
> for now.
>
> Best wishes
> Gordon
>
>> Date: Thu, 15 Feb 2007 13:37:51 +0100
>> From: Julien Gagneur <julien.gagneur at="" embl.de="">
>> Subject: [BioC] Limma 2.9.10: "Amean" missing
>> To: bioconductor at stat.math.ethz.ch
>> Message-ID: <45D4541F.5020302 at embl.de>
>> Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>> Hi,
>>
>> I miss the Amean field in the output of eBayes() in limma 2.9.10 .
>>
>> It is there in limma 2.8.1
>>
>> sample code:
>>
>> # Simulate gene expression data,
>> # 6 microarrays and 100 genes with one gene differentially
expressed
>> set.seed(2004); invisible(runif(100))
>> M <- matrix(rnorm(100*6,sd=0.3),100,6)
>> M[1,] <- M[1,] + 1
>> fit <- lmFit(M)
>>
>> # Ordinary t-statistic
>> par(mfrow=c(1,2))
>> ordinary.t <- fit$coef / fit$stdev.unscaled / fit$sigma
>> qqt(ordinary.t,df=fit$df.residual,main="Ordinary t")
>> abline(0,1)
>>
>> # Moderated t-statistic
>> eb <- eBayes(fit)
>>
>>
>> # this returns FALSE with limma 2.9.10, TRUE with limma 2.8.1
>> "Amean" %in% names(eb)
>>
>>
>>
>> I run R 2.4.1. Do you experience the same?
>>
>> Thanks,
>> Julien.
>>
>> --
>> Julien Gagneur
>> EMBL/HTFG Center
>> Tel: +49-(0)6221-387-8433
>> Fax: +49-(0)6221-387-8166
>> Email: julien.gagneur at embl.de
>>
>> Room 62
>> Meyerhofstrasse 1
>> D-69117 Heidelberg
>> Germany
>
--
Julien Gagneur
EMBL/HTFG Center
Tel: +49-(0)6221-387-8433
Fax: +49-(0)6221-387-8166
Email: julien.gagneur at embl.de
Room 62
Meyerhofstrasse 1
D-69117 Heidelberg
Germany