Closed caufieldjh closed 1 year ago
A very similar error happens when relaxing BERO (Biological and Environmental Research Ontology).
Same for PR, oddly enough (because that hasn't posed an issue in the past, besides #68 ).
Also NCBITAXON but that could be a memory issue?
There was a similar issue before (#15) but that was pretty explicitly due to null values in comment strings.
It's pretty clear that something isn't converting to OBO graph cleanly, and one possibility is that a more recent version of ROBOT handles the remove
command differently now so the previously defined process for attempting to fix this no longer works as expected.
This does not work, however (same input ontology as the first example above, for CCO):
robot remove --input /tmp/tmpxpybbnaf --select annotation-properties --exclude-term rdfs:label --exclude-term IAO:0000115 --output transformed/ontologies/CCO/CCO_6_fixed.json -vvv
It still yields the following:
DEBUG Saving ontology as OboGraphs JSON Syntax with to IRI file:/home/harry/BioPortal-to-KGX/transformed/ontologies/CCO/CCO_6_fixed.json
OBO GRAPH ERROR Could not convert ontology to OBO Graph (see https://github.com/geneontology/obographs)
For details see: http://robot.obolibrary.org/errors#obo-graph-error
java.io.IOException: errors#OBO GRAPH ERROR Could not convert ontology to OBO Graph (see https://github.com/geneontology/obographs)
at org.obolibrary.robot.IOHelper.saveOntologyFile(IOHelper.java:1722)
at org.obolibrary.robot.IOHelper.saveOntology(IOHelper.java:846)
at org.obolibrary.robot.CommandLineHelper.maybeSaveOutput(CommandLineHelper.java:667)
at org.obolibrary.robot.RemoveCommand.execute(RemoveCommand.java:202)
at org.obolibrary.robot.CommandManager.executeCommand(CommandManager.java:244)
at org.obolibrary.robot.CommandManager.execute(CommandManager.java:188)
at org.obolibrary.robot.CommandManager.main(CommandManager.java:135)
at org.obolibrary.robot.CommandLineInterface.main(CommandLineInterface.java:61)
My suspicion is now that this is caused by malformed metadata. Performing the transform from scratch (i.e., removing the temp file and running the following) leads to a successful CCO transform.
$ python run.py --input ~/Bioportal/4store-export-2022-07-20/data/ --kgx_validate --get_bioportal_metadata --ncbo_key [key] --write_curies --include_only fbb225ff0f97d7737e854fd2d48d
Looking for records in /home/harry/Bioportal/4store-export-2022-07-20/data/
Will only include the specified 1 file(s).
1 files found.
Setting up ROBOT...
ROBOT path: /home/harry/BioPortal-to-KGX/robot
ROBOT evironment variables: -Xmx12g -XX:+UseG1GC
Transforming all...
Starting on /home/harry/Bioportal/4store-export-2022-07-20/data/f0/ff/fbb225ff0f97d7737e854fd2d48d
BioPortal metadata not found for CCO_6 - will retrieve.
Accessing https://data.bioontology.org/ontologies/CCO/...
<Response [200]>
Accessing https://data.bioontology.org/ontologies/CCO/latest_submission...
<Response [200]>
Retrieved metadata for CCO (Cell Cycle Ontology)
ROBOT: relax CCO_6
Relaxing /tmp/tmp1pm8qzp3 to transformed/ontologies/CCO/CCO_6_relaxed.json...
Complete.
KGX transform CCO_6
...
The process of transforming CCO (Cell Cycle Ontology) goes like this:
An unrelated but still present issue: robot's verbosity flag is
-vvv
, not--vvv
.Run the robot command on its own, and this happens:
This ontology hasn't been updated in 8 years so it may be skippable.