Skip to content

Update crustacea (NCBITaxon:6657) references to pancrustacea (NCBITaxon:197562) - #3772

Open
ai4c-agent[bot] wants to merge 2 commits into
masterfrom
ai4c-agent-issue-3771-run1773
Open

ai4c-agent[bot] wants to merge 2 commits into
masterfrom
ai4c-agent-issue-3771-run1773

Conversation

@ai4c-agent

@ai4c-agent ai4c-agent Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Closes #3771

Summary

NCBITaxon has obsoleted Crustacea (NCBITaxon:6657) in favour of Pancrustacea (NCBITaxon:197562). This PR updates all references to the obsolete taxon in src/ontology/uberon-edit.obo to point to the replacement taxon.

Terms updated (11)

Term Field
UBERON:0000972 (antenna) gci_filler in has_quality PATO:0000402 axiom
UBERON:0006583 (statocyst) present_in_taxon
UBERON:0009963 (antennal gland) in_taxon
UBERON:0009964 (crustacean maxillary gland) in_taxon
UBERON:0010264 (hepatopancreas) present_in_taxon
UBERON:0010266 (arthropod hepatopancreas) in_taxon
UBERON:0014857 (zoea stage) in_taxon
UBERON:0014861 (glaucothoe stage) in_taxon
UBERON:0015170 (nauplius eye) in_taxon
UBERON:0018378 (crustacean larval stage) in_taxon
UBERON:8480039 (Oka organ) in_taxon

Verified with obo-grep.pl that NCBITaxon:6657 no longer appears in the edit file. The edit file was reserialised via robot convert before committing.

Test plan

  • CI passes (QC / reasoner)
  • Reviewer confirms Pancrustacea is the intended replacement for the taxon-restriction semantics on all affected terms (in particular the note that several of these terms flag as arthropod/crustacean-specific; Pancrustacea also includes Hexapoda, so a curator may want to consider narrower replacements per-term).

🤖 Generated by @ai4c-agent

🤖 Generated with Claude Code

…on:197562)

NCBITaxon has obsoleted Crustacea (NCBITaxon:6657) in favour of
Pancrustacea (NCBITaxon:197562). This commit updates all 11 occurrences
in the edit file to point to the replacement taxon:

- UBERON:0000972 (antenna) - gci_filler in has_quality axiom
- UBERON:0006583 (statocyst) - present_in_taxon
- UBERON:0009963 (antennal gland) - in_taxon
- UBERON:0009964 (crustacean maxillary gland) - in_taxon
- UBERON:0010264 (hepatopancreas) - present_in_taxon
- UBERON:0010266 (arthropod hepatopancreas) - in_taxon
- UBERON:0014857 (zoea stage) - in_taxon
- UBERON:0014861 (glaucothoe stage) - in_taxon
- UBERON:0015170 (nauplius eye) - in_taxon
- UBERON:0018378 (crustacean larval stage) - in_taxon
- UBERON:8480039 (Oka organ) - in_taxon

Fixes #3771

Signed-off-by: @ai4c-agent

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@ai4c-reviewer

ai4c-reviewer Bot commented Sep 15, 2026

Copy link
Copy Markdown

Claude finished @ai4c-agent[bot]'s task in 4m 40s —— View job


Review: PR #3772 — Crustacea → Pancrustacea taxon update

Checklist

  • Hierarchy and parents are consistent — no is_a/parent changes in this PR, only taxon-restriction relationships.
  • Definitions and supporting references look adequate — no def/xref changes.
  • Obsolete or replacement handling — not fully safe, see below.
  • OBO and ODK conventions appear preserved — diff is minimal and consistent with robot's canonical serialization; no stray formatting issues.
  • No obvious CI, auth, or workflow regression — only src/ontology/uberon-edit.obo touched.

What's good

  • Confirmed via obo-grep.pl that NCBITaxon:6657 no longer appears anywhere in the edit file — the stated goal (removing the obsolete Crustacea taxon ID) is achieved.
  • The diff is clean/minimal (11 lines changed), consistent with proper robot convert reserialization.

Issues found

🔴 CRITICALUBERON:0000972 antenna, line 9340: the has_quality PATO:0000402 relationship uses a GCI (gci_relation="part_of", gci_filler=...), which universally asserts "every antenna part_of an organism in the filler taxon is branched." Widening the filler from Crustacea to Pancrustacea pulls in Hexapoda (insects, NCBITaxon:6960), whose antennae are overwhelmingly uniramous/unbranched. This is an anatomically incorrect universal claim, not just a loosened restriction — see inline comment for detail.

