Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add taxslim-disjoint-over-in-taxon.owl to the pipeline #2928

Closed
wants to merge 11 commits into from
249 changes: 248 additions & 1 deletion src/ontology/imports/ncbitaxon_terms.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,251 @@
NCBITaxon:1
NCBITaxon:10047
NCBITaxon:10088
NCBITaxon:10090
NCBITaxon:10114
NCBITaxon:10116
NCBITaxon:10135
NCBITaxon:10205
NCBITaxon:10219
NCBITaxon:10220
NCBITaxon:110815
NCBITaxon:117565
NCBITaxon:117569
NCBITaxon:117570
NCBITaxon:117893
NCBITaxon:118040
NCBITaxon:118072
NCBITaxon:119203
NCBITaxon:119825
NCBITaxon:120557
NCBITaxon:1206795
NCBITaxon:1294634
NCBITaxon:147099
NCBITaxon:1476529
NCBITaxon:181400
NCBITaxon:186634
NCBITaxon:189497
NCBITaxon:207598
NCBITaxon:261739
NCBITaxon:264759
NCBITaxon:270656
NCBITaxon:27686
NCBITaxon:28376
NCBITaxon:29132
NCBITaxon:30458
NCBITaxon:30533
NCBITaxon:30559
NCBITaxon:30649
NCBITaxon:31033
NCBITaxon:311790
NCBITaxon:314145
NCBITaxon:314146
NCBITaxon:314147
NCBITaxon:314293
NCBITaxon:314295
NCBITaxon:32443
NCBITaxon:32455
NCBITaxon:32519
NCBITaxon:32523
NCBITaxon:32524
NCBITaxon:32525
NCBITaxon:32561
NCBITaxon:32577
NCBITaxon:33090
NCBITaxon:33208
NCBITaxon:33213
NCBITaxon:33317
NCBITaxon:33392
NCBITaxon:33511
NCBITaxon:33554
NCBITaxon:337687
NCBITaxon:338153
NCBITaxon:35033
NCBITaxon:35069
NCBITaxon:35497
NCBITaxon:37572
NCBITaxon:376911
NCBITaxon:376913
NCBITaxon:377294
NCBITaxon:37887
NCBITaxon:379584
NCBITaxon:38624
NCBITaxon:38625
NCBITaxon:39107
NCBITaxon:399537
NCBITaxon:40151
NCBITaxon:40674
NCBITaxon:41324
NCBITaxon:41426
NCBITaxon:41712
NCBITaxon:43120
NCBITaxon:43453
NCBITaxon:436486
NCBITaxon:436491
NCBITaxon:436495
NCBITaxon:4751
NCBITaxon:50557
NCBITaxon:51337
NCBITaxon:569425
NCBITaxon:57294
NCBITaxon:6040
NCBITaxon:6072
NCBITaxon:6073
NCBITaxon:6157
NCBITaxon:6178
NCBITaxon:6199
NCBITaxon:6211
NCBITaxon:6217
NCBITaxon:6231
NCBITaxon:6239
NCBITaxon:63221
NCBITaxon:6340
NCBITaxon:6425
NCBITaxon:6447
NCBITaxon:6448
NCBITaxon:6544
NCBITaxon:65997
NCBITaxon:6656
NCBITaxon:6657
NCBITaxon:6681
NCBITaxon:6830
NCBITaxon:6843
NCBITaxon:70846
NCBITaxon:7088
NCBITaxon:7227
NCBITaxon:7434
NCBITaxon:7568
NCBITaxon:7586
NCBITaxon:7588
NCBITaxon:7618
NCBITaxon:7625
NCBITaxon:7711
NCBITaxon:7712
NCBITaxon:7713
NCBITaxon:7718
NCBITaxon:7735
NCBITaxon:7737
NCBITaxon:7742
NCBITaxon:7745
NCBITaxon:7746
NCBITaxon:7761
NCBITaxon:7762
NCBITaxon:7764
NCBITaxon:7769
NCBITaxon:7776
NCBITaxon:7777
NCBITaxon:7778
NCBITaxon:7858
NCBITaxon:7863
NCBITaxon:7864
NCBITaxon:7878
NCBITaxon:7896
NCBITaxon:7898
NCBITaxon:7900
NCBITaxon:7901
NCBITaxon:7911
NCBITaxon:7915
NCBITaxon:7922
NCBITaxon:7954
NCBITaxon:7955
NCBITaxon:79805
NCBITaxon:8022
NCBITaxon:8065
NCBITaxon:8075
NCBITaxon:80999
NCBITaxon:8287
NCBITaxon:8289
NCBITaxon:8292
NCBITaxon:8293
NCBITaxon:8295
NCBITaxon:8296
NCBITaxon:8314
NCBITaxon:8342
NCBITaxon:8353
NCBITaxon:8355
NCBITaxon:8457
NCBITaxon:8459
NCBITaxon:8464
NCBITaxon:8492
NCBITaxon:8493
NCBITaxon:8499
NCBITaxon:8504
NCBITaxon:8507
NCBITaxon:8508
NCBITaxon:8509
NCBITaxon:8561
NCBITaxon:8570
NCBITaxon:8578
NCBITaxon:8782
NCBITaxon:8801
NCBITaxon:8827
NCBITaxon:88770
NCBITaxon:8930
NCBITaxon:89593
NCBITaxon:9030
NCBITaxon:9031
NCBITaxon:9126
NCBITaxon:91561
NCBITaxon:9254
NCBITaxon:9255
NCBITaxon:9257
NCBITaxon:9258
NCBITaxon:9259
NCBITaxon:9261
NCBITaxon:9263
NCBITaxon:9265
NCBITaxon:9305
NCBITaxon:9321
NCBITaxon:9322
NCBITaxon:9338
NCBITaxon:9347
NCBITaxon:9348
NCBITaxon:9359
NCBITaxon:9362
NCBITaxon:9363
NCBITaxon:9365
NCBITaxon:9369
NCBITaxon:9373
NCBITaxon:9376
NCBITaxon:9397
NCBITaxon:9443
NCBITaxon:9475
NCBITaxon:9499
NCBITaxon:9539
NCBITaxon:9590
NCBITaxon:9596
NCBITaxon:9599
NCBITaxon:9604
NCBITaxon:9605
NCBITaxon:9606
NCBITaxon:9608
NCBITaxon:9611
NCBITaxon:9632
NCBITaxon:9669
NCBITaxon:4751
NCBITaxon:9673
NCBITaxon:9681
NCBITaxon:9705
NCBITaxon:9709
NCBITaxon:9721
NCBITaxon:9753
NCBITaxon:9761
NCBITaxon:9765
NCBITaxon:9775
NCBITaxon:9779
NCBITaxon:9780
NCBITaxon:9787
NCBITaxon:9788
NCBITaxon:9816
NCBITaxon:9822
NCBITaxon:9823
NCBITaxon:9835
NCBITaxon:9836
NCBITaxon:9845
NCBITaxon:9850
NCBITaxon:9892
NCBITaxon:9895
NCBITaxon:9935
NCBITaxon:9963
NCBITaxon:9972
NCBITaxon:9975
NCBITaxon:9989
3 changes: 1 addition & 2 deletions src/ontology/uberon-edit.obo
Original file line number Diff line number Diff line change
Expand Up @@ -932,7 +932,6 @@ relationship: never_in_taxon NCBITaxon:314147 {source="bgee"} ! Glires
relationship: never_in_taxon NCBITaxon:6231 {source="bgee"} ! Nematoda
relationship: never_in_taxon NCBITaxon:7878 {source="bgee"} ! Dipnomorpha
relationship: never_in_taxon NCBITaxon:8292 {notes="we do not consider flying frogs to have wings", source="bgee"} ! Amphibia
relationship: never_in_taxon NCBITaxon:8457 {source="bgee"} ! Sauropsida
relationship: never_in_taxon NCBITaxon:91561 {source="bgee"} ! Artiodactyla
relationship: never_in_taxon NCBITaxon:9254 {source="bgee"} ! Prototheria
relationship: never_in_taxon NCBITaxon:9263 {source="bgee"} ! Metatheria
Expand Down Expand Up @@ -76309,7 +76308,7 @@ is_a: UBERON:0009198 {source="GO"} ! craniofacial suture
intersection_of: UBERON:0002209 ! fibrous joint
intersection_of: part_of UBERON:0003128 ! cranium
relationship: contributes_to_morphology_of UBERON:0003128 ! cranium
relationship: developmentally_induced_by UBERON:0002363 {source="PMID:16496288"} ! dura mater
relationship: developmentally_induced_by UBERON:0002363 {gci_relation="part_of", gci_filler="NCBITaxon:40674", source="PMID:16496288"} ! dura mater
relationship: fma_set_term FMA:71385

