obook
obook copied to clipboard
Tutorial/documentation for application ontology
Requested by the ontologist in Allen institute There currently is this template that needs to be filled in: https://oboacademy.github.io/obook/lesson/application-ontology-development/
@hrshdhgd and @caufieldjh can help with this as they are both building application ontologies (bero and phenio)
This may be a specific category of application ontology, with various characteristics that deserve dedicated documentation:
- no templates
- no editing of a src file in Protege
- ontology is purely a merge of interlocking baseplus modules driven by a configuration
- ontology may have some sparql updates to fix some things (e.g. bero will fix upper levels of envo to be biologist friendly) (possibly specified by kgcl in future)
Note also in such as ontology the notion of a base (whether pure or baseplus) doesn't make sense as there will be no IDs in the application ontology namespace
There are some specific considerations here such as file sizes - will likely want to bypass checking in final products
There are some other downstream things we commonly want to do but I don't know if this belongs in obook:
- Make a sqlite database of the ontology using semsql
- Note this involves running relation-graph
- Making other distribution files such as TSVs (e.g kgx)
I am working on it - there is a tutorial planned in the Monarch OBO training in 3 weeks about this, plus we need it for the ICBO tutorial. I made some headway in my mind, but I am struggling slightly with how to concretely implement
- glue:
- adding additional inter ontology links (robot template)
- adding additional intra ontology links (sssom)
- tear:
- removing intra ontology links (e.g. MONDO:animal disease subClassOf MONDO:disorder)
- removing inter ontology links
- how to best extract subsets
- managing seeds
- extraction process (we still don't have the really right one implemented, even though we know now what we need for your sermons)
Hi all, have been developing my own janky pipelines for application ontology stuff, and has requests for tutorials on this by team members. I do it super scrappy but rmbr there was something here. atm it seems that the application ontology part is empty (https://oboacademy.github.io/obook/lesson/developing-application-ontologies/), happy to help work on it, though it seems like you already have materials. Anyway, let me know if I can be of help here :) thanks
PS I was doing it without ODK and ive never missed the ODK as much before lol
Hey @shawntanzk !
Interesting! Are you using a ODK setup for the application ontology you build or something entirely custom?
I would be curious also about what kind of application ontologies industry is building, their specific use cases, and how and why they make use of open ontologies. Is this something you are allowed to talk about?
Thanks for the reply @matentzn :) am writing a paper that has information on what we do on it atm, let me clear with my managers what I can and cannot share at this point, but basically I'm using ROBOT to subsetting public ontologies, and joining them up using BFO (wrote an internal tutorial for that already). I wanted to use ODK, but we can't easily have docker on our computers and was not a fan of git push/pull just to see stuff in protégé. But I've recently managed to remote desktop into a AWS VM and install everything I need in there for a ODK workflow. So was thinking to also have a ODK workflow tutorial, which makes more sense in obook than just internal. Will see if I can share more stuff atm and get back to you when I'm back in office (don't think it will be a problem but just being safe)
Thank you! Looking forward to hearing about your use cases! :) Keep us posted!
Thank you! Looking forward to hearing about your use cases! :) Keep us posted!
Hey hey, sorry took me so long to get back to you - unfortunately due to regulations and all, cant share specifics till we preprint :( but its not super complicated and all. I think what we can do to get started is starting a more generic subsetting tutorial - happy to work on this :)
Once we get our preprint out (hopefully soon) then I can write a bit more specifics. Probably need input on some stuff cause I think my use case might be super specific and might need input on how to make it generically useful. Do let me know how you think it best to proceed with this, thanks :)