diff --git a/.gitignore b/.gitignore index a8cf265..7687dc3 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,4 @@ src/mapping/.cogs src/mapping/mre_ecto2.sssom.tsv src/patterns/data/default/*.txt src/patterns/data/default/*.ofn +src/ontology/ecto-mre.owl diff --git a/src/ontology/Makefile b/src/ontology/Makefile index ad1d0ba..e552672 100644 --- a/src/ontology/Makefile +++ b/src/ontology/Makefile @@ -1,7 +1,7 @@ # ---------------------------------------- # Makefile for ecto # Generated using ontology-development-kit -# ODK Version: v1.4 +# ODK Version: v1.4.3 # ---------------------------------------- # IMPORTANT: DO NOT EDIT THIS FILE. To override default make goals, use ecto.Makefile instead @@ -43,14 +43,14 @@ REPORT_PROFILE_OPTS = OBO_FORMAT_OPTIONS = SPARQL_VALIDATION_CHECKS = owldef-self-reference iri-range label-with-iri multiple-replaced_by SPARQL_EXPORTS = basic-report class-count-by-prefix edges xrefs obsoletes synonyms -ODK_VERSION_MAKEFILE = v1.4 +ODK_VERSION_MAKEFILE = v1.4.3 TODAY ?= $(shell date +%Y-%m-%d) OBODATE ?= $(shell date +'%d:%m:%Y %H:%M') VERSION= $(TODAY) ANNOTATE_ONTOLOGY_VERSION = annotate -V $(ONTBASE)/releases/$(VERSION)/$@ --annotation owl:versionInfo $(VERSION) ANNOTATE_CONVERT_FILE = annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) convert -f ofn --output $@.tmp.owl && mv $@.tmp.owl $@ -OTHER_SRC = $(PATTERNDIR)/definitions.owl $(COMPONENTSDIR)/ecto-xrefs.owl $(COMPONENTSDIR)/bridge.owl $(COMPONENTSDIR)/obsoletes.owl +OTHER_SRC = $(PATTERNDIR)/definitions.owl $(COMPONENTSDIR)/ecto-xrefs.owl $(COMPONENTSDIR)/bridge.owl $(COMPONENTSDIR)/obsoletes.owl $(COMPONENTSDIR)/subsets.owl ONTOLOGYTERMS = $(TMPDIR)/ontologyterms.txt EDIT_PREPROCESSED = $(TMPDIR)/$(ONT)-preprocess.owl PATTERNDIR= ../patterns @@ -61,7 +61,7 @@ PATTERN_RELEASE_FILES= $(PATTERNDIR)/definitions.owl $(PATTERNDIR)/pattern. FORMATS = $(sort owl obo json owl) FORMATS_INCL_TSV = $(sort $(FORMATS) tsv) -RELEASE_ARTEFACTS = $(sort $(ONT)-full $(ONT)-base ) +RELEASE_ARTEFACTS = $(sort $(ONT)-base $(ONT)-full $(ONT)-simple ecto-mre ) # ---------------------------------------- # Top-level targets @@ -285,6 +285,13 @@ $(PRESEED): $(SRCMERGED) $(ROBOT) query -f csv -i $< --query ../sparql/terms.sparql $@.tmp &&\ cat $@.tmp | sort | uniq > $@ +SIMPLESEED=$(TMPDIR)/simple_seed.txt + +$(SIMPLESEED): $(SRCMERGED) $(ONTOLOGYTERMS) + $(ROBOT) query -f csv -i $< --query ../sparql/simple-seed.sparql $@.tmp &&\ + cat $@.tmp $(ONTOLOGYTERMS) | sort | uniq > $@ &&\ + echo "http://www.geneontology.org/formats/oboInOwl#SubsetProperty" >> $@ &&\ + echo "http://www.geneontology.org/formats/oboInOwl#SynonymTypeProperty" >> $@ ALLSEED = $(PRESEED) $(TMPDIR)/all_pattern_terms.txt \ @@ -396,6 +403,14 @@ $(COMPONENTSDIR)/%: | $(COMPONENTSDIR) + + +$(COMPONENTSDIR)/subsets.owl: $(TEMPLATEDIR)/subsets.tsv + if [ $(COMP) = true ] ; then $(ROBOT) template \ + $(patsubst %, --template %, $^) \ + $(ANNOTATE_CONVERT_FILE); fi + +.PRECIOUS: $(COMPONENTSDIR)/subsets.owl # ---------------------------------------- # Mirroring upstream ontologies # ---------------------------------------- @@ -671,15 +686,27 @@ $(PATTERNDIR)/definitions.owl: $(DOSDP_OWL_FILES_DEFAULT) # ---------------------------------------- +$(ONT)-base.obo: $(ONT)-base.owl + $(ROBOT) convert --input $< --check false -f obo $(OBO_FORMAT_OPTIONS) -o $@.tmp.obo && grep -v ^owl-axioms $@.tmp.obo > $@ && rm $@.tmp.obo +$(ONT)-base.json: $(ONT)-base.owl + $(ROBOT) annotate --input $< --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \ + convert --check false -f json -o $@.tmp.json &&\ + mv $@.tmp.json $@ $(ONT)-full.obo: $(ONT)-full.owl $(ROBOT) convert --input $< --check false -f obo $(OBO_FORMAT_OPTIONS) -o $@.tmp.obo && grep -v ^owl-axioms $@.tmp.obo > $@ && rm $@.tmp.obo $(ONT)-full.json: $(ONT)-full.owl $(ROBOT) annotate --input $< --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \ convert --check false -f json -o $@.tmp.json &&\ mv $@.tmp.json $@ -$(ONT)-base.obo: $(ONT)-base.owl +$(ONT)-simple.obo: $(ONT)-simple.owl $(ROBOT) convert --input $< --check false -f obo $(OBO_FORMAT_OPTIONS) -o $@.tmp.obo && grep -v ^owl-axioms $@.tmp.obo > $@ && rm $@.tmp.obo -$(ONT)-base.json: $(ONT)-base.owl +$(ONT)-simple.json: $(ONT)-simple.owl + $(ROBOT) annotate --input $< --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \ + convert --check false -f json -o $@.tmp.json &&\ + mv $@.tmp.json $@ +ecto-mre.obo: ecto-mre.owl + $(ROBOT) convert --input $< --check false -f obo $(OBO_FORMAT_OPTIONS) -o $@.tmp.obo && grep -v ^owl-axioms $@.tmp.obo > $@ && rm $@.tmp.obo +ecto-mre.json: ecto-mre.owl $(ROBOT) annotate --input $< --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) \ convert --check false -f json -o $@.tmp.json &&\ mv $@.tmp.json $@ @@ -725,6 +752,22 @@ $(ONT)-full.owl: $(EDIT_PREPROCESSED) $(OTHER_SRC) $(IMPORT_FILES) relax \ reduce -r ELK \ $(SHARED_ROBOT_COMMANDS) annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) --output $@.tmp.owl && mv $@.tmp.owl $@ +# foo-simple: (edit->reason,relax,reduce,drop imports, drop every axiom which contains an entity outside the "namespaces of interest") +# drop every axiom: filter --term-file keep_terms.txt --trim true +# remove --select imports --trim false +$(ONT)-simple.owl: $(EDIT_PREPROCESSED) $(OTHER_SRC) $(SIMPLESEED) $(IMPORT_FILES) + $(ROBOT_RELEASE_IMPORT_MODE) \ + reason --reasoner ELK --equivalent-classes-allowed asserted-only --exclude-tautologies structural \ + relax \ + remove --axioms equivalent \ + relax \ + filter --term-file $(SIMPLESEED) --select "annotations ontology anonymous self" --trim true --signature true \ + reduce -r ELK \ + query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru \ + $(SHARED_ROBOT_COMMANDS) annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) --output $@.tmp.owl && mv $@.tmp.owl $@ + +ecto-mre.owl: + echo "ERROR: You have configured a custom release artefact ($@); this release artefact needs to be define in ecto.Makefile!" && false # ---------------------------------------- # Debugging Tools # ---------------------------------------- diff --git a/src/ontology/catalog-v001.xml b/src/ontology/catalog-v001.xml index 41f3a9e..e12b4c8 100644 --- a/src/ontology/catalog-v001.xml +++ b/src/ontology/catalog-v001.xml @@ -5,6 +5,7 @@ + diff --git a/src/ontology/components/subsets.owl b/src/ontology/components/subsets.owl new file mode 100644 index 0000000..e7a5074 --- /dev/null +++ b/src/ontology/components/subsets.owl @@ -0,0 +1,1046 @@ +Prefix(:=) +Prefix(owl:=) +Prefix(rdf:=) +Prefix(xml:=) +Prefix(xsd:=) +Prefix(rdfs:=) + + +Ontology( + +Annotation(owl:versionInfo "2024-01-13") + +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(Class()) +Declaration(AnnotationProperty()) + + +############################ +# Classes +############################ + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + +# Class: () + +AnnotationAssertion( ) + + +) \ No newline at end of file diff --git a/src/ontology/ecto-edit.owl b/src/ontology/ecto-edit.owl index d2b0251..b97d11d 100644 --- a/src/ontology/ecto-edit.owl +++ b/src/ontology/ecto-edit.owl @@ -9,6 +9,7 @@ Prefix(rdfs:=) Ontology( Import() Import() +Import() Import() Import() Import() diff --git a/src/ontology/ecto-odk.yaml b/src/ontology/ecto-odk.yaml index 8ad0d1b..817dc11 100644 --- a/src/ontology/ecto-odk.yaml +++ b/src/ontology/ecto-odk.yaml @@ -7,6 +7,11 @@ export_formats: - owl - obo - json +release_artefacts: + - base + - full + - simple + - custom-ecto-mre import_group: products: - id: chebi @@ -36,6 +41,8 @@ components: - filename: ecto-xrefs.owl - filename: bridge.owl - filename: obsoletes.owl + - filename: subsets.owl + use_template: TRUE allow_equivalents: asserted-only robot_report: fail_on : ERROR diff --git a/src/ontology/ecto.Makefile b/src/ontology/ecto.Makefile index fdb460e..bfa8190 100644 --- a/src/ontology/ecto.Makefile +++ b/src/ontology/ecto.Makefile @@ -146,8 +146,20 @@ templates: $(TEMPLATES) $(COMPONENTSDIR)/obsoletes.owl: $(ROBOT) merge -i $(TEMPLATESDIR)/obsolete.owl annotate --ontology-iri $(ONTBASE)/$@ -o $@ -tmp/mre_seed.txt: - +SUBSETS_TEMPLATE="https://docs.google.com/spreadsheets/d/e/2PACX-1vRf4X14SGELPGXqfTxW9z78hsPO0Ku6CqyPS2YdDZrrOXY9rMeP3epvEw46aDhYNar8qn2S1xhk0aDn/pub?gid=1724511447&single=true&output=tsv" + +$(TEMPLATESDIR)/subsets.tsv: + wget $(SUBSETS_TEMPLATE) -O $@ + +MRESEED=tmp/mre_seed.txt + +$(MRESEED): $(SRC) + $(ROBOT) reason -i $(SRC) query -f csv --use-graphs true --query ../sparql/mre_seed.sparql $@ + +$(ONT)-mre.owl: $(ONT)-full.owl $(MRESEED) + $(ROBOT) extract --method subset --input $< --term-file $(MRESEED) \ + query --update ../sparql/inject-subset-declaration.ru --update ../sparql/inject-synonymtype-declaration.ru \ + $(SHARED_ROBOT_COMMANDS) annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) --output $@.tmp.owl && mv $@.tmp.owl $@ -mre: tmp/mre_seed.txt - $(ROBOT) filter -i $(SRC) -T tmp/mre_seed.txt -o $@ \ No newline at end of file +mre: + make IMP=false PAT=false MIR=false COMP=false $(ONT)-mre.owl \ No newline at end of file diff --git a/src/sparql/mre_seed.sparql b/src/sparql/mre_seed.sparql new file mode 100644 index 0000000..44119d5 --- /dev/null +++ b/src/sparql/mre_seed.sparql @@ -0,0 +1,11 @@ +PREFIX rdfs: + +SELECT DISTINCT ?term +WHERE { + { ?term . } + UNION { + ?x . + ?x rdfs:subClassOf* ?term . + } + FILTER(isIRI(?term) && ((STRSTARTS(str(?term), "http://purl.obolibrary.org/obo/ECTO_")) || (STRSTARTS(str(?term), "http://purl.obolibrary.org/obo/ExO_")))) +} diff --git a/src/templates/subsets.tsv b/src/templates/subsets.tsv new file mode 100644 index 0000000..7fbe593 --- /dev/null +++ b/src/templates/subsets.tsv @@ -0,0 +1,211 @@ +id label subset +ID AI oboInOwl:inSubset +ECTO:0000001 Radiation exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0000135 Exposure to organic compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:0000207 Exposure to carbon monoxide http://purl.obolibrary.org/obo/ecto#mre +ECTO:0000231 Exposure to chemical element http://purl.obolibrary.org/obo/ecto#mre +ECTO:0000515 Occupational exposure to herbicide http://purl.obolibrary.org/obo/ecto#mre +ECTO:0000530 Occupational exposure to pesticide http://purl.obolibrary.org/obo/ecto#mre +ECTO:0001152 Exposure to organochlorine compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:0001566 Exposure to cadmium http://purl.obolibrary.org/obo/ecto#mre +ECTO:0001571 Exposure to mercury http://purl.obolibrary.org/obo/ecto#mre +ECTO:0001591 Occupational exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0030000 Dietary exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100001 Alcohol use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100003 Cigarette smoking http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100004 Cigar smoking http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100007 Cocaine use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100008 Methamphetamine use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100010 Tobacco pipe smoking http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100011 Exposure to smokeless tobacco http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100012 Use of snuff http://purl.obolibrary.org/obo/ecto#mre +ECTO:0100013 Exposure to tobacco http://purl.obolibrary.org/obo/ecto#mre +ECTO:0200004 Prenatal medication exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0300001 Maternal alcohol use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0300003 Maternal cigarette use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0300007 Maternal cocaine use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0300008 Maternal methamphetamine use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0300009 Maternal heroin use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0300010 Maternal marijuana use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0300011 Maternal opiate use http://purl.obolibrary.org/obo/ecto#mre +ECTO:0800002 Prenatal air pollutant exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0800003 Prenatal exposure to maternal famine http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900002 Dietary aflatoxin exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900003 Dietary antimony exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900004 Dietary arsenic exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900005 Dietary cadmium exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900006 Dietary mercury exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900007 Dietary exposure to bisphenol A http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900008 Dietary exposure to monosodium glutamate http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900009 Dietary exposure to disodium guanylate http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900010 Dietary exposure to food additive http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900011 Dietary exposure to low-calorie sweetener http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900012 Dietary exposure to preservative http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900013 Dietary exposure to color additive http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900014 Dietary exposure to flavor enhancer http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900015 Dietary exposure to emulsifier http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900023 Prenatal polycyclic aromatic hydrocarbon exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900041 Dietary exposure to deoxynivalenol http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900042 Dietary exposure to a chemical residue http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900043 Prenatal drug exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900044 Prenatal exposure to serotonin reuptake inhibitor http://purl.obolibrary.org/obo/ecto#mre +ECTO:0900045 Prenatal lead exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000000 Diagnostic medical exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000000 Exposure to medical treatment http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000005 Hormone replacement therapy http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000037 Diagnostic radiological examination http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000038 Exposure to ultrasonography http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000039 Positron emission tomography scan http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000040 Radiological exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000040 Radiograph http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000041 Mammography http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000048 Chest radiograph http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000051 Angiography http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000052 Exposure to radioactivity http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000053 Human papilloma virus infection http://purl.obolibrary.org/obo/ecto#mre +ECTO:2000060 Cervical spine radiograph http://purl.obolibrary.org/obo/ecto#mre +ECTO:3000000 Exposure to infectious agent http://purl.obolibrary.org/obo/ecto#mre +ECTO:6000007 Drug use http://purl.obolibrary.org/obo/ecto#mre +ECTO:6000029 Tobacco smoking http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000001 Occupational dust exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000001 Dust exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000017 Occupational fibrous glass dust exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000021 Occupational metallic dust exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000022 Occupational fibrous dust exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000022 Fibrous dust exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000023 Occupational mineral dust exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000030 Occupational exposure to silica dust http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000114 Occupational aerosol exposure http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000117 Exposure to fine particulate matter http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000129 Exposure to welding fumes http://purl.obolibrary.org/obo/ecto#mre +ECTO:7000139 Occupational exposure to engine exhaust http://purl.obolibrary.org/obo/ecto#mre +ECTO:8000036 Exposure to airborne pollution http://purl.obolibrary.org/obo/ecto#mre +ECTO:8000038 Exposure to water pollution http://purl.obolibrary.org/obo/ecto#mre +ECTO:8000056 Occupational exposure to infrasound http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000032 Exposure to arsenic http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000033 Exposure to asbestos http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000034 Exposure to benzene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000036 Exposure to toluene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000039 Exposure to 1,2-dichloroethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000045 Exposure to dichloromethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000048 Exposure to tetrachloromethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000052 Exposure to ozone http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000059 Exposure to ethylbenzene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000068 Exposure to polychlorinated biphenyl http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000069 Exposure to styrene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000074 Exposure to tetrachloroethene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000089 Occupational exposure to insecticide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000090 Occupational exposure to rodenticide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000092 Occupational exposure to fungicide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000094 Exposure to perfluorooctane sulfonic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000095 Exposure to perfluorooctanoic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000096 Exposure to methyl-tert-butyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000105 Exposure to uranium http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000172 Exposure to inorganic compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000185 Exposure to nitrate http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000196 Exposure to sulfur dioxide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000232 Exposure to genistein http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000252 Exposure to nitrogen dioxide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000281 Exposure to dichlorodiphenyltrichloroethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000395 Occupational exposure to Paraquat http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000521 Exposure to atrazine http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000522 Exposure to phthalate http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000524 Exposure to chlorobenzene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000527 Exposure to nitrobenzene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000530 Exposure to trichloroethene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000531 Exposure to o-xylene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000532 Exposure to thiocyanate http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000533 Exposure to organofluorine compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000534 Exposure to organoarsenic compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000647 Exposure to perfluorodecanoic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000648 Exposure to perfluoroheptanoic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000749 Occupational exposure to isoproturon http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000850 Exposure to perfluoroundecanoic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000859 Exposure to 2-(N-methyl-perfluorooctane sulfonamido) acetic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000860 Exposure to 2-(N-ethyl-perfluorooctane sulfonamido) acetic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000892 Exposure to perfluorododecanoic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000907 Exposure to heptachlor epoxide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000911 Exposure to fluorene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000912 Exposure to 1,1,1-trichloroethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000914 Exposure to 1,1,2-trichloroethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000915 Exposure to 1,1-dichloroethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000916 Exposure to 1,1-dichloroethene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000917 Exposure to 1,2-dibromo-3-chloropropane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000918 Exposure to 1,2-dichlorobenzene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000919 Exposure to cis-1,2-dichloroethene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000920 Exposure to trans-1,2-dichloroethene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000921 Exposure to 1,2-dichloropropane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000922 Exposure to 2,5-dimethylfuran http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000923 Exposure to dibromomethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000924 Exposure to hexachloroethane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000925 Exposure to 2,2',4,4'-tetrabromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000926 Exposure to 2,2',4,4',5-pentabromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000927 Exposure to 2,2',4,4',5,5'-hexabromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000928 Exposure to 2,2',4,4',5,6'-hexabromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000929 Exposure to 2,2',3,4,4',5',6-heptabromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000930 Exposure to paraben http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000931 Exposure to perchlorate http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000932 Exposure to daidzein http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000933 Exposure to enterodiol http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000934 Exposure to enterolactone http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000935 Exposure to equol http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000936 Exposure to O-desmethylangolensin http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000937 Exposure to arsenobetaine http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000938 Exposure to dimethylarsinic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000939 Exposure to antimony http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000940 Exposure to barium http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000941 Exposure to beryllium http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000943 Exposure to cobalt http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000944 Exposure to copper http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000945 Exposure to lead http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000946 Exposure to manganese http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000948 Exposure to molybdenum http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000949 Exposure to platinum http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000950 Exposure to selenium http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000951 Exposure to strontium http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000952 Exposure to tin http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000953 Exposure to tungsten http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000954 Exposure to zinc http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000955 Exposure to methyl paraben http://purl.obolibrary.org/obo/ecto#mre +ECTO:9000956 Exposure to monomethylarsonic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001304 Exposure to m-/p-xylene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001312 Exposure to thallium http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001535 Exposure to organochloride pesticide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001536 Exposure to dioxin compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001542 Exposure to chlorofluorocarbon compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001543 Exposure to ethyl paraben http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001544 Exposure to n-propyl paraben http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001568 Occupational exposure to Diquat http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001619 Exposure to polybrominated diphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001620 Exposure to perfluorinated compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001621 Exposure to volatile organic compound http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001622 Exposure to perfluorobutane sulfonic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001623 Exposure to perfluorohexane sulfonic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001624 Exposure to arsenocholine http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001626 Exposure to 1,3-dichloropropane http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001627 Exposure to inorganic acid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001628 Exposure to gas http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001629 Exposure to 2,2',4'-tribromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001630 Exposure to endocrine-disrupting chemical http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001631 Exposure to metalloid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001632 Exposure to 2,4,4'-tribromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001633 Exposure to 2,3',4,4'-tetrabromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001634 Exposure to 2,2',3,4,4'-pentabromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001635 Exposure to 2,2',4,4',6-pentabromodiphenyl ether http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001636 Exposure to 2,2',4,4',5,5'-hexabromobiphenyl http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001637 Exposure to perfluorooctane sulfonamide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001638 Exposure to trimethylarsine oxid http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001694 Occupational exposure to bactericide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9001831 Use of contraceptive treatment http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002037 Exposure to phytoestrogen http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002105 Occupational exposure to carbamate insecticide http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002137 Occupational exposure to anilofos http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002138 Occupational exposure to gluphosphate http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002148 Exposure to polycyclic aromatic hydrocarbon http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002149 Use of oral contraceptives http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002163 Exposure to metal http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002170 Exposure to butyl paraben http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002171 Exposure to black carbon http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002172 Exposure to 2-nitro-9H-fluorene http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002173 Exposure to cesium http://purl.obolibrary.org/obo/ecto#mre +ECTO:9002177 Occupational exposure to anticoagulant rodenticide http://purl.obolibrary.org/obo/ecto#mre \ No newline at end of file