[BioC] limma - FDR adjusted "p-values"

Gordon K Smyth smyth at wehi.EDU.AU
Tue Feb 1 13:30:53 CET 2005


> Date: Mon, 31 Jan 2005 09:56:09 -0500
> From: Naomi Altman <naomi at stat.psu.edu>
> Subject: [BioC] limma - FDR adjusted "p-values"
> To: bioconductor at stat.math.ethz.ch
>
> Just a suggestion:
>
> The FDR adjusted "p-values" are called "q-values" in much of the
> literature.  I suggest that limma follow suit,

It's certainly true that a lot of users have trouble with FDR and with adjusted p-values in
general.  Perhaps you're right that limma should use the term "q-values".  This would associate
p-values with control/estimation of FWER and q-values with control/estimation of FDR.

The reason I haven't this so far is because the term "q-value" coined by John Storey seems to me
to measure something slightly different to Benjamini and Hocherg adjusted p-values.  I think that
John Storey's q-value uses a slightly different definition of false discovery rate, namely pFDR,
the positive false rate.  Also I think it usually estimates pFDR rather than formally controlling
it.  Although there is a value "Q" which appears in Benjamin and Hochberg's formulations, and it
is closely related to q-values, it is not exactly the same.   So I have been reluctant to use the
term "q-value" for things which were not quite the same, as this would cloud the fine meaning of
the term.  Perhaps I am splitting hairs here and should just accept the broad definition of
q-value for FDR or pFDR and p-value for FWER.  Any other opinions?

I have also thought that perhaps topTable() should label the p-value/q-value column in the output
to indicate which adjustment method was used to generate the table.

> and also add a line to the
> documentation (it might already be there and I missed it)
>
> "If the number of significant results at level alpha is less than
> alpha*(number of genes), then the q-value will be 1.0."
>
> It seems like I have to explain this to just about every investigator who
> runs into this.

I get a lot of questions about this as well.  Actually, the statement you've made isn't always
true, although it usually is.  Even if the smallest p-value out of n genes is only as small as
1/n, the "fdr" adjusted p-value is not always 1.  It can be as small as 1/n depending on the other
n-1 p-values.

Perhaps the way to go would be for topTable() to output the raw p-values as well as the adjusted
p-values/q-values.  I haven't done this so as to keep the table as small as possible, but it would
prevent users from being presented with just a list of p-values all equal to 1.  What do you
think?

Gordon

> Naomi S. Altman                                814-865-3791 (voice)
> Associate Professor
> Bioinformatics Consulting Center
> Dept. of Statistics                              814-863-7114 (fax)
> Penn State University                         814-865-1348 (Statistics)
> University Park, PA 16802-2111



More information about the Bioconductor mailing list