Open dustine32 opened 5 years ago
There is an open ticket in robot: https://github.com/ontodev/robot/issues/302
You can do this now with owltools, though owltools is deprecated for command line ontology processing, the intent is to move all ontology processing commands into robot; but it should work for your purposes for now. See the example at the above linked ticket.
Awesome thanks @cmungall ! This is exactly what I'm looking for. I'll give it a shot.
Last Friday I wrote something that seemed to do the trick using ontobio, but it was extremely slow. Took 3-4 hours to fill in a slim of about 2700 terms. I'll push the branch to see if you guys think it's worth keeping at all.
Sorry if there's already functionality like this in ontobio:
Use case is generating a new Panther slim from an Ontology object. We first load the whole GO, run some heuristic to select what terms we want, then make a subontology from these nodes and pass this to the GraphRenderer for writing an OBO file.
Initially attempting these steps, I get an OBO file with an incomplete relation set. For example, we selected to keep GO terms GO:0015485 (cholesterol binding) and GO:0005488 (binding) but none of the intermediate terms (e.g. GO:0043178 "alcohol binding") connecting them through is_a relations. And so, because there isn't an explicit GO:0015485 is_a GO:0005488 edge in the graph, the relation doesn't get written to the OBO output.
@cmungall @dougli1sqrd Got any idea of existing code that would do this? I can try filling it into ontobio if the answer is "no". Thanks!