[BioC] hyperGTest html report

Sebastien Gerega seb at gerega.net
Thu Jan 10 01:14:58 CET 2008


Thanks for that!
I can now almost get what I want.....
Here is the code I use:

hgOver = hyperGTest(params)
report = summary(hgOver, htmlLinks=TRUE)
cats = sigCategories(hgOver)
reportGenes = vector()

for(i in 1:length(cats)){
    reportGenes = append(reportGenes, geneIdsByCategory(hgOver, cats[i]))
}

This gives me reportGenes as a list something like this:

$`04650`
[1] 10451  4277  5296  5880  6464  8743  8795  8797

$`04670`
[1] 10451  1365  5296  5829  5880  6387  6494    87  9564

$`00150`
[1]  3291 51451  6715

$`04080`
[1]  154 2150 4886 4923 7433

$`04360`
[1] 10512  1969  2043 56920 57522 57556  5880  6387

I would then like to run the following code:

report <- data.frame(report, reportGenes)
xtab <- xtable(report, caption="A Caption")
print(xtab, type="html", file="Afile.html", caption.placement="top", 
sanitize.text.function=function(x) x, include.rownames=FALSE)

But I get the following error:
Error in data.frame("04650" = c(10451L, 4277L, 5296L, 5880L, 6464L, 
8743L,  :
  arguments imply differing number of rows: 8, 9, 3, 5, 7

How should I deal with this list so that I can add it to the data.frame? 
And are there any faster ways to do what I have done in this code?
I am still getting used to R.
thanks heaps,
Sebastien

James W. MacDonald wrote:
> Hi Sebastien,
>
> Maybe not directly, but note that htmlReport() is simply using xtable 
> to create the HTML page using the output from summary(). So you could 
> just create the table and then add a column of Entrez Gene IDs and 
> then output the result.
>
> Say your GOHyperGResult object is called 'hypt':
>
> out <- summary(hyp, summary.args=list(htmlLinks=TRUE, categorySize=10))
>
> Note that the categorySize argument isn't necessary, but does protect 
> you from choosing arguably spurious results (like a GO term with 3 
> genes in the universe and 1 that was significant).
>
> Now you are going to have to create a vector containing all the Entrez 
> Gene IDs for each GO term. For this to work in HTML, you will also 
> need to separate each ID with a <P>EntreGeneID</P>, so you will need 
> to either cat() or paste() things together. Once you have that, just 
> add to the data.frame created above:
>
> out <- data.frame(out, entregeneidvector)
> xtab <- xtable(out, caption="A Caption", digits=rep(c(3,0), c(4,8)))
> print(xtab, type="html", file="A file name.html", 
> caption.placement="top", sanitize.text.function=function(x) x, 
> include.rownames=FALSE)
>
> HOWEVER, that might not really be what you want, as it will obviously 
> be a bit of work, and could get really messy if there are dozens of 
> Entrez Gene IDs for a particular GO term. An alternative is to output 
> individual HTML tables for each GO term of interest that list out the 
> probesets that contributed to the significance of that term. For that 
> you might want to look at hyperGoutput() in the affycoretools package.
>
> Best,
>
> Jim
>
>
> Sebastien Gerega wrote:
>> Hi,
>> is there any way to get additional information into the hyperGTest 
>> html report?
>> Specifically, I would like to include the Entrez IDs for the genes 
>> contributing to
>> each overrepresented GO term.
>> thanks,
>> Sebastien
>>
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives: 
>> http://news.gmane.org/gmane.science.biology.informatics.conductor
>



More information about the Bioconductor mailing list