We all know different ways to annotate the genes with GO terms. My question is that if I want to compare GO terms of my species of interest (which I already have) with another species, it will be ease of task if there is a database where we can retrieve the GO annotation for other species. So that I can do a comparative study with both organism. As I am new to this field, sorry if this question doesn't make sense. I am happy if I get suggestions and tips from you.
In R, you can access all GO terms associated to a species from the annotation packages:
> library(org.Mm.eg.db) # install with biocLite('org.Mm.eg.db') first > library(org.Hs.eg.db) > mouse.GO = as.data.frame(org.Mm.egGO) > human.GO = as.data.frame(org.Hs.egGO) > head(human.GO) gene_id go_id Evidence Ontology 1 1 GO:0008150 ND BP 2 2 GO:0001869 IDA BP 3 2 GO:0002576 TAS BP 4 2 GO:0007264 TAS BP 5 2 GO:0007596 TAS BP 6 2 GO:0007597 TAS BP
I am not sure what is the best way to compare two datasets from different species. The GOSemSim allows to compare set of GO terms from the same species, but currently the comparison between different species is not implemented. In any case you may read the GoSemSim documentation to learn about the different metrics to compare sets of GO term.
What about BioMart? I have never used it personally in this way but I know it offers a wide variety of annotations for many organisms (including GO terms of course). Its available here: http://www.biomart.org/ or here: http://www.ensembl.org/biomart/martview/5a29cfe7faa42e6a75840221e6b15761 and also as R (https://www.bioconductor.org/packages/release/bioc/html/biomaRt.html) or python (https://pypi.python.org/pypi/biomart/0.4.0) package.