[Term]
Expand Down
41 changes: 33 additions & 8 deletions src/ontology/uberon.Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,10 @@ quick-qc: $(REPORTDIR)/uberon-edit-obscheck.txt
# ----------------------------------------
# BUILDING UBERON ITSELF
# ----------------------------------------

# Step 1: Preprocessing. We Merge the edit file file with imports,
# disjointness axioms, and list of contributors, then expand macros.
# FIXME: Need explanation for not expanding RO:0002175 specifically.
# disjointness axioms, and list of contributors, then expand macros
# (except RO:0002175, which only needs to be expanded for QC purposes).
$(OWLSRC): $(SRC) $(COMPONENTSDIR)/disjoint_union_over.ofn $(REPORTDIR)/$(SRC)-gocheck $(REPORTDIR)/$(SRC)-iconv
@echo "STRONG WARNING: issues/contributor.owl needs to be manually updated."
$(ROBOT) merge -i $< \
Expand Down Expand Up @@ -410,7 +411,7 @@ $(TMPDIR)/uberon-taxon-constraints.obo: $(SRC)
cat [email protected] $(COMPONENTSDIR)/taxon_relations.obo > $@

$(TMPDIR)/uberon-taxon-constraints.owl: $(TMPDIR)/uberon-taxon-constraints.obo
$(OWLTOOLS) $< --expand-macros -o $@
$(ROBOT) expand --input $< -o $@


