Skip Menu |

This queue is for tickets about the onto-perl CPAN distribution.

Report information
The Basics
Id: 103386
Status: open
Priority: 0/
Queue: onto-perl

People
Owner: erick.antezana [...] gmail.com
Requestors: bh7 [...] sanger.ac.uk
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



CC: "bug-onto-perl [...] rt.cpan.org" <bug-onto-perl [...] rt.cpan.org>
Subject: OBO::Parser::OWLParser doesn't use XML::Parser
Date: Wed, 8 Apr 2015 16:13:26 +0000
To: "vladimir.n.mironov [...] gmail.com" <vladimir.n.mironov [...] gmail.com>
From: Ben Hutton <bh7 [...] sanger.ac.uk>
Hi Vladimir, I am trying to use your ONTO-PERL distribution of modules. It installed OK, but there is a problem (or two) with the OWL Parser. OWLParser.pm line 146 tries to create a new XML::Parser object, but the module never uses XML::Parser. This is not picked up by the tests, as the test skips the test if the module is not installed, and it checks if it is installed or not by using XML::Parser. After amending the module to use XML::Parser, I hit an undefined sub at line 640. subset_def_set is not defined in OBO::Core::Ontology. The file in question I am trying to use is an owl file converted from an obo file (https://sourceforge.net/p/song/svn/HEAD/tree/trunk/so-xp-simple.obo). The Sequence Ontology claim that an owl file is available, but it hasn't been updated "nightly" since 2012. I'm willing to help fix this if I can. Thanks in advance. Ben -- The Wellcome Trust Sanger Institute is operated by Genome Research Limited, a charity registered in England with number 1021457 and a company registered in England with number 2742969, whose registered office is 215 Euston Road, London, NW1 2BE.
If anyone is looking for an alternative to work on the command line, I have been directed to owltools https://github.com/owlcollab/owltools
RT-Send-CC: vladimir.n.mironov [...] gmail.com
Hi Ben, First of all, thanks for using/testing ONTO-perl. The code has been improved all these years thanks to feedback as yours. There might be a few reasons why you faced issues you reported: first of all, the errors you get might be sort of "normal" in the sense that the OWLParser is *only* capable to translate an OWL file that follows the oboInOwl mapping (http://www.bioontology.org/wiki/index.php/OboInOwl:Main_Page). However, as Vladimir pointed out, we stopped the maintenance of such particular file (the rest of the files is under regular maintenance) as the owl2obo mapping recomendation has been changing a lot... There is unfortunately no simple way to implement a "universal" translator (from any OWL file into a OBO one) since the OWL semantics/syntax is much more complex than the OBO one, in spite of effort to align both worlds (such as http://www.obofoundry.org/wiki/index.php/Working_Group_on_OBO-OWL_interconversion) to get OBO semantics closer to OWL so that a (clean) translation could be eventually implemented... so I am sorry to tell you those news ;-) As you can read in http://search.cpan.org/dist/ONTO-PERL/scripts/owl2obo.pl, the translator is not universal... We've been planing to resume work on the OWLParser.pm module as soon as the mapping OBO2OWL is more "stable"(http://www.obofoundry.org/wiki/index.php/Working_Group_on_OBO-OWL_interconversion); however, other (coding) priorities blocked us to move forward. Then, any contribution is very welcome so if you spot any piece of code/file/etc. that could be improved, please go ahead. On the other hand, a bug (or many) might be present in the OWLParser...have you successfully installed the entire set of modules (version 1.44)? have all tests passed successfully? btw, why do you want to translate your ontology (SO) into OBO? If you are using Protege, you can export your OWL ontology in OBO. You might loose some of the semantics, though... ONTO-perl has been developed to mainly support OBO-formatted ontologies. cheers, Erick p.s. I am preparing a new release (1.45)
Hi Erick, Thanks for taking the time to get back to me. Ah, yeah I can see how that's a problem. I've been continuing to work on this over the past few days. Originally we only had the OBO file, as provided by the SO site. Their site also linked to an OWL file, but it was very out of date. I found an OWL file contained in the SO SVN repo on sourceforge, but when using Protege to compare ontologies, it noted a few missmatches. Using Protege, I saved the OBO version in an OWL format, and ran the comparison between the two. This seems to have made a successful mapping. I still need to run both versions of the OWL file through a script which converts the OWL data to SQL. The OWL file in the SVN repo used a different application to generate the file, but that's probably not of much interest to you. I appear to be in the same boat regarding codeing priorities. I feel that as the OWLParser is currently broken (as I explained, not picked up by the tests), maybe it should be removed from the release till it can be fixed? I installed the modules as per the instructions, and the tests passed, but the test passing for the OWLParser is a false positive. In reply to your question, I only wanted to convert the ontology BACK to OBO to confirm the translation from OBO to OWL, completing the round trip. Cheers Ben On Fri Apr 10 07:58:11 2015, EASR wrote: Show quoted text
> Hi Ben, > > First of all, thanks for using/testing ONTO-perl. The code has been > improved all these years thanks to feedback as yours. > > There might be a few reasons why you faced issues you reported: first > of all, the errors you get might be sort of "normal" in the sense that > the OWLParser is *only* capable to translate an OWL file that follows > the oboInOwl mapping > (http://www.bioontology.org/wiki/index.php/OboInOwl:Main_Page). > However, as Vladimir pointed out, we stopped the maintenance of such > particular file (the rest of the files is under regular maintenance) > as the owl2obo mapping recomendation has been changing a lot... > > There is unfortunately no simple way to implement a "universal" > translator (from any OWL file into a OBO one) since the OWL > semantics/syntax is much more complex than the OBO one, in spite of > effort to align both worlds (such as > http://www.obofoundry.org/wiki/index.php/Working_Group_on_OBO- > OWL_interconversion) to get OBO semantics closer to OWL so that a > (clean) translation could be eventually implemented... so I am sorry > to tell you those news ;-) > > As you can read in http://search.cpan.org/dist/ONTO- > PERL/scripts/owl2obo.pl, the translator is not universal... > > We've been planing to resume work on the OWLParser.pm module as soon > as the mapping OBO2OWL is more > "stable"(http://www.obofoundry.org/wiki/index.php/Working_Group_on_OBO- > OWL_interconversion); however, other (coding) priorities blocked us to > move forward. Then, any contribution is very welcome so if you spot > any piece of code/file/etc. that could be improved, please go ahead. > > On the other hand, a bug (or many) might be present in the > OWLParser...have you successfully installed the entire set of modules > (version 1.44)? have all tests passed successfully? > > btw, why do you want to translate your ontology (SO) into OBO? If you > are using Protege, you can export your OWL ontology in OBO. You might > loose some of the semantics, though... > > ONTO-perl has been developed to mainly support OBO-formatted > ontologies. > > cheers, > Erick > p.s. I am preparing a new release (1.45)