Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 27, 2025

  • Explore repository structure and understand the mapping file format
  • Parse all 2,655 terms from mondo_efo_mappings.tsv
  • Import Mondo terms - Added 25 missing terms to iri_dependencies/mondo_terms.txt
  • Obsolete all 2,655 EFO terms with proper annotations
  • Regenerate Mondo imports to include full metadata
  • Compare EFO metadata against Mondo - Identify xrefs and synonyms present vs missing
  • Generate comprehensive Markdown report for all terms

Metadata Comparison Summary

After comparing ALL EFO terms against the imported Mondo terms:

  • Total terms analyzed: 2,655
  • Xrefs already in Mondo: 6,300 ✅
  • Xrefs missing from Mondo: 6,592 (across 1,997 terms) ❌
  • Synonyms already in Mondo: 4,999 ✅
  • Synonyms missing from Mondo: 8,447 (across 1,462 terms) ❌

The report shows for each term:

  • Which xrefs are ✅ already in Mondo vs ❌ missing from Mondo
  • Which synonyms are ✅ already in Mondo vs ❌ missing from Mondo

EFO Terms Obsoleted

All 2,655 EFO terms have been obsoleted with:

  • Label prefixed with obsolete_
  • owl:deprecated true
  • efo:obsoleted_in_version "3.85"
  • obo:IAO_0100001 (term_replaced_by) pointing to the Mondo IRI
  • efo:reason_for_obsolescence explaining the migration
  • SubClassOf axioms removed

Files Changed

  • src/ontology/efo-edit.owl - Obsoleted 2,655 EFO terms
  • src/ontology/iri_dependencies/mondo_terms.txt - Added 25 missing Mondo terms
  • src/ontology/imports/mondo_terms.txt - Updated import list
  • src/ontology/reports/mondo_efo_mapping_analysis.md - Full comparison report (69,979 lines)

Contributes to #2571

Original prompt

This section details on the original issue you should resolve

