owlcollab / owltools

OWLTools
BSD 3-Clause "New" or "Revised" License
108 stars 33 forks source link

ClassCastException / crash when running --make-species-subset #262

Open kimrutherford opened 6 years ago

kimrutherford commented 6 years ago

Hi.

We're having trouble with processing the latest go-plus.owl with owltools.

With this command line:

(cd /tmp/; wget http://purl.obolibrary.org/obo/go/extensions/go-plus.owl) && (cd go-svn/ontology/extensions; owltools /tmp/go-plus.owl --use-catalog --reasoner elk --make-species-subset -t NCBITaxon:4896 -o -f obo /tmp/go-plus-pombe-only.obo)

we get this exception:

2018-08-06 21:53:38,189 WARN  (IndexedObjectUnionOf:92) [reasoner.indexing.IndexedObjectUnionOf]ELK does not support positive occurrences of ObjectUnionOf. Reasoning might be incomplete!
2018-08-06 21:53:38,190 WARN  (ChangeIndexingProcessor:66) [reasoner.indexing.axiomIgnored]ELK does not support ObjectMinCardinality. Axiom ignored:
EquivalentClasses(<http://purl.obolibrary.org/obo/UBERON_0000037> ObjectIntersectionOf(<http://purl.obolibrary.org/obo/UBERON_0001305> ObjectSomeValuesFrom(<http://purl.obolibrary.org/obo/BFO_0000051> <http://purl.obolibrary.org/obo/UBERON_0000039>) ObjectMinCardinality(2 <http://purl.obolibrary.org/obo/RO_0002180>)))
2018-08-06 21:53:38,192 WARN  (ChangeIndexingProcessor:66) [reasoner.indexing.axiomIgnored]ELK does not support InverseObjectProperties. Axiom ignored:
InverseObjectProperties(<http://purl.obolibrary.org/obo/RO_0002005> <http://purl.obolibrary.org/obo/RO_0002134>)
Exception in thread "main" java.lang.ClassCastException: uk.ac.manchester.cs.owl.owlapi.OWLLiteralImplString cannot be cast to org.semanticweb.owlapi.model.IRI
        at org.obolibrary.macro.MacroExpansionVisitor$MacroExpansions.expand(MacroExpansionVisitor.java:162)
        at org.obolibrary.macro.MacroExpansionVisitor$MacroExpansions.<init>(MacroExpansionVisitor.java:122)
        at org.obolibrary.macro.MacroExpansionVisitor.expandAll(MacroExpansionVisitor.java:95)
        at owltools.mooncat.SpeciesSubsetterUtil.<init>(SpeciesSubsetterUtil.java:139)
        at owltools.cli.CommandRunner.runSingleIteration(CommandRunner.java:768)
        at owltools.cli.CommandRunnerBase.run(CommandRunnerBase.java:76)
        at owltools.cli.CommandRunnerBase.run(CommandRunnerBase.java:68)
        at owltools.cli.CommandLineInterface.main(CommandLineInterface.java:12)

It last worked successfully on August 2nd.

Thanks in advance.

CC: @ValWood

ValWood commented 6 years ago

Hi was this fixed? Val

cmungall commented 6 years ago

@kimrutherford - does this work

@balhoff - what's the best way of preventing these typos in the ontology in future? A custom sparql query?

balhoff commented 6 years ago

We should probably just have a SPARQL check that never_in_taxon only has IRI values. This has happened repeatedly.

kimrutherford commented 6 years ago

@kimrutherford - does this work

It works for me now.

wkpalan commented 5 years ago

When I run the above command I get an error catalog-v001.xml (No such file or directory) and I was wondering where to get the catalog file specific for gene ontology?

balhoff commented 5 years ago

@wkpalan you don't need the catalog file; just delete that part from the command. You can just provide the ontology file directly. The catalog provides a customized map from ontology IRIs to ontology files.

wkpalan commented 5 years ago

Thank you. I could get the command working, but wasn't sure whether not having a catalog file would change the results.