[BioC] Time course experiment....

Gordon Smyth smyth at wehi.edu.au
Wed Jan 4 08:07:43 CET 2006

At 03:21 AM 4/01/2006, Jenny Drnevich wrote:
>At 07:12 PM 1/2/2006, Naomi Altman wrote:
>>I would like TopTable to print:
>>adjusted "p-value"
>>using whatever set of p-values is relevant - i.e. either the t-test
>>for a coefficient or the F-test for a set of coefficients or the
>>overall F-test.
>I concur... it would be helpful to see whether or not p-value 
>adjustment had been done in the object created by topTable, rather 
>than having to look back to the code when topTable was called (if 
>it's still around...).  Furthermore, it is possible to indicate 
>which adjustment has been done by the name of the column, e.g. BH.p 
>or BY.p? I understand these requests may not be feasible if the 
>resulting object needs to have the same number of columns with the 
>same names every time.

I am very reluctant to change the names of the columns in the 
data.frame output by topTable() depending on the adjustment method. 
This would make the output object difficult to program with. If 
someone writes a program using topTable() they won't know what column 
to extract to get the P-values unless they know what adjustment was used.

I could write a print method for toptable objects which would display 
informative column names. However that wouldn't change the column 
names in the output object itself, so you wouldn't get the 
informative column names if you save the results from topTable() and 
then write them to a file, which is what I think you're doing.

How about this? topTable() could output the name of the coefficient 
and the adjustment method before starting the tabular output, e.g.,

 > topTable(fit, coef=2)
Coefficient name: MTvsWT
Adjustment method: BH
ProbeID     M      A      t       P.value    Adj.P.value     B

>A couple of other suggestions for minor improvements on topTable 
>functionality: 1) have "ID" be an option for resort.by; 2) have 
>"all" be an option (or even the default!) for number. This second 
>request is really me just being lazy and not wanting to look up and 
>type in the number of genes, or coding it by  out.table <- 
>topTable(fit, number=length(fit$genes[,1]))

Sorting on ID is hard for the reasons I explain to Naomi.

I can include an "all" option for the number of genes. The reason I 
haven't done so yet is that I wanted to discourage the use of 
topTable() for outputing a file with all the genes in it, because 
that is the purpose of write.fit() rather than topTable(). Can you 
try out write.fit() and give me feedback on whether it does what you want?

What I find that I want sometimes is a topTable() type presentation 
for a specified list of genes. In other words, something like

   topTable(fit[ mygenes, ], sort="none")

is required.


>Happy New Year!

More information about the Bioconductor mailing list