How can I calculate the "level" of a GO term?

FAQ tags: 

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.

But you may want to reconsider whether you want this information at all! The (maximum) depth of a term may not be as informative as you think.

A more informative metric would be the information content of the node based on annotations. See, for example, the work of Alterovitz et al. .