geneontology / annotation_extensions

Documentation, tickets & usage reports for annotation extension relations.
2 stars 2 forks source link

Possible protein2GO plugin to show folding. #52

Open dosumis opened 9 years ago

dosumis commented 9 years ago

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


{"result":[
{"owlClass":"http://purl.obolibrary.org/obo/GO_0001508>",
 "classURI":"http://purl.obolibrary.org/obo/GO_0001508",
 "ontologyURI":"MP","remainder":"GO_0001508",
"label":"action potential",
"definition":null,
"deprecated":false},
{"owlClass": <http://purl.obolibrary.org/obo/GO_0019228>",
"classURI":"http://purl.obolibrary.org/obo/GO_0019228",
"ontologyURI":"go-plus",
"remainder":"GO_0019228",
"label":"neuronal action potential",
"definition":"An action potential that occurs in a neuron.",
"deprecated":false}],
"time":722}

To be safe, only take results from "ontologyURI":"go-plus"

Doc http://aber-owl.net/help

CC @rachhuntley @RLovering @mcourtot @tonysawfordebi

cmungall commented 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

dosumis commented 9 years ago

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.

cmungall commented 9 years ago

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

cmungall commented 9 years ago

Alternatively we could fork aber-owl and add the MER

cmungall commented 9 years ago

Hmm, I would expect this to yield owl:Nothing (and hence everything)

http://aber-owl.net/service/api/runQuery.groovy?type=superclass&query=%27extracellular%20space%27%20and%20%27occurs%20in%27%20some%20nucleus&labels=true&direct=true

compare

screen shot 2015-08-28 at 11 36 21 am