HUPO-PSI / psi-mi-CV

Molecular Interactions Controll Vocabulary
Creative Commons Attribution 4.0 International
4 stars 4 forks source link

[WIP] OBO format version 1.4 compliance #393

Closed althonos closed 5 years ago

althonos commented 5 years ago

Hi !

I am currently working with @cmungall on improving the syntax and semantics of the OBO ontology language. This PR is an effort to standardize the syntax in envo-edit.owl so that the produced OBO is compliant with the specification.

The syntax compliance was checked with althonos/fastobo which is an in-development parser, serializer and validator for the OBO 1.4 format.

This is still work in progress, but I opened this issue as a place to discuss some of the requested modifications.

Required

Suggested

pporrasebi commented 5 years ago

Whitespaces and '' issues fixed, I will do some consultation for the 'PMID for application instance' issue and the suggested issues.

althonos commented 5 years ago

Great! Don't hesistate to @ me in relevant issues if any.

pporrasebi commented 5 years ago

Comments on the pending issues for @althonos to check:

althonos commented 5 years ago

(cc @cmungall)

replaced_by pointing to MOD in obsolete terms: We are fine with doing this, but unsure as to where exactly you need us to do it. We are still using OBOedit to manage the ontology and it is not clear for us how to implement it.

The OBO format provides two clauses to help remapping obsolete entities:

With OBOedit however I'm almost sure this is not possible to do, but this can be done in Protege, or with a manual edit in the OBO file.

search-url: and id-validation-regexp:: For the time being at least we need to leave them as cross-references, since several pipelines expect them to be in that specific field. As in the previous case, it is not clear for us how to implement the property_value annotation uisng OBOedit. Some assitance here would be really welcomed.

Once again this is probably not feasible with OBOedit. In Protege this would also be done by defining an AnnotationProperty for each annotation you're currently using xrefs for (e.g. has_search_url) and then adding annotations to the relevant terms.

EDIT:

PMID for application instance will be replaced with PMID only.

The other option is to use a property_value (again) using IAO:0000112 as the relationship and PMID:..... as the annotation value.

pporrasebi commented 5 years ago

After some discussion, we have replaced PMID for application instance with simply PMID, so all required fixes are done.

Regarding the suggested issues, there are downstream pipelines that depend on finding search-url: and id-validation-regexp: as xrefs and changing them involves quite some work on our part and also by third parties. It would be needed to fully understand the problem that having these as xrefs creates before committing to put significant effort adapting existing tools.

Apart from that, we have a problem with using Protege instead of OBOedit and it is its inability to display 'is part' relationships, which abound in our ontology. Navigating the ontology using Protege is not very practical, we would refrain to start doing our developing there until this issue is solved.