🟡 IMPORTANT — the other 10 changes swap in_taxon/present_in_taxon NCBITaxon:6657 for the strictly broader NCBITaxon:197562 (Pancrustacea = Crustacea + Hexapoda) on terms that are explicitly crustacean-specific by name/definition (crustacean maxillary gland, antennal/green gland, arthropod hepatopancreas, zoea stage, glaucothoe stage, nauplius eye, crustacean larval stage, Oka organ). in_taxon acts as an upper-bound restriction (not "all members have this"), so these aren't logically false, but they silently lose the original Crustacea-only precision for structures that don't occur in insects. Two of the eleven (statocyst, hepatopancreas) use present_in_taxon, which is existential/multi-taxon by design and is fine as-is. Recommend pairing the new Pancrustacea assertions with never_in_taxon NCBITaxon:6960 ! Hexapoda for the genuinely crustacean-only terms — the same narrowing idiom the PR already uses for the antenna term (in_taxon Arthropoda + never_in_taxon Chelicerata). This is exactly the open question the PR's own (unchecked) test-plan item raises — it should be resolved before merge, not left to a follow-up.

🔵 SUGGESTION: a couple of pre-existing imprecisions (predating this PR) worth a follow-up issue — Oka organ's synonym "penaeid lymphoid organ" and glaucothoe stage's "hermit crab" def suggest these were already narrower than plain Crustacea; a future pass could tighten to family/infraorder-level taxa if suitable non-obsolete NCBITaxon terms exist.

Left two inline comments with specifics (line 9340 for the critical GCI issue, line 134367 summarizing the broader in_taxon precision-loss issue across all affected terms).

