Hello,
I am looking for some GO analysis code-snippet for the following task,
1) list all the GO terms under "molecular function"
2) For a given GO id, list the associated Entrez gene IDs (or
Affymetrix
probe IDs for U133A)
A further question: is there a package analyzeing GO hierarchically? I
mean,
testing the parent nodes first; if it is not significant, then,
testing the
children? I think most of the packages just test all the GO terms
simutanuously.
Thanks!
Simon
"Simon Lin" <simonlin at="" duke.edu=""> writes:
> Hello,
>
> I am looking for some GO analysis code-snippet for the following
task,
>
> 1) list all the GO terms under "molecular function"
You can do this at the GO level, as Jan suggested, but here's a way
based on the hgu133a annotation data which makes sense given your
second question...
library("annotate")
library("hgu133a")
library("GO")
isMF = filterGOByOntology(ls(hgu133aGO2ALLPROBES), "MF")
mfGO = ls(hgu133aGO2ALLPROBES)[isMF]
> 2) For a given GO id, list the associated Entrez gene IDs (or
Affymetrix
> probe IDs for U133A)
At present, this takes two steps using the annotation data packages.
It will get easier soon when the DB-based annotation packages are
introduced. But for now...
## map a GO ID to probeset IDs
hgu133aGO2ALLPROBES[[mfGO[12]]][1:5]
TAS NAS NAS NAS TAS
"203072_at" "203215_s_at" "203216_s_at" "204527_at" "204631_at"
## turn those into Entrez Gene IDs
psids = hgu133aGO2ALLPROBES[[mfGO[12]]][1:5]
unlist(mget(psids, hgu133aENTREZID))
203072_at 203215_s_at 203216_s_at 204527_at 204631_at
4643 4646 4646 4644 4620
> A further question: is there a package analyzeing GO hierarchically?
I mean,
> testing the parent nodes first; if it is not significant, then,
testing the
> children? I think most of the packages just test all the GO terms
> simutanuously.
Have a look also at the GOstats package and the hyperGTest method.
There are details in the vignette of how to run a conditional analysis
that orders the computation bottom up (the concept is quite similar to
that provided by Adrian's topGO package).
You may find that the result object returned by hyperGTest in the case
of GO helps you avoid the annotation data package gyrations as it
gives you access to the resulting GO -> Entrez map, etc. See the
vignette for details.
Best,
+ seth
--
Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research
Center
BioC: http://bioconductor.org/
Blog: http://userprimary.net/user/
>
> I am looking for some GO analysis code-snippet for the following
task,
>
> 1) list all the GO terms under "molecular function"
You could use the GOMFOFFSPRING environment from the GO package. See
the
example in the help.
> 2) For a given GO id, list the associated Entrez gene IDs (or
Affymetrix
> probe IDs for U133A)
The metadata packages generally do this. For EntrezGene id mapping you
can use the humanLLMappings package, for the Affymetrix U133A the
hgu133a2 package.
> A further question: is there a package analyzeing GO hierarchically?
I
> mean,
> testing the parent nodes first; if it is not significant, then,
testing
> the
> children? I think most of the packages just test all the GO terms
> simutanuously.
The globaltest package has functionality to use the structure of the
GO-graph to limit the number of tests. You should take a look at
chapter
4 of the vignette for an example.
Jan