Skill for curating cancer and neoplastic disease entries in the dismech knowledge base...
Curate cancer and neoplastic disease entries in the dismech knowledge base with a focus on:
When creating a new cancer or neoplasm entry, first run the duplicate preflight
from initiate-new-disorder-creation: check the latest origin/main
knowledgebase, all PRs, and all issues by MONDO ID, preferred label, and major
synonyms. Do not create a separate cancer entry if an existing KB file, PR, or
issue already covers the same disease concept.
Follow the cancer granularity ladder in design decisions ยง3a
(docs/explanation/design-decisions.md) โ it is the ratified policy and
supersedes the older "molecular subtypes as discrete entities" framing in
projects/CANCER.md:
has_subtypes; a separate entry requires โฅ2 stratum-specific
pathophysiology nodes AND a distinct first-line therapy/diagnostic pathway.
When promoted: skos:narrowMatch mondo_mapping if no exact MONDO term
exists (file an NTR), record overlap with non-disjoint sibling strata, add
the entry to a covering grouping, and leave a pointer subtype in the parent.has_subtypes inside the stratum entry unless
therapy is variant-specific (KRAS G12C).stages: +
conforms_to: "invasion_and_metastasis#...". Do not create Metastatic_X
files.The cell of origin is derived, not stored: put a genetic_context carrying
variant_origin: SOMATIC on the pathophysiology node with the initiating
lesion, and the cell of origin is that node's cell_types.
- name: BCR-ABL1 Fusion Oncogene Formation
genetic_context:
variant_origin: SOMATIC
functional_impact_category: GAIN_OF_FUNCTION
cell_types:
- preferred_term: hematopoietic stem cell
term:
id: CL:0000037
label: hematopoietic stem cell
role: trigger marks nothing. role is free text with ~90 values in the KB,
and the derivation reads structured markers only.environmental[].influences_mechanisms link carrying
environmental_effect: TRIGGERS. It only speaks when no lesion is recorded.NCIT:R104) and transformed cell state
(NCIT:R105, the Abnormal Cell branch) per disease, quotable from
references_cache/NCIT_*.md. Useful as a cross-check and as evidence;
never as the term: of cell_types, which is CL-only.just check-cancer-origin # summary + multi-origin worklist
just list-cancer-origin # per-entry census
Worked examples: Chronic_Myeloid_Leukemia, Pancreatic_Ductal_Adenocarcinoma.
Full guidance: docs/cancer-cell-of-origin.md.
For cancers with disease phases (chronic โ accelerated โ blast crisis) โ and
for localized vs. metastatic disease โ use stages not has_subtypes:
stages:
- name: Chronic Phase
description: >-
Initial indolent phase with <10% blasts. Most patients diagnosed here.
- name: Accelerated Phase
description: >-
Transitional phase with 10-19% blasts, additional cytogenetic abnormalities.
- name: Blast Crisis
description: >-
Terminal phase resembling acute leukemia with โฅ20% blasts.
Use has_subtypes for true molecular/histologic subtypes (KIT-mutant vs PDGFRA-mutant GIST).
Split bundled pathway descriptions into atomic processes linked by downstream edges:
pathophysiology:
- name: BCR-ABL1 Fusion Oncogene Formation
description: >-
The t(9;22) translocation creates the Philadelphia chromosome with
constitutively active BCR-ABL1 tyrosine kinase.
cell_types:
- preferred_term: hematopoietic stem cell
term:
id: CL:0000037
label: hematopoietic stem cell
gene_products:
- preferred_term: BCR-ABL1 fusion protein
term:
id: NCIT:C16325
label: BCR/ABL1 Fusion Protein
downstream:
- target: Constitutive Tyrosine Kinase Activation
description: BCR-ABL1 exhibits ligand-independent kinase activity
- name: Constitutive Tyrosine Kinase Activation
description: >-
BCR-ABL1 activates RAS-MAPK, PI3K-AKT, and JAK-STAT pathways.
biological_processes:
- preferred_term: protein tyrosine kinase activity
modifier: INCREASED
term:
id: GO:0004713
label: protein tyrosine kinase activity
downstream:
- target: Uncontrolled Myeloid Proliferation
description: Activated signaling drives excessive myeloid expansion
Key principles:
downstream to connect cause โ effectcell_types, biological_processes, locations as appropriategene_products for fusion proteins/oncoproteins (NCIT terms)Use the dedicated histopathology section for microscopic findings:
histopathology:
- name: Flexner-Wintersteiner Rosettes
finding_term:
preferred_term: Flexner-Wintersteiner rosette
term:
id: HP:0031927
label: Flexner-Wintersteiner rosette
frequency: FREQUENT
diagnostic: true
description: >-
Characteristic rosettes with central lumen surrounded by tumor cells
showing photoreceptor differentiation. Pathognomonic for retinoblastoma.
- name: Spindle Cell Morphology
finding_term:
preferred_term: Spindle Cell Pattern
term:
id: NCIT:C53643
label: Spindle Cell Pattern
frequency: VERY_FREQUENT
description: >-
Elongated cells arranged in fascicles. Typical of KIT-mutant GIST.
Histopathology term sources:
Add biomarker_term to biochemical entries:
biochemical:
- name: BCR-ABL1 Fusion Transcript
biomarker_term:
preferred_term: BCR-ABL1 fusion protein
term:
id: NCIT:C36715
label: BCR-ABL1 Fusion Protein Expression
notes: >-
RT-PCR or FISH detection is diagnostic and used for molecular monitoring.
Add gene_products to pathophysiology for fusion proteins and oncoproteins:
gene_products:
- preferred_term: BCR-ABL1 fusion protein
term:
id: NCIT:C16325
label: BCR/ABL1 Fusion Protein
Look up NCIT gene product terms:
uv run runoak -i sqlite:obo:ncit descendants NCIT:C26548 --predicates rdfs:subClassOf | grep -i "fusion\|kinase"
Add therapeutic_agent to treatments with CHEBI terms:
treatments:
- name: Imatinib
description: First-generation TKI targeting BCR-ABL1.
treatment_term:
preferred_term: pharmacotherapy
term:
id: NCIT:C15986
label: Pharmacotherapy
therapeutic_agent:
- preferred_term: imatinib
term:
id: CHEBI:45783
label: imatinib
# Search for fusion proteins
uv run runoak -i sqlite:obo:ncit search "fusion protein"
# Check specific term
uv run runoak -i sqlite:obo:ncit info NCIT:C16325
# Get descendants of Gene Product
uv run runoak -i sqlite:obo:ncit descendants NCIT:C26548 --predicates rdfs:subClassOf | head -50
# Morphologic findings
uv run runoak -i sqlite:obo:ncit descendants NCIT:C35867 --predicates rdfs:subClassOf | head -50
# Histologic grades
uv run runoak -i sqlite:obo:ncit descendants NCIT:C18000 --predicates rdfs:subClassOf | head -50
uv run runoak -i sqlite:obo:chebi search "imatinib"
uv run runoak -i sqlite:obo:chebi info CHEBI:45783
uv run runoak -i sqlite:obo:hp descendants HP:0025461 --predicates rdfs:subClassOf | grep -i rosette
| Term | ID | Cancer |
|---|---|---|
| BCR/ABL1 Fusion Protein | NCIT:C16325 | CML |
| Mast/Stem Cell Growth Factor Receptor Kit | NCIT:C17328 | GIST |
| Proto-Oncogene Tyrosine-Protein Kinase Receptor Ret | NCIT:C18539 | MTC |
| Term | ID | Use |
|---|---|---|
| BCR-ABL1 Fusion Protein Expression | NCIT:C36715 | CML monitoring |
| Calcitonin | NCIT:C2281 | MTC tumor marker |
| Carcinoembryonic Antigen | NCIT:C16384 | MTC, colorectal |
| Term | ID | Cancer |
|---|---|---|
| Fuhrman Nuclear Grade | NCIT:C62411 | Renal cell carcinoma |
| GIST Histologic Grade | NCIT:C160731 | GIST |
| Nottingham Grade | NCIT:C138986 | Breast cancer |
| Term | ID | Finding |
|---|---|---|
| Spindle Cell Pattern | NCIT:C53643 | Elongated cell morphology |
| Low Mitotic Activity | NCIT:C35961 | <5 mitoses/50 HPF |
| Fleurette Formation | NCIT:C35950 | Retinoblastoma differentiation |
| Drug | CHEBI ID |
|---|---|
| imatinib | CHEBI:45783 |
| dasatinib | CHEBI:49375 |
| nilotinib | CHEBI:52172 |
| ponatinib | CHEBI:78543 |
| sunitinib | CHEBI:38940 |
| Drug | CHEBI ID |
|---|---|
| carboplatin | CHEBI:31355 |
| vincristine | CHEBI:27375 |
| etoposide | CHEBI:4911 |
| doxorubicin | CHEBI:28748 |
| cyclophosphamide | CHEBI:4026 |
Clear driver mutations with targeted therapies:
Germline mutations with defined progression:
# 1. Schema validation
just validate kb/disorders/MyCancer.yaml
# 2. Term validation (NCIT, CHEBI, HP, CL, GO)
just validate-terms kb/disorders/MyCancer.yaml
# 3. Snippet check against the reference cache (seconds, offline)
just count-verified-snippets kb/disorders/MyCancer.yaml
# 4. Before opening the PR: the batched sweep CI runs (slow โ once, not per edit)
just validate-disorders kb/disorders/MyCancer.yaml
# 5. Full QC
just qc
Run duplicate preflight using initiate-new-disorder-creation Step 1.
Confirm the target is absent from the latest knowledgebase and not already
covered by any PR or issue.
Start with deep research (if available):
# Check for existing research
ls research/*MyCancer*.md
Create YAML structure:
Add evidence for key claims (PMID references)
Validate all term bindings
Cancer curation is tracked in projects/CANCER.md. Update status after completing entries.