robot icon indicating copy to clipboard operation
robot copied to clipboard

Discuss adding --clean-obo option to convert

Open beckyjackson opened this issue 3 years ago • 17 comments

Some ontologies contain axioms that will not properly convert to OBO, and the OBO writer sometimes fails with no good information on how to fix the issue - see https://github.com/OBOFoundry/COB/issues/168

We should consider adding a hack to convert that removes these bad axioms (e.g., inverse in subClass axioms). My main concern with this is how to handle is multiple annotations (label, definition, comment). From above discussion:

Do we drop all of them, or do we just pick a random one to drop? That could result in some faulty outputs and spurious diffs.

cc @matentzn

beckyjackson avatar Apr 25 '22 16:04 beckyjackson

Whatever is necessary, I would vote for lexical sort order, delete everything but the first. This helps with transparency. -vvv will also INFO: what has been dropped exactly!

Right now, I am adding robot remove --axioms annotation commands in many pipelines just so I can create an OBO file. --check false is really not all that useful, if it creates illegal OBO on the other side..

I think --clean-obo extension to convert would be sweet and straight forward to implement.

matentzn avatar Apr 25 '22 16:04 matentzn

I agree that this is a good feature to add. It needs to be deterministic, and @matentzn's suggestion of first in lexical order, and INFO for dropped annotations, sounds good to me.

Are you volunteering to implement, or find someone to implement this @matentzn?

jamesaoverton avatar Apr 25 '22 16:04 jamesaoverton

I will send my sensors out. :)

matentzn avatar Apr 25 '22 16:04 matentzn