obophenotype / human-phenotype-ontology

Ontology for the description of human clinical features
http://obophenotype.github.io/human-phenotype-ontology/
Other
285 stars 51 forks source link

Check required: imported classes (esp. NCIT) should not be used in SubClassOf axioms #1430

Closed cmungall closed 7 years ago

cmungall commented 7 years ago

hp-edit.owl brings in external ontologies like CL, GO, Uberon, NCIT to use in logical definitions.

The pattern is always something like

HP = has-part some Q and inheres-in some X ...

never

HP SubClassOf X

or

X SubClassOf HP

unfortunately we have a case of an import class leaking into the HPO hierarchy:

hp-edit.owl

169562:SubClassOf(<http://purl.obolibrary.org/obo/NCIT_C4089> <http://purl.obolibrary.org/obo/HP_0005266>)

It's easy to do this accidentally in Protege. The neoplasm classes from NCIT are labeled the same way as HP classes.

pnrobinson commented 7 years ago

The latter is an error -- Seb, could we get Travis to check for this? I thought we had removed all of these errors a while back.

cmungall commented 7 years ago

This would be a really useful general purpose check to have across all ontologies and also datasources in dipper etc.

E.g.

cc @balhoff

drseb commented 7 years ago

My checks were looking for HP subclass_of NCIT not NCIT subclass_of HP. Will add this check.

drseb commented 7 years ago

Extended checker. There is now a whitelist-file at https://github.com/obophenotype/human-phenotype-ontology/blob/master/src/format/subclass_whitelist.txt

Currently the checker fails with:

java -jar CheckSubclassAxioms.jar ../ontology/hp-edit.owl
found problematic inter-ontology subclass axioms
 - SubClassOf(<http://purl.obolibrary.org/obo/NCIT_C4089> <http://purl.obolibrary.org/obo/HP_0005266>)
 - SubClassOf(<http://purl.obolibrary.org/obo/HP_0002197> ObjectIntersectionOf(<http://purl.obolibrary.org/obo/HP_0001250> ObjectSomeValuesFrom(<http://purl.obolibrary.org/obo/RO_0002573> <http://purl.obolibrary.org/obo/PATO_0002403>)))
 - SubClassOf(<http://purl.obolibrary.org/obo/hp.owl#HP_0030915> <http://purl.obolibrary.org/obo/HP_0001317>)
make: *** [check-subclass-axioms] Error 1
drseb commented 7 years ago

ID spaces A and B should never be in a SubClassOf relationship

not true for HP/UPHENO. This is why: https://github.com/obophenotype/human-phenotype-ontology/blob/master/src/format/subclass_whitelist.txt

cmungall commented 7 years ago

I meant that A and B could be filled in with any two ID spaces for a particular blacklist rule. Yr whitelist looks like a perfectly good approach too!

On 15 Mar 2017, at 2:14, Sebastian Köhler wrote:

ID spaces A and B should never be in a SubClassOf relationship

not true for HP/UPHENO. This is why: https://github.com/obophenotype/human-phenotype-ontology/blob/master/src/format/subclass_whitelist.txt

-- You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/obophenotype/human-phenotype-ontology/issues/1430#issuecomment-286683229

kshefchek commented 7 years ago

@drseb could you release a new version of HPO with these fixes?

drseb commented 7 years ago

The next release is scheduled for April 1st. Other options? How urgent?

kshefchek commented 7 years ago

Because our pipeline merges disease and phenotype ontologies, we now have 52 classes categorized as both diseases and phenotypes (see https://github.com/monarch-initiative/monarch-disease-ontology/issues/197). We could wait until April 1st or consider some other options.