I'll take a look, thanks! But I was thinking in a database specialized in this type of filtering.
I'm constructing a protein-protein interaction network based on GO terms (proteins with the same GO id are considered a interaction pair). To do this, I downloaded an annotation file with all human proteins and their IDs and I only used those terms related to biological process. The problem I found it's that I have a huge number of interaction which makes the analysis too difficult or even impossible.
Since I'm working with neuromuscular diseases, is it possible to obtain a list of GO terms associated with neuromuscular processes in order to filter and reduce the number of terms?
2 answers
You can query UniProt with a GO term (use the Advanced search on https://www.uniprot.org), e.g. https://www.uniprot.org/uniprot/?query=goa%3A%28%22neuromuscular+process+%5B0050905%5D%22%29&sort=score
This can be filtered by organism, e.g. human, by using the filters on the left hand side.
Using the Bioconductor GO.db package, you can query all of the offspring/descendant terms for a GO term (here's an example for the GO term pigment
source("http://bioconductor.org/biocLite.R")
biocLite("GOstats")
biocLite("GO.db")
library("GOstats")
library("GO.db")
example using GO term for pigment = GO:0043473
GO.term <- "GO:0043473" # sets GO term as pigment
GO.term.descendants <- GOBPOFFSPRING$"GO:0043473" # gets descendants for pigment
GO.id.list <- c(GO.term, GO.term.descendants) # makes GO id list
Log in to answer this question.