<issue_title>Replace EFO mapped diseases with Mondo equivalent</issue_title>
<issue_description>All EFO disease terms that are mapped to Mondo terms (as of: https://github.com/EBISPOT/efo/blob/master/src/ontology/components/mondo_efo_mappings.tsv) should be obsoleted and replaced with the Mondo term. This involves breaking the mapping by removing it from the mapping file, obsoleting the EFO term and including a term replaced by annotation with the Mondo ID. All mappings should be checked to ensure they are adequate replacements.</issue_description>

<agent_instructions>For this task, work only on the first 100 terms in the mondo_efo_mappings document. For each of these terms, import the corresponding Mondo term and then compare it against the mapped EFO term. We want to ensure no information is lost from EFO, so after importing the Mondo term, check for any xrefs and synonyms that appear in the EFO term but are missing in the Mondo term. Compile these findings into a Markdown report (in src/ontology/reports) that summarizes, for each processed term, which xrefs and synonyms are absent from the Mondo entry. Finally, because this work represents only part of the overall ticket, the pull request produced from this task should not close the ticket when merged.
</agent_instructions>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI changed the title [WIP] Replace EFO mapped diseases with Mondo equivalent Analyze first 100 Mondo-EFO mappings for missing metadata Nov 27, 2025
Copilot AI requested a review from aleixpuigb November 27, 2025 15:44
@aleixpuigb
Copy link
Collaborator

@copilot you missed some very important tasks:

  1. If Mondo terms aren't already imported, import them
  2. Obsolete EFO terms.

Once the Mondo terms are imported, it will be easier to find which terms are missing the details requested

Copilot AI and others added 3 commits November 27, 2025 16:12
This commit obsoletes the first 100 EFO terms from mondo_efo_mappings.tsv
as part of the Mondo-EFO disease migration project.

For each term:
- Prefixed label with 'obsolete_'
- Added owl:deprecated true
- Added efo:obsoleted_in_version '3.85'
- Added obo:IAO_0100001 (term_replaced_by) with Mondo IRI
- Added efo:reason_for_obsolescence
- Removed all rdfs:subClassOf axioms

Terms obsoleted include major disease categories such as:
- EFO_0000691 (sarcoma) -> MONDO_0005089
- EFO_0000319 (cardiovascular disease) -> MONDO_0004995
- EFO_0000318 (cardiomyopathy) -> MONDO_0004994
- EFO_0000232 (adenoma) -> MONDO_0004972
- EFO_0000701 (skin disease) -> MONDO_0005093
- And 95 more terms

File normalized with 'make normalize_src' and validated with ROBOT.
Copy link
Contributor Author

Copilot AI commented Nov 27, 2025

@copilot you missed some very important tasks:

  1. If Mondo terms aren't already imported, import them
  2. Obsolete EFO terms....

Done. I've completed both tasks:

  1. Mondo terms: Verified all 100 terms are already in iri_dependencies/mondo_terms.txt
  2. EFO terms obsoleted (commit 022df90): All 100 terms now have:
    • obsolete_ prefix on labels
    • owl:deprecated true
    • efo:obsoleted_in_version "3.85"
    • obo:IAO_0100001 pointing to the replacement Mondo IRI
    • efo:reason_for_obsolescence
    • SubClassOf axioms removed

The report has also been updated to reflect the completed migration status.

Copilot AI changed the title Analyze first 100 Mondo-EFO mappings for missing metadata Migrate first 100 Mondo-EFO mappings: obsolete EFO terms and analyze metadata Nov 27, 2025
@aleixpuigb
Copy link
Collaborator

@copilot Since the mondo terms are imported, could you find which synonyms and dbxrefs are already present in those terms, and which ones are not?

Copy link
Contributor Author

Copilot AI commented Nov 27, 2025

@copilot Since the mondo terms are imported, could you find which synonyms and dbxrefs are already present in those terms, and which ones are not?

Done in commit 11b0c3c. I regenerated the Mondo imports to include full metadata, then compared each EFO term against its Mondo equivalent.

Results:

  • Xrefs: 297 already in Mondo ✅, 248 missing ❌
  • Synonyms: 152 already in Mondo ✅, 463 missing ❌

The report now shows which xrefs and synonyms are already present in Mondo vs which ones are missing for each of the 100 terms.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • current.geneontology.org
    • Triggering command: /usr/bin/curl curl -L REDACTED (dns block)
  • proconsortium.org
    • Triggering command: /usr/bin/curl curl -L REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@aleixpuigb
Copy link
Collaborator

@copilot Now that you have the whole strategy, can you do it for the rest of terms in the list (https://github.com/EBISPOT/efo/blob/master/src/ontology/components/mondo_efo_mappings.tsv)?

Copy link
Contributor Author

Copilot AI commented Nov 28, 2025

@copilot Now that you have the whole strategy, can you do it for the rest of terms in the list (https://github.com/EBISPOT/efo/blob/master/src/ontology/components/mondo_efo_mappings.tsv)?

Done in commits bdee688 and b8480ae.

Completed for all 2,655 terms:

  1. ✅ Obsoleted all EFO terms with proper annotations
  2. ✅ Added 25 missing Mondo terms to imports
  3. ✅ Regenerated Mondo imports with full metadata
  4. ✅ Generated full comparison report

Results:

  • Xrefs: 6,300 already in Mondo ✅, 6,592 missing ❌
  • Synonyms: 4,999 already in Mondo ✅, 8,447 missing ❌

The full report is in src/ontology/reports/mondo_efo_mapping_analysis.md (69,979 lines).

Copilot AI changed the title Migrate first 100 Mondo-EFO mappings: obsolete EFO terms and analyze metadata Migrate all Mondo-EFO mappings: obsolete EFO terms and analyze metadata Nov 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace EFO mapped diseases with Mondo equivalent Glioblastoma multiforme (EFO_0000519) is a synonym of glioblastoma (MONDO_0018177)

2 participants