Open nadia-dev opened 7 years ago
Ontology terms have parents and children. OntologyTerm.parents.identifier
. The whole ontology is a big tree.
Ontology terms can be marked "obsolete". OntologyTerm.obsolete
= TRUE
. Obsolete terms are less useful because the aren't used anymore (obviously!). But you wouldn't always want to filter them out, so Gos suggested letting the user filter.
ok, some more details on the GO Term stuff: all GO Terms are children (mostly indirectly) of one of three parent terms: Biological process
, cellular component
, and molecular function
. I've attached a graph showing some terms that I worked on last year from http://gointermod.apps.intermine.org/#/ontology Search was for GATA1, Cellular component selected on left, and C. elegans and M. musculus manually unchecked in the output species at the top, if you want to look at it some more. the graph is a bit tricky because with too many results it becomes a silly mess.
To get there, I've looked through my code and it seems that I run this query (note the 'put your data here' bits in ((((brackets))))
<query model="genomic" view="GOTerm.identifier GOTerm.name GOTerm.parents.identifier GOTerm.parents.name GOTerm.parents.parents.identifier GOTerm.parents.parents.name" sortOrder="GOTerm.parents.parents.name ASC" constraintLogic="A and B"><constraint path="GOTerm.identifier" op="ONE OF" code="A">" ((((ids)))) "</constraint><constraint path="GOTerm.namespace" code="B" op="=" value="((((biological_process or one of the other two))))"/></query>
that's a bit more complex than what you'd need I am guessing since you don't need to create a whole tree, just get the parents for a single term I think? So it's probably easy to build something like this in the query builder:
Let's add as a bonus feature if there is time at the end :)
@yochannah, i need your help as i didn't understand the most of it: