Open dosumis opened 9 years ago
This approach will be incomplete as you can't query for class expressions. For example, the results here should also include a GO CC annotation to 'neuron part' (yes this is an odd way of sneaking cell type annotations into GO annotations, but it's valid).
Similarly, if we were to include GCIs like
('action potential' and occurs_in some neuron) SubClassOf occurs_in some 'plasma membrane'
We would want the CC annotation to PM.
You could get this by creating an ontology go-plus-M where you materialize po-some-X and occ-in-some-X classes, then map back, and various pieces of procedural code to remove trivial annotations, remove redundancy, etc.... or p2go could just do a JVM call to the exact same code we use as part of the Jenkins pipeline
Still, incomplete is better than nothing - assuming you don't have the resources to provide something like this as a nicely pacakged web-service with the additional functionality. I know there's nothing particularly clever about aber-owl. But it was fast to set up, easy to use and allows webservices returning JSON. Query response time on the above queries is under a second and works across all ontologies loaded.
not always better than nothing. There is already a lot of confusion here. Showing people two methods which give different results will confuse people further. My first example is analogous to the example in the agenda (put there by Ruth?) so if this doesn't solve that then we haven't advanced very far.
I was assuming that Tony (don't know his github) could simply do a JVM level call, but if not it's not hard to put a service layer over something using dropwizard, maybe @hdietze has other suggestions
Alternatively we could fork aber-owl and add the MER
Hmm, I would expect this to yield owl:Nothing (and hence everything)
compare
Retrieving folding inference from annotation extension via Aber-OWL web service query
Annotation: 'action potential' occurs_in(motor neuron)
Query => result: Folds under 'neuronal action potential'
Query by names http://aber-owl.net/service/api/runQuery.groovy?type=superclass&query=%27action%20potential%27%20and%20%27occurs%20in%27%20some%20%27motor%20neuron%27&labels=true&direct=true
(readable: http://aber-owl.net/service/api/runQuery.groovy?type=superclass&query='action potential' and 'occurs in' some 'motor neuron'&labels=true&direct=true )
Query by URIs (safer):
http://aber-owl.net/service/api/runQuery.groovy?type=superclass&query=%3Chttp://purl.obolibrary.org/obo/GO_0001508%3E%20and%20%3Chttp://purl.obolibrary.org/obo/BFO_0000066%3E%20some%20%3Chttp://purl.obolibrary.org/obo/CL_0000100%3E&direct=true
(readable http://aber-owl.net/service/api/runQuery.groovy?type=superclass&query=http://purl.obolibrary.org/obo/GO_0001508 and http://purl.obolibrary.org/obo/BFO_0000066 some http://purl.obolibrary.org/obo/CL_0000100&direct=true )
=> JSON output with list of results
To be safe, only take results from "ontologyURI":"go-plus"
Doc http://aber-owl.net/help
CC @rachhuntley @RLovering @mcourtot @tonysawfordebi