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

Update bridging relations in cross-species bridges #3466

Merged
merged 4 commits into from
Jan 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions docs/bridges.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ Uberon term and a term from the foreign ontology.
For example, the `uberon-bridge-to-zfa` bridge contains axioms such as
this one:

> ZFA:0001262 EquivalentTo: UBERON:0005564 and (BFO:0000050 some NCBITaxon:7954)
> ZFA:0001262 EquivalentTo: UBERON:0005564 and (RO:0002162 some NCBITaxon:7954)

which states that ZFA’s [gonad
primordium](http://purl.obolibrary.org/obo/ZFA_0001262) (ZFA:0001262) is
equivalent to a Uberon’s [gonad
primordium](http://purl.obolibrary.org/obo/UBERON_0005564)
(UBERON:0005564) that is [part
of](http://purl.obolibrary.org/obo/BFO_0000050) a
(UBERON:0005564) that is [in
taxon](http://purl.obolibrary.org/obo/RO_0002162) some
[Danio](http://purl.obolibrary.org/obo/NCBITaxon_7954) (NCBITaxon:7954).

Such a bridge may be used by anyone who wants to merge Uberon and ZFA to
Expand Down
4 changes: 2 additions & 2 deletions docs/combined_multispecies.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ that `collected-drosophila` contains the following axiom (provided by the
bridge between Uberon and FBbt):

```
FBbt:00004865 EquivalentTo: UBERON:0000992 and (part_of some NCBITaxon:7227)
FBbt:00004865 EquivalentTo: UBERON:0000992 and (in_taxon some NCBITaxon:7227)
```

(`NCBITaxon:7227` being the identifier for the _Drosophila melanogaster_
Expand All @@ -132,7 +132,7 @@ FBbt:00004911 SubClassOf: continuous_with some FBbt:00004865
gets rewritten as

```
FBbt:00004911 SubClassOf: continous_with some (UBERON:00009992 and (part_of some NCBITaxon:7227))
FBbt:00004911 SubClassOf: continous_with some (UBERON:00009992 and (in_taxon some NCBITaxon:7227))
```

The figure below illustrates the resulting differences between a
Expand Down
3 changes: 1 addition & 2 deletions src/ontology/config/taxa.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
defaults:
compositing:
unfold_over:
- BFO:0000050
- BFO:0000066
- RO:0002162
species:
- taxon_id: NCBITaxon:9606
label: human
Expand Down
1 change: 1 addition & 0 deletions src/ontology/imports/ro_terms.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
BFO:0000050
RO:0002012
RO:0002202
RO:0002158
RO:0002476
Expand Down
10 changes: 8 additions & 2 deletions src/scripts/taxa.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,17 @@ def generate_bridging_rules(f, taxa):
f.write(f"""
[{name}-uberon] subject=={prefix}:* object==UBERON:* {{
predicate==* -> annotate(%{{subject_id}}, IAO:0000589, "%{{object_label}} ({label})");
predicate==semapv:crossSpeciesExactMatch -> create_axiom("%subject_id EquivalentTo: %object_id and (%TAXREL some {taxon_id})");
predicate==semapv:crossSpeciesExactMatch -> {{
create_axiom("%subject_id EquivalentTo: %object_id and (RO:0002162 some {taxon_id})");
create_axiom("%subject_id SubClassOf: %TAXREL some {taxon_id}");
}}
}}
[{name}-cl] subject=={prefix}:* object==CL:* {{
predicate==* -> annotate(%{{subject_id}}, IAO:0000589, "%{{object_label}} ({label})");
predicate==semapv:crossSpeciesExactMatch -> create_axiom("%subject_id EquivalentTo: %object_id and (%TAXREL some {taxon_id})");
predicate==semapv:crossSpeciesExactMatch -> {{
create_axiom("%subject_id EquivalentTo: %object_id and (RO:0002162 some {taxon_id})");
create_axiom("%subject_id SubClassOf: %TAXREL some {taxon_id}");
}}
}}
""")

Expand Down
Loading