[BioC] Fwd: limma 2.2.0 - decideTests heirarch/nestedF + BH correction , small bug

Gordon Smyth smyth at wehi.edu.au
Tue Nov 29 00:06:00 CET 2005


Dear Ariel,

James MacDonald has pointed out to me that I still didn't get this quite 
right. Hopefully the treatment of adjust="BH" is finally correct now in 
limma 2.4.4.

>To: "Ariel Chernomoretz" <ariel.chernomoretz at crchul.ulaval.ca>
>From: Gordon Smyth <smyth at wehi.edu.au>
>Subject: [BioC] limma 2.2.0 - decideTests heirarch/nestedF + BH correction 
>, small bug
>Cc: Bioconductor
>Date: Thu, 24 Nov 2005 14:51:34 +1100
>
>>[BioC] limma 2.2.0 - decideTests heirarch/nestedF + BH correction , small bug
>>Ariel Chernomoretz ariel.chernomoretz at crchul.ulaval.ca
>>Wed Nov 23 16:55:20 CET 2005
>>
>>Hi,
>>
>>I think I found a small bug in decideTests
>>when heirarchical or nestedF methods are selected in conjunction with
>>adjust.method="BH" (the new default value).
>>
>>In both cases there is a problem with the 'switch' command.

You're right.

>>  In adjust heirarchical:
>>         51                 a <- switch(adjust.method,
>>         52                         none=1,
>>         53                         bonferroni=1/n,
>>         54                         holm=1/(n-i+1),
>>         55                         BH,fdr=i/n               <------- 
>> BH=i/n,fdr=i/n
>>         56                 )
>
>This is not a bug. It is a legal R short-hand for what you have written.

Oops. For this to be legal R code, I needed "BH=, fdr=1/n". In other words, 
I forgot one of the "=" signs.

>>In adjust nestedF:
>>         65                 a <- switch(adjust.method,
>>         66                         none=1,
>>         67                         bonferroni=1/n,
>>         68                         holm=1/(n-i+1),
>>         69                         fdr=i/n               <------- 
>> BH=i/n,fdr=i/n
>>         70                 )
>
>On the other hand, this is a bug. It has been fixed already in limma 
>2.3.6, but thanks for reporting it anyway. Unfortunately the bug is still 
>in Bioconductor release 1.7, but the easy work-around is just to use "fdr" 
>instead of "BH".

My so-called fix in limma 2.3.6, actually repeated the same bug as for 
adjust="heirarchical". Both of these should now be correct in limma 2.4.4.

Sorry for the confusion. Thanks again for reporting the bug.

Cheers
Gordon

>>btw, the p.adjust function of statmod package  makes no distinction 
>>between BH
>>and fdr methods, why introduce such distinction in limma? (or am I missing
>>something?)
>
>limma does the same as p.adjust. It treats "fdr" and "BH" as the same, but 
>has to accept either as input.
>
>Best wishes
>Gordon
>
>>regards, and thanks for an excellent tool!
>>
>>Ariel./
>>
>>
>>--
>>Ariel Chernomoretz, Ph.D.
>>Centre de recherche du CHUL
>>2705 Blv Laurier, bloc T-367
>>Sainte-Foy, Qc
>>G1V 4G2
>>(418)-525-4444 ext 46339



More information about the Bioconductor mailing list