[BioC] limma topTable question

Gordon Smyth smyth at wehi.edu.au
Wed Apr 6 01:37:08 CEST 2005

>Date: Mon, 4 Apr 2005 14:22:09 -0700
>From: Cyrus Harmon <ch-bioc at bobobeach.com>
>Subject: [BioC] limma topTable question
>To: bioconductor at stat.math.ethz.ch
>Dear bioconductors,
>Forgive me if this is in the limma user's guide, but I'd like to be
>able to find the top, say, 100 probe sets in topTable sorted by M, not
>abs(M). I understand that I can do this with sort and resort and then
>filter out the negative ones, but this seems a bit clunky and in a
>sense isn't quite what I've asked, as the top 100 probe sets sorted by
>M after filtering by abs(M) aren't guaranteed to be the same thing,
>unless there are <= 100 probe sets. Yes, I can take the whole resorted
>table and take the top 100 rows, but that seems to be sort of defeating
>the purpose of topTable.
>Would it be possible to add another option for M instead of abs(M) for

I am not convinced that this would be a useful option. Microarray 
differential expression analyses are virtually always two-sided, for good 
reason, because researchers need to know about genes moving strongly down 
as well as up. Hence topTable() is designed to facilitate a two-sided 
analysis. You are implying that you want to do an anlaysis in which you 
don't want to even see the genes moving down. Why do you think that this is 
a generally useful analysis? I haven't seen any microarray problems which I 
would want to analyse that way.

If you have a need which is specific to your own situation, and not likely 
to be of wide interest, then Sean and Kasper have explained how you can 
make your own functions.

>Also, the description of what is going on here in the help page is
>rather cryptic. It is only in the discussion of resort.by that the abs
>thing comes up. Furthermore, a better description of what "M" "A", "T",
>"P" and "B" are would be helpful.

You don't say, but I assume that you are refering to the list of possible 
values for the 'sort.by' argument to 'topTable'. Confusion about ranking on 
M vs abs(M) does not normally arise, because microarray analysis are 
virtually always two-sided and topTable() provides the behaviour which 
users generally expect.

>  They are each discussed in the
>context of the Values (for M, t, p and b) and in the Arguments (for A),
>but it would be nice if in the details section, this was recapitulated,
>perhaps with a description of what an A value is,

See the User's Guide section "Statistics for differential expression".

>  and if the case
>options were spelled out. It seems the only t and p are allowed to be
>lowercase, but it's not clear why.
>(Combining my question and my gripe, a sort by "m" that didn't do
>abs(M) would seem useful to me, but perhaps I'm missing something.)

R is a case-sensitive language, and it doesn't seem such a hardship to use 
a capital "M" in sort.by="M", as per the documentation. The reason that 
"M", "A" and "B" are treated strictly as upper-case is because these 
symbols are always uppercase in the published microarray literature.



More information about the Bioconductor mailing list