Skip to content

Track ndi-ontology-matlab PR #9: WormBase via WormMine, NCBITaxon synonyms - #8

Merged
stevevanhooser merged 1 commit into
mainfrom
claude/exciting-cray-tdop5n
Oct 14, 2026
Merged

stevevanhooser merged 1 commit into
mainfrom
claude/exciting-cray-tdop5n

Conversation

@stevevanhooser

Copy link
Copy Markdown
Contributor

Brings the port in line with ndi-ontology-matlab at 9d8fc03 (Waltham-Data-Science/ndi-ontology-matlab#9: commits 0c18bf8 and ff3c3fd).

Changes

  • WBStrain → WormBase. WBStrainProvider is renamed WormBaseProvider, matching the MATLAB class rename.
    • Strains are now read from WormMine's InterMine query service, because wormbase.org and rest.wormbase.org answer scripts with a Cloudflare 403.
    • The Bioregistry CURIE wormbase:WBStrain00000001 is accepted and returned in that form. WBStrain: lookups behave as before.
    • These now raise, as in MATLAB, instead of being swallowed into an empty result: a non-strain WormBase id, *, a name matching more than one strain, a returned name that doesn't match, and a WormMine error.
    • parseStrain is public, as it is in MATLAB.
  • NCBITaxon synonyms. NCBITaxonProvider.parseOtherNames ports MATLAB's new parser. It keeps common names, synonyms, equivalent names and acronyms, and drops authority citations, misspellings and <Includes>. The old code returned every <DispName> and missed <Synonym> and <GenbankCommonName>.
  • ontology_list.json is now an exact copy of MATLAB's: WBStrain and wormbase both map to WormBase.
  • Tests. Ports TestNCBITaxonOtherNames, TestWormBaseParsing, TestLookupStringInput and TestLookupSynonyms (live) into tests/matlab_tests/test_ontology_parsing.py, and rewrites the WormBase unit tests. The shared case table now has WormBase cases, so WormBase is removed from known_gaps.
  • Bridge and README updated. MATLAB's string-scalar fix in lookup has no Python counterpart, since Python has only one string type; the bridge records this.

Testing

  • black --check, ruff check and pytest -m "not live" pass: 112 passed, 3 skipped.
  • The live WormMine and NCBI lookups have not been run. The authoring environment blocks those hosts, so the seven new WormBase shared cases and TestLookupSynonymsLive will run for the first time in the live CI job.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AkGucMfJVpwrBRyjNLpdcw


Generated by Claude Code

…onyms

Ports ndi-ontology-matlab at 9d8fc03 (0c18bf8, ff3c3fd):

- WBStrainProvider becomes WormBaseProvider, mirroring the MATLAB rename.
  Strains are read from WormMine's InterMine query service, because
  wormbase.org and rest.wormbase.org answer scripts with a Cloudflare 403.
  The `wormbase:WBStrain00000001` CURIE is accepted and returned in that
  form. A non-strain WormBase id, "*", an ambiguous or mismatched name and
  a WormMine error now raise, as in MATLAB, rather than being swallowed into
  an empty result. parseStrain is public, as in MATLAB.
- NCBITaxonProvider.parseOtherNames ports MATLAB's new synonym parser:
  common names, synonyms, equivalent names and acronyms; no authority
  citations, misspellings or <Includes>.
- ontology_list.json copied from MATLAB (WBStrain and wormbase -> WormBase).
- Ports TestNCBITaxonOtherNames, TestWormBaseParsing, TestLookupStringInput
  and TestLookupSynonyms (live). WormBase is now covered by the shared case
  table, so it leaves the known gaps.
- Bridge, README updated. MATLAB's string-scalar fix in lookup has no
  Python counterpart (one string type); recorded in the bridge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AkGucMfJVpwrBRyjNLpdcw
@stevevanhooser
stevevanhooser merged commit cb8bfd2 into main Oct 14, 2026
6 checks passed
@stevevanhooser
stevevanhooser deleted the claude/exciting-cray-tdop5n branch October 14, 2026 18:44
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.

2 participants