Cancer taxonomy granularity review (2026-08-28)
Question. The lump/split rules for Mendelian disease are reasonably settled
(design decisions §3, issues #306/#7082). What is the right level of granularity
for cancer entries — variants, genes, pathways, or classic oncology (site +
histology)? This report reviews how the KB currently handles cancer, compares
it with the field's current classification practice, and proposes a decision
ladder for ratification in docs/explanation/design-decisions.md.
TL;DR. The field's answer is none of the four alone: the accepted backbone
is cell/tissue of origin + histology, with molecular alterations promoted into
the definition of an entity only where a classification body (WHO 5th edition,
ICC) has judged that the alteration defines a biologically and clinically
distinct disease. Below that level, genes and variants are treatment-selection
strata, not taxa; pathways are a cross-cutting annotation layer, not taxa;
and stage is orthogonal to taxonomy entirely. The KB is already ~80% aligned
with this — its pathway handling (hallmark modules + mechanism groupings) is
exactly right, and its WHO-integrated CNS/heme entries are exemplary — but it
carries three systematic deviations: biomarker-stratum entries that reuse their
parent's MONDO ID as disease_term (the #5121 collisions), ten Metastatic_*
stage entries curated as sibling diseases, and no recorded rule saying which
stratum a new cancer entry should land on.
1. What the KB does today
Cancer entries currently sit at eight distinct granularity strata, most of them undocumented as strata:
| Stratum | Examples | Own MONDO ID? |
|---|---|---|
| Organ/system umbrella | Lung_Carcinoma, Glioma, Lymphoma, Renal_Cell_Carcinoma, Cervical_Cancer, Esophageal_Carcinoma, Hodgkin_Lymphoma |
yes |
| Histologic entity (classic oncology; the bulk) | Pancreatic_Ductal_Adenocarcinoma, Colon_Adenocarcinoma, Osteosarcoma, Diffuse_Large_B_Cell_Lymphoma, Small_Cell_Lung_Cancer, Clear_Cell_Renal_Cell_Carcinoma |
yes |
| WHO-integrated histo-molecular entity | Glioblastoma_IDH_Wildtype, IDH_Mutant_Astrocytoma, IDH_Mutant_Oligodendroglioma, H3_K27_Altered_Diffuse_Midline_Glioma, Medulloblastoma_WNT_Activated/_SHH_Activated, APL_PML_RARA, Core_Binding_Factor_AML, Acute_Myeloid_Leukemia_with_CEBPA_Somatic_Mutations, B-Lymphoblastic_Leukemia_Lymphoma_With_Recurrent_Genetic_Abnormality |
yes (e.g. MONDO:0850335) |
| Biomarker/therapy stratum | 7 NSCLC driver entries (EGFR_Mutant_NSCLC … ROS1_Rearranged_NSCLC), MSI_High_Colorectal_Cancer, HER2_Positive_Colorectal_Cancer, ER_Positive_Breast_Cancer, HER2_Positive_Breast_Cancer, Triple_Negative_Breast_Cancer, PIK3CA_Mutant_Breast_Cancer, FLT3_Mutant_AML, NPM1_Mutant_AML, IDH_Mutant_AML, FGFR_Altered_Cholangiocarcinoma, BRCA_Mutant_Prostate_Cancer, … |
mostly no — disease_term reuses the parent term |
| Variant level | KRAS_G12C_Mutant_NSCLC, BRAF_V600E_Mutant_Colorectal_Cancer, BRAF_V600E_Mutant_NSCLC, BRAF_V600_Mutant_Melanoma, MET_Exon_14_Skipping_NSCLC; plus variant tiers as has_subtypes inside EGFR_Mutant_NSCLC (exon 19 del / L858R / exon 20 ins / T790M) |
mostly no |
| Tissue-agnostic biomarker indication | NTRK_Fusion_Positive_Cancer |
yes (MONDO:0700215) |
| Etiology stratum | HPV_Positive_Head_and_Neck_Cancer / HPV_Negative_…, EBV_Associated_Gastric_Cancer, Gastric_Cancer_H_pylori_Associated, Aflatoxin_Related_HCC, Arsenic_Related_Cancers |
mixed |
| Stage stratum | 10 Metastatic_* entries (NSCLC, Melanoma, CRC, Gastric, HCC, Ovarian, Prostate, Breast, RCC, Pancreatic) |
no — parent term, skos:closeMatch |
Two other levels are handled without Disease entries, correctly:
- Pathways / hallmark biology live in
kb/modules/(all ten Hanahan– Weinberg hallmarks exist as modules:sustaining_proliferative_signaling,evading_growth_suppressors,resisting_cell_death,enabling_replicative_immortality,tumor_angiogenesis,invasion_and_metastasis,deregulated_cellular_energetics,genome_instability_mutation,tumor_promoting_inflammation,immune_checkpoint_blockade, plussenescence_tumor_suppression) and in mechanism-based groupings (Checkpoint_Responsive_Cancers,DNA_Repair_Synthetic_Lethality_Cancers,Hedgehog_Pathway_Activation_Disorders). - Germline predisposition syndromes (
Li-Fraumeni_Syndrome,Lynch_Syndrome,Familial_Adenomatous_Polyposis,Von_Hippel-Lindau_Disease,Hereditary_Breast_and_Ovarian_Cancer_Syndrome, …) are curated as Mendelian diseases under the existing §3 rules, with theTwo-Hit_Tumor_Suppressor_Cancer_Predisposition_Syndromesgrouping over them. These are genuinely Mendelian and need no cancer-specific rule.
Where the current policy came from
The only stated policy is projects/CANCER.md §"Molecular Subtypes as Discrete
Entities": "Instead of one 'Breast Cancer' entry with subtypes, we have
HER2-Positive / Triple-Negative / ER-Positive / PIK3CA-Mutant Breast Cancer",
justified by different biology, treatment, prognosis, and biomarker-specific FDA
approvals. That is a project plan, not a ratified design decision — design
decisions §3 ("separate file only for a distinct MONDO identity and a
substantially independent mechanism") was written for Mendelian disease and is
violated by most of the biomarker-stratum entries, which have no distinct
MONDO identity.
Measurable symptoms
- MONDO anchor collisions (issue #5121), re-measured 2026-08-28: still 21
MONDO IDs shared by >1 entry, unchanged since the 2026-07 audits —
steady-state, not shrinking. Of the 21, ~14 are cancer:
MONDO:0005061(lung adenocarcinoma) ×5,MONDO:0005575(CRC) ×4,MONDO:0005233(NSCLC) ×4,MONDO:0005075(papillary thyroid) ×3,MONDO:0005012(melanoma) ×3, plus cholangiocarcinoma, gastric ×2, breast, prostate, HCC, ovarian, RCC pairs. - Missing ladder rungs. The 5 lung-adenocarcinoma driver entries anchor to
MONDO:0005061but there is noLung_Adenocarcinomaentry; breast has four receptor strata and aMetastatic_Breast_Carcinomabut no base breast carcinoma entry. The strata float without their histologic parent. - Double representation without linkage.
Non-Small_Cell_Lung_CancerlistsEGFR-mutant NSCLCandALK-rearranged NSCLCinhas_subtypeswhile the same concepts exist as separate files; neither side references the other, so the two copies can silently diverge. - Non-disjoint siblings.
FLT3_Mutant_AMLandNPM1_Mutant_AMLco-occur in a large fraction of real patients (FLT3-ITD is enriched within NPM1-mutant AML); MSI-high CRC is enriched for BRAF V600E. Sibling Disease entries carry an implicit disjointness a reader will assume; nothing in the entries records that these strata overlap. (TheBRAF_V600E_Mutant_Colorectal_Cancerentry partially handles this with MSI-H/MSS subtypes.) - Stage entries are thin. The
Metastatic_*entries carry ~5 pathophysiology nodes each, largely duplicating the parent plus a dissemination arm that is exactly what theinvasion_and_metastasismodule exists for.
2. What the field currently does
The consensus across the current authorities is a layered histogenesis-first taxonomy with molecular promotion, not a molecular taxonomy:
- WHO Classification of Tumours, 5th edition (the "blue books", 2019–2024) keeps site + cell lineage + histology as the backbone and promotes a molecular alteration into the definition of an entity only where it defines distinct biology and clinical behavior. CNS5 (2021) is the furthest along: "Glioblastoma, IDH-wildtype", "Diffuse midline glioma, H3 K27-altered", medulloblastoma molecular groups — delivered as a layered integrated diagnosis (histology layer + molecular layer + grade), per the cIMPACT-NOW process. WHO-HAEM5 and the ICC (both 2022) define AML by genetic abnormality (APL with PML::RARA, AML with NPM1 mutation, AML with CEBPA bZIP mutation, CBF translocations) — but deliberately do not make "FLT3-mutant AML" an entity: FLT3 is a risk/therapy stratum that cuts across entities. Soft-tissue tumours similarly promote fusion-defined entities (Ewing, synovial sarcoma, CIC- and BCOR-rearranged sarcoma as separate entities).
- ICD-O-3.2 encodes topography × morphology — the two-axis classic
backbone. The KB already stores
classifications.icdo_morphology. - OncoTree (MSK; the de facto precision-oncology tree used by GENIE, cBioPortal) is explicitly histology-first; molecular biomarkers are annotations on samples, not tree nodes, with only a handful of molecularly defined nodes where the field treats them as entities.
- Precision-oncology knowledge bases (OncoKB, CIViC, ESMO's ESCAT tiers) model gene/variant → (tumor type, therapy, evidence level) as an actionability annotation joined to a histologic disease, not as diseases. FDA tissue-agnostic approvals (pembrolizumab for MSI-H/TMB-H, larotrectinib/entrectinib for NTRK fusions, selpercatinib for RET, dabrafenib+trametinib for BRAF V600E) create indications spanning taxa — the one place the field itself talks about "NTRK fusion-positive cancer" as a quasi-entity.
- Why not variants or genes as the primary axis: the same alteration is a
different disease in a different lineage. BRAF V600E melanoma responds to
BRAF inhibition; BRAF V600E colorectal cancer does not (EGFR-mediated
feedback), which is why the combination is encorafenib + cetuximab —
the KB's own
BRAF_V600E_Mutant_Colorectal_Cancerentry models precisely this mechanism. TCGA pan-cancer analyses (Hoadley et al.) found cell of origin dominates molecular clustering. Conversely, CML, APL, and Ewing sarcoma show a single lesion can define an entity when it is the initiating, universal, lineage-bound driver. - Why not pathways: pathway lesions (MAPK, PI3K, Hedgehog) recur across
entities and even across cancer/non-cancer boundaries (RASopathies). The
field uses them as cross-cutting biology and drug-development strata, never
as taxa. The KB's hallmark modules +
conforms_to+ mechanism groupings are the correct rendering of this layer.
So, to the question "variants, genes, pathways, or classic oncology?": classic
oncology is the backbone; molecular becomes taxonomic only by promotion; genes
and variants below that are strata; pathways are never taxa. The nuance is
that promotion is a judgment the field has already made, entity by entity —
WHO/ICC did the arbitration, and MONDO tracks it (it has minted
MONDO:0850335 IDH-wildtype GBM, MONDO:0700215 NTRK fusion-positive cancer,
and per-entity heme terms).
3. Assessment: where dismech agrees and where it deviates
Aligned (keep):
- Pathways as modules/groupings, never entries — exactly the field's layer model.
- WHO-integrated CNS and heme entities as their own entries with their own MONDO IDs — this is current best practice (CANCER.md Tier 9 even cites WHO CNS 2021 as the rationale).
- Predisposition syndromes under the Mendelian rules; somatic cancer of the
associated organ kept separate (Lynch vs
MSI_High_Colorectal_Cancer, Gorlin vsBasal_Cell_Carcinoma). - Variant tiers inside a stratum entry via
has_subtypes(theEGFR_Mutant_NSCLCexon-19-del/L858R/T790M pattern) — matches how the field treats variant classes (sensitivity strata, not diseases). stages:for disease phases (CML chronic/accelerated/blast) per the cancer-curator skill.
Deviating, but defensibly — formalize rather than revert:
- The ~25 biomarker/therapy-stratum entries (NSCLC drivers, breast receptor
classes, CRC MSI/BRAF/HER2, melanoma BRAF/NRAS/KIT, AML FLT3/IDH, …) are
ahead of WHO but aligned with how precision oncology actually operates,
and they pass issue #7082's disjunction test: each has its own initiating
pathophysiology chain and its own first-line therapy, which
has_subtypes'subtype:discriminator cannot scope (nosubtype:slot exists onPathophysiologyorTreatment). For a mechanism-first KB this is the content that justifies existence as an entry. TheMolecularly_Defined_NSCLC_Subtypesgrouping records this reasoning. The problem is not the split; it is that the split is unanchored and unregulated — entries reuse the parent MONDO ID asdisease_term(violating §3's own "distinct MONDO identity" clause and producing the #5121 many-to-one), no rule says when the next such entry is warranted, and overlap between non-disjoint strata is unrecorded.
Deviating, and should be fixed:
Metastatic_*entries. No classification system treats stage as a taxon — TNM is deliberately orthogonal to ICD-O/WHO. These ten entries contradict the cancer-curator skill's ownstagesguidance, are thin (~5 nodes), duplicate the parent's biology, and account for a third of the #5121 collisions. Their real content (dissemination biology, treatment-line changes at metastasis) belongs in the parent entry asstages:+ aconforms_toon theinvasion_and_metastasismodule, or in progression records.- Missing histologic parents / double representation. Strata exist whose
parent rung is absent (
Lung_Adenocarcinoma, base breast carcinoma), and parents carryhas_subtypesduplicating split files with no cross-reference either way.
4. Proposed decision ladder (draft for design-decisions.md)
Extend §3 with a cancer-specific clause, compatible with #7082's disjunction/promotion machinery:
| Level | Represent as | Rule |
|---|---|---|
| L1 Organ/system pool ("lung cancer", "lymphoma") | Lean umbrella Disease entry or a Grouping; shared biology only |
Never the curation target for mechanism content; every pathophysiology node must be true of all members |
| L2 Histologic entity (WHO blue-book entity: PDAC, SCLC, DLBCL, osteosarcoma) | Disease entry — the default level for a new cancer entry |
This is "classic oncology"; anchor is the entity's MONDO term |
| L3 Molecularly defined entity (IDH-wildtype GBM, APL with PML::RARA, NPM1-mutant AML, Ewing) | Disease entry |
Create when WHO/ICC defines the entity molecularly, i.e. the field has already promoted it; MONDO nearly always has the term |
| L4 Biomarker/therapy stratum (EGFR-mutant NSCLC, MSI-H CRC, TNBC, FLT3-mutant AML) | Default: has_subtypes on the L2/L3 entry. Promote to its own entry only when it passes #7082's test: ≥2 pathophysiology nodes not true of siblings and a distinct first-line therapy or diagnostic pathway |
On promotion: (a) file a MONDO NTR (Monarch runs MONDO — the missing terms are fixable, and several precedents exist: MONDO:0005494 TNBC, MONDO:0003865 KIT-mutant melanoma); until granted, anchor to the parent term with mapping_predicate: skos:narrowMatch in mondo_mappings and a note, never a bare parent reuse; (b) record non-disjointness with sibling strata in notes/differentiating_mechanisms; (c) add/extend the covering Grouping; (d) leave a pointer subtype in the parent's has_subtypes naming the split file rather than a divergent copy |
| L5 Variant tier (exon 19 del vs L858R; V600E vs V600K) | has_subtypes inside the L4 entry |
Never its own file. Exception: a variant is the L4 stratum when therapy is variant-specific (KRAS G12C is the stratum because sotorasib is G12C-covalent; "KRAS-mutant NSCLC" would be the wrong grain) |
| Stage / metastasis | stages:, progression records, invasion_and_metastasis module conformance |
Never a Disease entry |
| Etiologic stratum (HPV± OPSCC, EBV-GC, H. pylori GC, aflatoxin HCC) | Case-by-case via the same L4 promotion test | HPV+ oropharyngeal SCC arguably passes (distinct mechanism, staging, prognosis — AJCC 8 already stages it separately); EBV-GC is a TCGA molecular subgroup and sits closer to a subtype |
| Tissue-agnostic biomarker indication (NTRK fusion, MSI-H/TMB-H pan-cancer) | One entry per biomarker, categorized Tumor-Agnostic Indication, MONDO-anchored |
Do not also stamp it as a subtype of every organ cancer; organ-specific manifestations reference it |
| Pathway / hallmark | kb/modules/ + mechanism Grouping only |
Never a Disease entry (current practice, now stated) |
Germline predisposition syndromes remain under the existing Mendelian rules — the cancer clause governs the somatic neoplasm entries only.
5. Recommended follow-up actions
- Ratify (maintainer sign-off, per the register's process) a cancer
granularity section in
docs/explanation/design-decisions.mdbased on §4, resolving the CANCER.md-vs-§3 contradiction in favor of an explicit promotion rule. This also settles the cancer half of #306 and #7082. - Resolve #5121 non-uniformly, as its scanner comment already suggested:
keep the driver splits (option 2) but require the narrowMatch-anchor
convention + MONDO NTRs for promoted strata; lump the
Metastatic_*entries (option 1) into their parents asstages; treat the non-oncology pairs separately. - Fold the ten
Metastatic_*entries into their parents (stages + module conformance), preserving their evidence. - De-duplicate parent
has_subtypesvs split files with the pointer-subtype pattern (start withNon-Small_Cell_Lung_Cancer). - Create the missing L2 parents (
Lung_Adenocarcinoma; a base breast carcinoma entry) or explicitly document why the strata partition substitutes for them. - Record stratum overlap where siblings are non-disjoint (FLT3×NPM1 AML,
MSI-H×BRAF-V600E CRC) — at minimum in
notesand groupingdifferentiating_mechanisms; a structural "overlaps_with" is a possible schema follow-up but not required to start. - Extend the
cancer-curatorskill with the §4 ladder so new entries land on the right rung without re-deriving the policy.
Provenance
Repo evidence: kb/disorders/ census on this branch (2026-08-28); MONDO
anchor-collision scan re-run this date (21 shared IDs, listed in issue #5121's
buckets); projects/CANCER.md; kb/groupings/Molecularly_Defined_NSCLC_Subtypes.yaml;
.claude/skills/cancer-curator/SKILL.md; design decisions §3; issues #306,
3881, #5121, #7082. Field practice: WHO Classification of Tumours 5th ed.
(incl. CNS5 2021 / cIMPACT-NOW integrated diagnosis), WHO-HAEM5 and ICC 2022, ICD-O-3.2, OncoTree, OncoKB/CIViC/ESCAT actionability modeling, FDA tissue-agnostic approvals.