Recommendation: Request changes — the antenna GCI widening should not go in as-is, and the crustacean-specific in_taxon terms should get compensating never_in_taxon Hexapoda exclusions (or a documented rationale for why that's unnecessary) before merge.

@dosumis

dosumis commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

#gogoeditdiff

Comment thread src/ontology/uberon-edit.obo Outdated
xref: Wikipedia:Antenna_(biology)
is_a: UBERON:0000026 {source="FBbt"} ! appendage
relationship: has_quality PATO:0000402 {gci_relation="part_of", gci_filler="NCBITaxon:6657", source="Wikipedia"} ! branched
relationship: has_quality PATO:0000402 {gci_relation="part_of", gci_filler="NCBITaxon:197562", source="Wikipedia"} ! branched

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 CRITICAL: This is a GCI axiom, not a plain taxon restriction — has_quality PATO:0000402 {gci_relation="part_of", gci_filler="NCBITaxon:197562"} universally asserts that every antenna that is part_of an organism in the gci_filler taxon has the quality "branched" (biramous).

Widening the filler from Crustacea (NCBITaxon:6657) to Pancrustacea (NCBITaxon:197562) pulls Hexapoda (NCBITaxon:6960 — insects) into that universal claim. Insect antennae are overwhelmingly uniramous/unbranched (filiform, moniliform, clavate, etc.), so this now asserts something anatomically false for a huge fraction of Pancrustacea.

Unlike plain in_taxon/present_in_taxon (which act as upper-bound restrictions and remain true under widening), a GCI filler widening changes the quantified domain of a defining axiom, so this one needs a real anatomical review rather than a mechanical ID swap — e.g. restrict to a non-obsolete crustacean-only clade if one exists, or add a compensating never_in_taxon NCBITaxon:6960 ! Hexapoda-style exclusion, or drop the GCI if biramy isn't universal even within Crustacea sensu stricto.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ai4c-reviewer is there a subclass of pancrustacea/sibling of hexapoda we could use here? Maybe we could attach to multiple siblings. Under Allotriocaridia we have:

Branchiopoda (2,851)
Cephalocarida (15)
Copepoda (6,678)
Hexapoda (880,070)
Remipedia (56)
unclassified Allotriocarida

def: "Excretory organ in maxillary segment with duct opening on maxilla." [http://crustacea.nhm.org/glossary/define.html]
is_a: UBERON:0009962 {source="BTO"} ! excretory gland
relationship: in_taxon NCBITaxon:6657
relationship: in_taxon NCBITaxon:197562 ! Pancrustacea

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 IMPORTANT: This term is literally named "crustacean maxillary gland" and its def is crustacean-specific, but in_taxon now points to the strictly broader Pancrustacea (which also includes Hexapoda/insects, NCBITaxon:6960 — insects don't have maxillary glands, they use Malpighian tubules).

in_taxon acts as an upper bound (SubClassOf: in_taxon some Y), so this isn't logically false, but it silently discards the original Crustacea-only precision. The same applies to the other 8 plain in_taxon/present_in_taxon swaps in this PR for equally crustacean-specific terms: UBERON:0009963 (antennal/green gland — absent in Hexapoda), UBERON:0010266 (arthropod hepatopancreas — absent in Hexapoda), UBERON:0014857 (zoea stage), UBERON:0014861 (glaucothoe stage — specific to hermit crabs), UBERON:0015170 (nauplius eye), UBERON:0018378 (crustacean larval stage), UBERON:8480039 (Oka organ). (UBERON:0006583 statocyst and UBERON:0010264 hepatopancreas use present_in_taxon, which is existential/multi-taxon by design — those two are fine as-is.)

Suggest pairing the new in_taxon NCBITaxon:197562 ! Pancrustacea with never_in_taxon NCBITaxon:6960 ! Hexapoda on each of these, mirroring the existing pattern already used elsewhere in this same PR (UBERON:0000972 antenna pairs in_taxon Arthropoda with never_in_taxon Chelicerata). This is also the exact open question the PR author flagged in the (unchecked) test-plan item.

@ai4c-reviewer ai4c-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary: this PR correctly removes all references to the obsolete NCBITaxon:6657 (Crustacea), but the chosen replacement (Pancrustacea, NCBITaxon:197562, which also includes Hexapoda/insects) needs closer per-term review before merge.

🔴 CRITICAL: UBERON:0000972 (antenna) line ~9340 widens the gci_filler in a has_quality PATO:0000402 GCI axiom from Crustacea to Pancrustacea. This is a universally-quantified defining axiom ("every antenna part_of an organism in this taxon is branched"), not a simple upper-bound restriction, so this now incorrectly asserts insect antennae are branched (most are uniramous/unbranched).

🟡 IMPORTANT: The other 10 in_taxon/present_in_taxon swaps replace Crustacea with the strictly broader Pancrustacea for terms that are explicitly crustacean-specific by name/definition (crustacean maxillary gland, antennal/green gland, arthropod hepatopancreas, zoea stage, glaucothoe stage, nauplius eye, crustacean larval stage, Oka organ). in_taxon acts as an upper-bound restriction so these aren't strictly false, but they lose the original Crustacea-only precision for structures absent in Hexapoda. Recommend pairing with never_in_taxon NCBITaxon:6960 ! Hexapoda, mirroring the pattern already used on the antenna term itself (in_taxon Arthropoda + never_in_taxon Chelicerata). This is also the exact open question flagged (unchecked) in the PR's own test plan.

Full details in inline comments and the PR conversation comment.

@dosumis

dosumis commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

@ai4c-agent please add never_in_taxon NCBITaxon:6960 ! Hexapoda to classes as recommended by the review agent above.

Please also delete this axiom on antenna
has_quality PATO:0000402 {gci_relation="part_of", gci_filler="NCBITaxon:197562"}

It is not even true for all crustaceans

@ai4c-agent

ai4c-agent Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Working on it...

Follow along: View workflow run

— @ai4c-agent

1 similar comment
@ai4c-agent

ai4c-agent Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

🤖 Working on it...

Follow along: View workflow run

— @ai4c-agent

Following review feedback on PR #3772:

- Remove the `has_quality PATO:0000402` GCI axiom on UBERON:0000972
  (antenna) with `gci_filler=NCBITaxon:197562`. This universally-quantified
  axiom asserted that every antenna part_of a Pancrustacea member is
  branched, which is anatomically incorrect for Hexapoda (largely
  uniramous). Per @dosumis, it is also not true for all crustaceans, so
  the axiom is deleted rather than narrowed.

- Add `never_in_taxon NCBITaxon:6960 ! Hexapoda` to the 8 crustacean-
  specific terms whose `in_taxon` restriction was broadened from
  Crustacea to Pancrustacea in the previous commit. This restores the
  original Crustacea-only precision:
    UBERON:0009963 antennal gland
    UBERON:0009964 crustacean maxillary gland
    UBERON:0010266 arthropod hepatopancreas
    UBERON:0014857 zoea stage
    UBERON:0014861 glaucothoe stage
    UBERON:0015170 nauplius eye
    UBERON:0018378 crustacean larval stage
    UBERON:8480039 Oka organ

Signed-off-by: @ai4c-agent

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@ai4c-agent

ai4c-agent Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

Done — pushed 4ee0bd0 to this branch.

Changes

  1. Deleted the has_quality PATO:0000402 GCI axiom on UBERON:0000972 (antenna) — the gci_relation=part_of, gci_filler=NCBITaxon:197562 universal axiom removed entirely, since (as you noted) branched antennae are not true for all crustaceans, let alone all Pancrustacea.

  2. Added never_in_taxon NCBITaxon:6960 ! Hexapoda to the 8 crustacean-specific terms whose in_taxon was broadened to Pancrustacea in the previous commit:

    • UBERON:0009963 antennal gland
    • UBERON:0009964 crustacean maxillary gland
    • UBERON:0010266 arthropod hepatopancreas
    • UBERON:0014857 zoea stage
    • UBERON:0014861 glaucothoe stage
    • UBERON:0015170 nauplius eye
    • UBERON:0018378 crustacean larval stage
    • UBERON:8480039 Oka organ

    statocyst (UBERON:0006583) and hepatopancreas (UBERON:0010264) were left alone — they use present_in_taxon (existential/multi-taxon), so no exclusion needed.

Edit file reserialised via robot convert before committing.


🤖 Generated by @ai4c-agent

@ai4c-reviewer

ai4c-reviewer Bot commented Sep 16, 2026

Copy link
Copy Markdown

Claude finished @ai4c-agent[bot]'s task in 1m 54s —— View job


Review checklist

  • Hierarchy and parents are consistent
  • Definitions and supporting references look adequate
  • Obsolete or replacement handling is safe
  • OBO and ODK conventions appear preserved
  • No obvious CI, auth, or workflow regression

Re-review of PR #3772 (commit 4ee0bd0)

This is a re-review after the latest push, which addresses the two issues raised in the earlier review round.

Previously flagged issues — now resolved:

  • 🔴 CRITICAL (antenna GCI): The has_quality PATO:0000402 {gci_relation="part_of", gci_filler=...} axiom on UBERON:0000972 (antenna) has been deleted entirely, per @dosumis's instruction that it isn't universally true even within Crustacea sensu stricto. Confirmed via obo-grep.pl — the term now has no has_quality GCI at all, and its in_taxon Arthropoda / never_in_taxon Chelicerata restrictions are untouched.
  • 🟡 IMPORTANT (crustacean-specific in_taxon precision loss): never_in_taxon NCBITaxon:6960 ! Hexapoda has been added to all 8 terms where in_taxon was widened from Crustacea to Pancrustacea (antennal gland, crustacean maxillary gland, arthropod hepatopancreas, zoea stage, glaucothoe stage, nauplius eye, crustacean larval stage, Oka organ). This correctly restores Crustacea-only precision using the same in_taxon+never_in_taxon idiom already used elsewhere (e.g. antenna's in_taxon Arthropoda + never_in_taxon Chelicerata). Verified each of the 8 stanzas individually.
  • The two present_in_taxon terms (statocyst UBERON:0006583, hepatopancreas UBERON:0010264) were correctly left without a never_in_taxon exclusion, consistent with present_in_taxon being existential rather than an upper-bound restriction.

Checks performed:

  • obo-grep.pl on all 11 affected term stanzas — relationships are well-formed, correctly labelled (! Pancrustacea, ! Hexapoda), and alphabetically ordered consistent with robot convert reserialization.
  • Confirmed NCBITaxon:6657 (obsolete Crustacea) no longer appears anywhere in the file.
  • Commit message clearly documents rationale and is signed off by @ai4c-agent.
  • Note: I was unable to run robot (reasoner/QC) locally in this environment — robot is not on PATH here — so CI should be relied on to confirm reasoner consistency.

Outstanding (non-blocking): @dosumis's question about whether a narrower Pancrustacea sub-clade (e.g. Allotriocarida) would be preferable to Pancrustacea+never_in_taxon Hexapoda is still open in the thread, but the current never_in_taxon compensation is logically sound and addresses the precision-loss concern either way — narrowing further can be a follow-up if a suitable non-obsolete NCBITaxon term is identified.

No new issues found. Approving.
· branch ai4c-agent-issue-3771-run1773

@ai4c-reviewer ai4c-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-review after commit 4ee0bd0, which addresses both previously flagged issues:

  • 🔴 CRITICAL: the antenna (UBERON:0000972) has_quality PATO:0000402 GCI axiom (gci_filler widened to Pancrustacea) has been deleted entirely, as requested — confirmed no has_quality GCI remains on the term.
  • 🟡 IMPORTANT: never_in_taxon NCBITaxon:6960 ! Hexapoda has been added to all 8 crustacean-specific terms whose in_taxon was widened Crustacea → Pancrustacea (antennal gland, crustacean maxillary gland, arthropod hepatopancreas, zoea stage, glaucothoe stage, nauplius eye, crustacean larval stage, Oka organ), correctly restoring Crustacea-only precision using the existing in_taxon+never_in_taxon idiom. The two present_in_taxon terms (statocyst, hepatopancreas) were left as-is, correctly, since present_in_taxon is existential.

Verified all 11 affected stanzas via obo-grep.pl; relationships are well-formed and consistent with robot's canonical serialization. NCBITaxon:6657 no longer appears anywhere in the file. Note: could not run robot/reasoner locally in this environment (not on PATH) — relying on CI for reasoner consistency confirmation.

No new issues found. Approving.

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.

Update crustacea references to pancrustacea

1 participant