diff --git a/src/ontology/config/hp-snomed.sssom.yml b/src/ontology/config/hp-snomed.sssom.yml new file mode 100644 index 000000000..3ac434e16 --- /dev/null +++ b/src/ontology/config/hp-snomed.sssom.yml @@ -0,0 +1,8 @@ +license: "https://creativecommons.org/publicdomain/zero/1.0/" +mapping_set_id: http://purl.obolibrary.org/obo/hp/mappings/hp-snomed +curie_map: + rdfs: "http://www.w3.org/2000/01/rdf-schema#" + owl: "http://www.w3.org/2002/07/owl#" + SNOMED: "http://snomed.info/id/" + HP: http://purl.obolibrary.org/obo/HP_ + orcid: "https://orcid.org/" diff --git a/src/ontology/config/inverse-map.yml b/src/ontology/config/inverse-map.yml new file mode 100644 index 000000000..f5e043492 --- /dev/null +++ b/src/ontology/config/inverse-map.yml @@ -0,0 +1,14 @@ +inverse_predicate_map: + skos:closeMatch: skos:closeMatch + skos:relatedMatch: skos:relatedMatch + skos:exactMatch: skos:exactMatch + skos:narrowMatch: skos:broadMatch + skos:broadMatch: skos:narrowMatch + semapv:crossSpeciesExactMatch: semapv:crossSpeciesExactMatch + semapv:crossSpeciesNarrowMatch: semapv:crossSpeciesBroadMatch + semapv:crossSpeciesBroadMatch: semapv:crossSpeciesNarrowMatch + semapv:crossSpeciesCloseMatch: semapv:crossSpeciesCloseMatch + owl:equivalentClass: owl:equivalentClass + owl:sameAs: owl:sameAs + rdfs:subClassOf: sssom:superClassOf + sssom:superClassOf: rdfs:subClassOf diff --git a/src/ontology/config/prefixes.csv b/src/ontology/config/prefixes.csv index 7a2a00208..4ba7c1459 100644 --- a/src/ontology/config/prefixes.csv +++ b/src/ontology/config/prefixes.csv @@ -227,4 +227,5 @@ ICD10CM,http://purl.bioontology.org/ontology/ICD10CM/ ICD10WHO,https://icd.who.int/browse10/2019/en#/ OMIMPS,https://omim.org/phenotypicSeries/PS OMIM,https://omim.org/entry/ -Orphanet,http://www.orpha.net/ORDO/Orphanet_ \ No newline at end of file +Orphanet,http://www.orpha.net/ORDO/Orphanet_ +SNOMED, http://snomed.info/id/ diff --git a/src/ontology/hp.Makefile b/src/ontology/hp.Makefile index c15dd9c3e..3c30b6c14 100644 --- a/src/ontology/hp.Makefile +++ b/src/ontology/hp.Makefile @@ -577,3 +577,30 @@ $(TMPDIR)/hp-%-merged.owl: hp-base.owl tmp/%.owl mappings: $(MAKE_FAST) ../mappings/hp-snomed.lexmatch.sssom.tsv + +SNOMED_HPO=https://docs.google.com/spreadsheets/d/e/2PACX-1vTHNmZFJJ0zExDORNE1rekVfeSny1Bv5_q6XXAFeuBkLHbeucokTPvjuTBZlRUbHyuAm26PQlzkMBAH/pub?gid=488628125&single=true&output=tsv +tmp/hp-snomed-external.sssom.tsv: + wget "$(SNOMED_HPO)" -O $@ + +tmp/hp-snomed.sssom.tsv: tmp/hp-snomed-external.sssom.tsv + sssom parse $< -m config/hp-snomed.sssom.yml -o $@ + +tmp/snomed-hp.sssom.tsv: tmp/hp-snomed.sssom.tsv + sssom invert $< --inverse-map config/inverse-map.yml -o $@ + +tmp/snomed-hp.sssom.ttl: tmp/snomed-hp.sssom.tsv + sssom convert $< -O owl -o $@ + +tmp/snomed.owl: tmp/snomed-hp.sssom.ttl + $(ROBOT) merge -i tmp/snomed-0324.owl -i tmp/hp-snomed.sssom.ttl convert -f owl -o $@ + +tmp/hp-snomed.basic-validation.txt: tmp/snomed.db + runoak -i $< validate-mappings -o $@ + +tmp/hp-snomed.llm-validation.txt: tmp/snomed.db hp.obo + runoak -i llm:$< validate-mappings --adapter-mapping hp=hp.obo > $@ + +validate-mappings: + make IMP=false MIR=false PAT=false tmp/hp-snomed.basic-validation.txt + make IMP=false MIR=false PAT=false tmp/hp-snomed.llm-validation.txt +