Select the annotation level during GO enrichment
1
2
Entering edit mode
artur ▴ 80
@artur-6730
Last seen 8.8 years ago
Germany

I am working with a non model organism and I performed a gene set enrichment test using topGO and GOstats. The analysis in both cases worked properly, but I would need an enrichment for a higher level of GO (less specific). Is someone aware of a way to select the annotation level to use for performing the enrichment with these two tools?

Thank you for your help.

topgo gostats go • 3.2k views
ADD COMMENT
2
Entering edit mode
@james-w-macdonald-5106
Last seen 15 hours ago
United States

What you would want to do is set conditional = FALSE (in GOstats), and whatever you do to achieve that result using topGO. That argument, when set to TRUE, will remove genes from more general GO terms when the gene gave rise to a significant result in a more specific term. Once you set it to FALSE, then each GO term is tested using all genes that are annotated to that term.

Since the hypergeometric test (once conditional is set to FALSE) isn't conditional on anything else, running GOstats or topGO on a subset of GO terms will not give results any different than running on all the terms, except for excluding some of the terms from consideration. In other words, subsetting to a set of less specific GO terms won't change any of your p-values, nor the ordering. It will just remove the more specific results from your list of terms, which you can easily do yourself by simply ignoring those terms in your output.

ADD COMMENT
0
Entering edit mode

Thanks for your answer, This is a really good idea when working with GOstats. However, this apporach will work quite good if the GO IDs enriched are not that many. In case of 50-70 GO IDs, this would require quite a lot of manual work. I'm just wondering if there is a way/package to subset the enriched GO according with a desired specificity.

ADD REPLY
0
Entering edit mode

You can get the DAG structure from your GOHyperGResults object using the goDag() extractor function. This will return a graphNEL object that you can either plot to see the different levels, and select the GO IDs you like by hand. Alternatively you could probably extract the things you care about from the graphNEL object, but I am not that familiar with such things, so my usefulness in this matter has come to an end.

ADD REPLY

Login before adding your answer.

Traffic: 869 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

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

Powered by the version 2.3.6