[BioC] Problem with limma's topTable lfc filter when more than 1 contrast is in output

Alex Gutteridge alexg at ruggedtextile.com
Fri Jan 20 12:19:03 CET 2012


On 20.01.2012 05:11, Vladimir Zhurov wrote:
>> ...
>
> Dear Bioconductors,
>
> I am having the following problem which can be due to a 
> misunderstanding,
> or an actual problem with topTable function in limma package.
>
> As far as I understand lfc and p filters should work together in 
> filtering
> topTable results. Am I correct in this regard?
>
> If it is an intended situation then the problem is the following: 
> when more
> than one contrasts is reported lfc filter does not affect the output. 
> Which
> is shown in the sample R session below.
>
> I would appreciate you help.
>
> Regards.
>
> Vladimir.
>

Hi Vladimir,

I think the issue maybe that it is not clear (to me anyway!) what 
result one would expect with a lfc filter on a table with multiple 
contrasts. Should rows where all contrasts are above the cutoff be 
reported? Or where any are? It doesn't seem to be explicit in the docs, 
but my assumption is that to avoid confusion topTable ignores lfc= in 
the case you describe.

Perhaps decideTests() is what you are really looking for? You can then 
index a topTable generated data.frame with the results of decideTests. 
E.g (pseudo-code not tested!)

tt = topTable(fit,p.value=1,number=Inf,sort.by="none")
dt = decideTests(fit,p.value=0.05,lfc=1)

tt[dt[,1] != 0 & dt[,2] != 0 & dt[,3] !=0,] #Gives rows where all 
contrasts pass filter (assuming 3 contrasts)
tt[dt[,1] != 0 | dt[,2] != 0 | dt[,3] !=0,] #Gives rows where any 
contrast passes filter

-- 
Alex Gutteridge



More information about the Bioconductor mailing list