Gene Set Enrichment Analysis with topGO
Entering edit mode
jacorvar ▴ 40
Last seen 29 days ago
European Union

Dear BioC community,

I have a boolean vector called pval where 1 means differentially expressed and 0 non-DEwhose element names are the Entrez IDs.

In order to make a GSEA according to GO MF, I do the next:

​GOobj <- new("topGOdata", description = "Simple session",
    ontology = 'MF', allGenes = pval,
    geneSel = function(x) return(x), nodeSize = 10,
    annot =, mapping = annotation(transcript), ID = 'entrez')
allGO = usedGO(object = GOobj)
resultFisher <- runTest(GOobj, algorithm = "classic", statistic = "fisher")
allRes <- GenTable(GOobj, classicFisher = resultFisher,
                   orderBy = "classicFisher", ranksOf = "classicFisher", topNodes = length(allGO))

My main problem is that the lowest p-values always correspond to very general terms, such as binding, and therefore they comprise lots of other (probably more interesting) terms. Is there any way to avoid this with the topGO package or is there another package that solves this issue?

topGO gene set analysis • 1.2k views
Entering edit mode
Last seen 4 hours ago
United States

The topGO package is based on methods that Adrian Alexa developed to do exactly what you are talking about. Paradoxically it seems that most of the examples in the vignette and the help pages describe the classic Fisher's exact instead. Anyway, you probably want either the elim, weight or weight01 methods (the latter being a combination of the two former methods). The weight01 is the default method, so if you just did

resultFisher <- runTest(GOobj, statistic = "fisher")

you would probably get what you wanted all along. If you care to know about the different methods, see the package vignette, which has references.


Login before adding your answer.

Traffic: 282 users visited in the last hour
Help About
Access RSS

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6