-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New translation of GAF to OWL #117
Comments
Why not submit a version with explicit NOTs for DL classification/querying? |
Well it may take a bit of work to generate a version that has both strong negation and is coherent. I don't think we'd want to submit an incoherent ontology for anything other than a coherence test (coherent = all classes satisfiable, and no inconsistencies) |
* re-implement the GAF/GeneAnnotation translation into an all-individual OWL model * add command-line method to run translation * see issue #117
There is now a new owltools command:
The The new command is provisional and intended for experimenting and we will at some point use the originally requested one |
Closing the issue for now until specs change or bugs are found. |
The goal here is to produce a dataset from GO for submission to the Ontology Reasoner Evaluation, using a combo of ontologies and GAFs. As currently GAF lines are independent this limits the interesting connectivity of the data (this would be served by the conversion of a biopax resource to lego-owl).
Current situation is we have two paths for converting gaf2owl
--gaf2lego
, which is specified here http://geneontology.org/experimental/lego/docs/lego-from-gaf.txt, and uses the lego class expression model. Let's call thislego-CE
--gaf2owl
which has a hodgepodge of command line options that allow for complex mixing and matching of different models. Underlying code is GAFOWLBridge. This translation is used in the current jenkins gaf checks (e.g. for taxon and c16 violations). Let's call thisGAF-OWL
For the purposes of the ORE, we think it best to focus efforts on a lego individual model, call this
lego-I
. Heiko will write this from scratch, the specification is essentially the composition of thelego-CE
translation and the mapping to OWL individual model for LEGO. This could probably be restated in a simpler form, todo.To make things more interesting, we will include a strong translation of negation that basically "blocks out" all individuals that could instantiate that pattern. E.g. if the GAF says "foo NOT in nucleus", we will map this to
Let's call this
lego-I-strongNeg
This means if there is a separate positive GAF line that says "foo in nucleus" it would generate
Which would yield an inconsistency, since the class axiom above effectively "blocks out" this ABox pattern for foos (but note: not detected in Elk as it uses OPEs).
This is I think interesting from the POV of the ORE where we want to benchmark detecting inconsistencies. But this is probably too strong for a general purpose GO translation (unless the negation axioms are isolated), because GO annotations naturally have these "inconsistencies".
We could submit two versions for the ORE - one where the challenge is to find the inconsistencies, the other with negation removed where the goal is to answer some query.
As for an interesting query; I understand we can use SPARQL. We have less connectivity in a DL query since the individual graphs are disconnected, but the overall ABox+TBox graph is more connected.
Query of the form "which geneProducts do X" in
lego-I
have the form:(since we essentially have separate disconnected lego models, where geneProducts (which may be genes in the naive translation) are united by the class they instantiate (e.g. "Mouse Shh" is a class)).
cc @dosumis
The text was updated successfully, but these errors were encountered: