The Gene Ontology is generally species-agnostic so you should clarify what you mean. Are you looking for all GO terms that are currently used to annotate human genes ? If so, used in which resource ?
One way to get all human GO terms is with biomaRt in R. Here an example how to retrieve information from ensembl using biomaRt, the creation of the tables further is up to you.
library(biomaRt)
ensembl <- useMart("ENSEMBL_MART_ENSEMBL")
ensembl <- useDataset("hsapiens_gene_ensembl", mart = ensembl)
# First get all ensembl genes
all.ensemblgene <- unique(getBM(attributes = "ensembl_gene_id",
values = "*",
mart = ensembl))
# Get all GO terms associated with the genes
GOs <- getBM(attributes=c('ensembl_gene_id', 'go_id', 'name_1006', 'namespace_1003'),
filters = 'ensembl_gene_id',
values = all.ensemblgene,
mart = ensembl)
dim(GOs)
[1] 420970 4
# Keep only unique terms
only.go.table <- unique(GOs[,2:4])
dim(only.go.table)
[1] 17911 3
head(only.go.table)
go_id name_1006 namespace_1003
1 GO:0005737 cytoplasm cellular_component
2 GO:0005829 cytosol cellular_component
3 GO:0005654 nucleoplasm cellular_component
4 GO:0009967 positive regulation of signal transduction biological_process
5 GO:0005515 protein binding molecular_function
6 GO:0005886 plasma membrane cellular_component
Have you looked at: http://www.geneontology.org/
The Gene Ontology is generally species-agnostic so you should clarify what you mean. Are you looking for all GO terms that are currently used to annotate human genes ? If so, used in which resource ?