I have a list of GO terms. I would like to know if in my list there are any child or ancestor terms of other GO terms in the list. Is there a tool to do this? Where can I alternatively download such a schema? Please let me know.
GO terms do not occupy strict fixed levels in the hierarchy. Because GO is structured as a graph, terms would appear at different 'levels' if different paths were followed through the graph. This is especially true if one mixes the different relations used to connect terms. Thus it is more proper to ask: "what is the maximum depth of such and such a term" (or minimum, average, etc.).
We do not pre-generate reports showing this. If you genuinely want this information you can perform SQL queries on our database to get it. See this example.
Hi pal, there is a library call GO.db that can help you with this. For example, if you would like to find the children terms of the go term GO:0006412, you could use as.list(GOBPCHILDREN['GO:0006412']).