[BioC] OSX location of bioconductor functions

James W. MacDonald jmacdon at med.umich.edu
Fri Mar 9 18:58:02 CET 2007


Hi Bobby,

Yes there is a much better way to get what you want. Note that the 
MArrayLM object returned by eBayes() is just a list. The M values are 
held in the 'coefficients' list member (or whatever the technical term 
is), and the A values are in the 'Ameans' list member.

So to get what you want, you would do this:

M <- fit$coefficients[,1] ## we get coef = 1
A <- if(ncol(fit$Ameans) > 1) rowMeans(fit$Ameans) else fit$Ameans

Best,

Jim

Bobby Prill wrote:
> Jim,
> 
> I understand what you're saying.  My problem is more with the "R way  of 
> doing things," which takes some getting used to.
> 
> Perhaps you can recommend a better way for me to do the following:  I  
> want the M and A values for every probe on a chip.  This is what I  do, 
> which has always looked ugly to me:
> 
> ## the number of probes
> N = dim(exprs(eset))[1]
> 
> ## ask topTable to return for every probe
> T = topTable(fit, coef=1, adjust="fdr", n=N)
> 
> ## put back in original probe order
> ord = order(as.integer(rownames(T)))
> T = T[ord,]
> 
> T$A
> T$M
> 
> There must be a better way?
> 
> - Bobby
> 
> 
> On Mar 9, 2007, at 8:44 AM, James W. MacDonald wrote:
> 
>> Bobby Prill wrote:
>>
>>> As an aside, I can't imagine why the column names in ANY function   
>>> would be changed.  These column names are essentially the  external  
>>> interface to the function.  It seems like a very bad  design 
>>> decision  to just one day change "M" to "logFC."
>>
>>
>> What has been changed is the output of a function (which is _not_  the 
>> external interface to the function), and IIRC the change was  made to 
>> better reflect what the column contained.
>>
>> The version of limma that had the columns labeled M and A still  does 
>> exist, and a simple downgrade to R-2.3.1 and a biocLite() will  get 
>> you there.
>>
>> Anyway, I'm not sure I follow your logic. Are you saying that the  
>> output of _all_ functions once written should be inviolate? So no  
>> change, no matter how incremental is allowed? Personally, I  couldn't 
>> disagree more with this stance. You cannot improve things  if you are 
>> not allowed to make changes to both the API and the output.
>>
>>
>> Best,
>>
>> Jim
>>
>> -- 
>> James W. MacDonald, M.S.
>> Biostatistician
>> Affymetrix and cDNA Microarray Core
>> University of Michigan Cancer Center
>> 1500 E. Medical Center Drive
>> 7410 CCGC
>> Ann Arbor MI 48109
>> 734-647-5623
>>
>>
>> **********************************************************
>> Electronic Mail is not secure, may not be read every day, and  should 
>> not be used for urgent or sensitive issues.


-- 
James W. MacDonald, M.S.
Biostatistician
Affymetrix and cDNA Microarray Core
University of Michigan Cancer Center
1500 E. Medical Center Drive
7410 CCGC
Ann Arbor MI 48109
734-647-5623


**********************************************************
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues.



More information about the Bioconductor mailing list