# %-xf: Product without "non-subclass cross-references"?
Expand Down Expand Up @@ -629,18 +630,33 @@ $(TMPDIR)/external-disjoints.owl: components/external-disjoints.obo
$(ROBOT) convert -i $< -f owl -o $@
.PRECIOUS: $(TMPDIR)/external-disjoints.owl

# We get a version of the NCBITaxon slim that includes disjointness
# axioms between taxons. For the checks below, we need the *entire*
# slim, not just the classes that are used in Uberon. So to avoid making
# Uberon itself needlessly large, the slim will only be merged as part
# of the checks.
$(TMPDIR)/taxslim-disjoint-over-in-taxon.owl:
wget -O $@ http://purl.obolibrary.org/obo/ncbitaxon/taxslim-disjoint-over-in-taxon.owl

# We create a merged ontology consisting of
# (1) Uberon itself;
# (2) the external-disjoints component;
# (3) all the bridges to Uberon (except the EMAP bridge, which should
# probably be removed entirely from the repo anyway).
# (3) the taxslim including inter-taxon disjointness axioms;
# (4) all the bridges to Uberon (except the EMAP bridge, which should
# probably be removed entirely from the repo anyway);
# and we expand RO:0002175 (which was left unexpanded at the
# preprocessing step, as it is only required for this check).
# This can be used to reveal both internal inconsistencies within
# Uberon, and the improper linking of a species AO class to an Uberon
# class with a taxon constraints.
ALL_UBERON_BRIDGES=$(shell ls $(BRIDGEDIR)/uberon-bridge-to-*.owl | grep -v emap.owl)
$(TMPDIR)/uberon-edit-plus-tax-equivs.owl: $(OWLSRC) $(TMPDIR)/external-disjoints.owl $(TMPDIR)/bridges
$(TMPDIR)/uberon-edit-plus-tax-equivs.owl: $(OWLSRC) $(TMPDIR)/external-disjoints.owl \
$(TMPDIR)/taxslim-disjoint-over-in-taxon.owl \
$(TMPDIR)/bridges
$(ROBOT) merge -i $< -i $(TMPDIR)/external-disjoints.owl \
-i $(TMPDIR)/taxslim-disjoint-over-in-taxon.owl \
$(foreach bridge, $(ALL_UBERON_BRIDGES), -i $(bridge)) \
expand \
convert -f ofn -o $@
.PRECIOUS: $(TMPDIR)/uberon-edit-plus-tax-equivs.owl

Expand All @@ -664,8 +680,12 @@ extra-full-bridge-checks: $(foreach ao, $(EXTRA_FULL_CHECK_AO_LIST), $(REPORTDIR

# A quick bridge check uses only uberon plus taxon constraints plus
# bridging axioms, *not* the axioms in the source ontology itself.
$(REPORTDIR)/quick-bridge-check-%.txt: uberon.owl $(TMPDIR)/external-disjoints.owl $(TMPDIR)/bridges
$(REPORTDIR)/quick-bridge-check-%.txt: uberon.owl \
$(TMPDIR)/external-disjoints.owl \
$(TMPDIR)/taxslim-disjoint-over-in-taxon.owl \
$(TMPDIR)/bridges
$(ROBOT) merge -i $< -i $(TMPDIR)/external-disjoints.owl \
-i $(TMPDIR)/taxslim-disjoint-over-in-taxon.owl \
-i $(BRIDGEDIR)/uberon-bridge-to-$*.owl \
reason -r ELK > $@

Expand All @@ -675,8 +695,13 @@ $(REPORTDIR)/quick-bridge-check-%.txt: uberon.owl $(TMPDIR)/external-disjoints.o
# For this check, we separate the production of the merged ontology
# from the production of the report.
# 1. The merge
$(REPORTDIR)/bridge-check-%.owl: uberon.owl $(TMPDIR)/external-disjoints.owl $(TMPDIR)/bridges $(IMPORTDIR)/local-%.owl
$(REPORTDIR)/bridge-check-%.owl: uberon.owl \
$(TMPDIR)/external-disjoints.owl \
$(TMPDIR)/taxslim-disjoint-over-in-taxon.owl \
$(TMPDIR)/bridges \
$(IMPORTDIR)/local-%.owl
$(ROBOT) merge -i $< -i $(TMPDIR)/external-disjoints.owl \
-i $(TMPDIR)/taxslim-disjoint-over-in-taxon.owl \
-i $(BRIDGEDIR)/uberon-bridge-to-$*.owl \
-i $(IMPORTDIR)/local-$*.owl \
convert -f ofn -o $@
Expand Down
Loading