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

Bug in Subclass Sync: Missing evidence in "confirmed" table #708

Open
twhetzel opened this issue Nov 22, 2024 · 7 comments · May be fixed by #714
Open

Bug in Subclass Sync: Missing evidence in "confirmed" table #708

twhetzel opened this issue Nov 22, 2024 · 7 comments · May be fixed by #714
Assignees
Labels
bug Something isn't working priority

Comments

@twhetzel
Copy link
Contributor

twhetzel commented Nov 22, 2024

See comment here: monarch-initiative/mondo#8432 (comment)

Bug:

There are

  • pairs of Mondo classes with a direct subclass relation
  • both exact matches to DOID
  • ...but the subclass relation does not appear in the list of confirmed subclasses (reports/sync-subClassOf.confirmed.tsv).

Example:

[Term]
id: MONDO:0000248
name: dengue shock syndrome
xref: DOID:0050125 {source="MONDO:equivalentTo"}
is_a: MONDO:0005502 {source="DOID:0050125", source="MONDO:Redundant"} ! dengue disease
[Term]
id: MONDO:0005502
name: dengue disease
xref: DOID:12205 {source="MONDO:equivalentTo", source="EFO:0005547"}

And in DO:

<owl:Class rdf:about="http://purl.obolibrary.org/obo/DOID_0050125">
    <rdfs:subClassOf rdf:resource="http://purl.obolibrary.org/obo/DOID_12205"/>
    <rdfs:label xml:lang="en">dengue shock syndrome</rdfs:label>
</owl:Class>

The confirmed subclass table is clearly missing this, only containing these two entries related to dengue:

MONDO:0005358	Dengue hemorrhagic fever	MONDO:0005502	DOID:12206	DOID:12205	dengue disease
MONDO:0000259	asymptomatic dengue	MONDO:0005502	DOID:0050143	DOID:12205	dengue disease

In my opinion its a bug in the subclass sync, one that we didn't notice because my previous subclass pipeline didn't delete all the evidence.

@twhetzel twhetzel added bug Something isn't working priority labels Nov 22, 2024
@matentzn matentzn changed the title Bug in Synonym Sync Bug in Subclass Sync: Missing evidence in "confirmed" table Nov 22, 2024
@matentzn
Copy link
Member

I updated the OP to state the bug explicitly

@joeflack4
Copy link
Contributor

@matentzn In monarch-initiative/mondo#8432 (comment) you noticed a SCR (subclass relation) not showing up as expected in the -confirmed in subclass sync.

The missing relation as it appears in mondo-edit.obo is:

[Term]
id: MONDO:0000248
is_a: MONDO:0005502 {source="DOID:0050125", source="MONDO:Redundant"} ! dengue disease

Notice the MONDO:Redundant. This is because this SCR is inferred. It is not a direct SCR, which is what is supposed to show up in -confirmed.

So I think there is no issue here. Do you agree?

If so, does any QC need to be updated to ignore such cases? Or do we just have to remember that we still have inferred axioms appearing in mondo-edit.obo?

@matentzn
Copy link
Member

Hmmm I thought we solved it by

image

But maybe we didn't.

Any subclass of axiom that can be found in the reasoned, non-reduced version of mondo-edit should show up in confirmations. The MONDO:Redundant tag is not relevant, it is outdated and we could just drop it.

So while it is inferred in mondo.obo, it is asserted in edit and therefore reasoned, non-reduced version of mondo-edit which is I believe what we settled on in the end?

@joeflack4
Copy link
Contributor

@matentzn This is the first time I'm hearing about a reasoned, non-reduced version of mondo-edit.

What's currently going on
mondo-ingest is set up to produce mondo.owl and mondo.sssom.tsv via the build_mondo func. That mondo.owl is the same mondo.owl in the mondo repo. The prereq for that is reasoned.owl ($(ONT).owl: reasoned.owl)

reasoned.owl: filtered.owl
	$(ROBOT) reason -T true -x true -X true -i $< -r ELK relax reduce -p false -r ELK \
		remove --term MONDO:0700097 --term OGMS:0000031 $(ANN) -o $@

The inferred SCR still shows up in filtered.owl, but not in reasoned.owl. I'm unfamiliar with most of the nuance in most of these robot options, but at least one of them is responsible for removing the inferred axioms.

What to do?
Is there some other artefact I'm supposed to depend on? The reasoned, non-reduced version of mondo-edit? What is that file actually called?

Perhaps it is created as a prereq and is already being generated by build_mondo. That would be good. Otherwise, we'd have to modify build_mondo to produce it as well.

@joeflack4
Copy link
Contributor

Also, it looks like we had planned to do "direct in source, but indirect in mondo" as "priority 3", and I think this is one of the cases that we just didn't get to yet. It is described in the google doc.

@matentzn
Copy link
Member

#607?

@joeflack4
Copy link
Contributor

@matentzn I completely forgot / barely remember this PR!

I investigated and here's my latest comment:

It might be better to discuss further on slack, or better yet, if there is no rush, and since it is Thanksgiving in the US, I'd prefer to discuss at next Monday's mondo-ingest call.

@joeflack4 joeflack4 linked a pull request Dec 1, 2024 that will close this issue
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working priority
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants