dismech · evidence model · design exploration
Is dismech's evidence model about evidence — or is it mostly guardrails against hallucination? A worked look at the pathograph of Familial Hypercholesterolemia, the best-evidenced mechanism in human biology.
cjmungall · 2026-07-30 · companion to docs/reports/fh-experiment-grounded-evidence-2026-07-30.md
The model today
EvidenceItem is a validated pointerevidence: - reference: PMID:1301956 # real, resolvable supports: SUPPORT # polarity evidence_source: HUMAN_CLINICAL snippet: "…mediates the uptake and lysosomal degradation of plasma LDL…" explanation: "curator prose"
The highlighted snippet must be an exact
substring of the cited text — enforced by linkml-reference-validator.
The gap · 1
A single case report and a 27,000-patient trial both collapse to one value:
supports: SUPPORT # n=1 case report supports: SUPPORT # human knockout, 15-yr cohort
HUMAN_CLINICAL lumps every human observation together;
IN_VITRO lumps a HeLa artifact with an iPSC organoid.
No record of what experiment ran, what was measured, what resulted, or how the claim was inferred.
The gap · 2 — seen in the FH file
Two FH head-nodes are both "supported" by the same
GeneReviews sentence (PMID:24404629, 4× in the file):
"…pathogenic variants in APOB (variants that impair binding of LDL-C to the LDL receptor), LDLR, or PCSK9 (gain of function); or rarely… LDLRAP1." # pasted onto: APOB-LDLR Binding Defect · PCSK9 Gain-of-Function
A real quote — and the parenthetical names the binding mechanism the APOB node claims. Fairly targeted there.
But on the PCSK9 GoF → LDLR degradation
edge it says nothing about degradation — a
diagnostic-classification sentence standing in for the mechanism.
The clean, unambiguous example is the PCSK9 edge — the one this deck builds on.
The subject · FH pathograph
We zoom into the PCSK9 → LDLR edge — where necessity, sufficiency, direct mechanism, and therapeutic rescue all converge.
The key realization
A real, already-validated snippet on the FH PCSK9 entry
(DOI:10.1073/pnas.0409736102):
snippet: "Overexpression of PCSK9 in HepG2 cells caused a decrease in whole-cell and cell-surface LDLR levels. PCSK9 overexpression had no effect on LDLR synthesis but caused a dramatic increase in the degradation of the mature LDLR"
| dimension | carried in that one string |
|---|---|
| system | HepG2 cells (hepatocyte-like) |
| perturbation | PCSK9 overexpression — a gain-of-function manipulation |
| readout | whole-cell + surface LDLR; LDLR synthesis; LDLR degradation |
| result | LDLR ↓ · synthesis unchanged · degradation ↑ |
| inference | PCSK9 acts post-translationally → sufficiency, localized to degradation not synthesis |
The model stores all of this as an opaque string with
supports: SUPPORT. None of it is queryable.
The extension
evidence: - reference: DOI:10.1073/pnas.0409736102 supports: SUPPORT evidence_source: IN_VITRO snippet: "…" experiment: design: OVEREXPRESSION system: cell_type: {id: CL:0000182} # hepatocyte background: HepG2 cell line perturbation: role: GAIN_OF_FUNCTION target_gene: {id: hgnc:20001} # PCSK9 readout: measured: LDLR protein; synthesis; degradation result: direction: DECREASED snippet: "…dramatic increase in the degradation of the mature LDLR" inference: role: SUFFICIENCY_GOF supports_edge: "PCSK9 Gain-of-Function#…"
result —
still validated as a substring.inference records how the edge is
drawn from that result.design + inference.role — both constrained and
snippet-anchored. No subjective certainty: HIGH to fabricate.OVEREXPRESSION design cannot license
NECESSITY_LOF — the pair is mutually checkable.Worked example · one edge, four experiments
| experiment | design | source | perturbation | inference role |
|---|---|---|---|---|
| A · HepG2 overexpression in repo | OVEREXPRESSION | IN_VITRO | GoF | SUFFICIENCY_GOF |
| B · Pcsk9-null mouse ⚠ | KNOCKOUT | MODEL_ORGANISM | LoF | NECESSITY_LOF |
| C · human nonsense carriers ⚠ | HUMAN_GENETIC_LOF | HUMAN_CLINICAL | natural LoF | NECESSITY_LOF |
| D · evolocumab / FOURIER ⚠ | RANDOMIZED_TRIAL | HUMAN_CLINICAL | pharmacologic LoF | THERAPEUTIC_RESCUE |
Four orthogonal method classes agreeing on one arrow. That agreement is the evidence a biologist actually believes.
⚠ canonical papers to fetch & snippet-validate before commit
(Cohen-Hobbs NEJM 2006 · Abifadel Nat Genet 2003 · Sabatine NEJM 2017).
Today the model records only causal_link_type: DIRECT + SUPPORT, four times over.
Why it's worth it
"Show every causal edge whose only
evidence is CORRELATIVE." — a curation-quality worklist that is
impossible today.
"Which edges have convergent necessity + sufficiency + human-genetic support?" — surface the well-anchored backbone.
"Where does a human phenotype rest on model-organism evidence alone?" — the translation-gap audit, structured.
The appraisal layer becomes computable precisely because strength is derived from typed, snippet-anchored structure — not from a curator's opinion field.
Fits what's already there
how it was shown
CORRELATIVE_OBSERVATION · OVEREXPRESSION · KNOCKDOWN · KNOCKOUT · HUMAN_GENETIC_LOF/GOF · RESCUE_COMPLEMENTATION · EPISTASIS · DIRECT_BIOCHEMICAL · RANDOMIZED_TRIAL · PHARMACOLOGIC_PERTURBATION
what it licenses about the edge
CORRELATIVE · NECESSITY_LOF · SUFFICIENCY_GOF · RESCUE · EPISTASIS_ORDERING · DIRECT_PHYSICAL · THERAPEUTIC_RESCUE
causal_link_type stays — it is topology (steps).
inference.role is epistemics (how well established). Orthogonal.target_mechanisms already links drug → node; let that surface as
confirmatory edge evidence (experiment D, no new plumbing).association_signals.statistics is the existing structured-effect
model — experiment.result generalizes it to any item.Design boundaries
ECO types the assay behind an annotation of an entity to a term — its GO heritage. dismech's unit is a supported assertion in a causal graph; the axis it needs is the inferential role of the experiment for that edge, which ECO doesn't model.
assertion ↔ evidence-line ↔ evidence-item ↔ provenance is the correct ontology-backed shape (and Monarch-lineage) — but heavy for a curation surface. Treat it as an export target, as BioLink already is; keep the closed enums as the thing curators touch.
Guardrails preserved: exact snippets stay mandatory · strength is derived not authored · the causal-inference vocabulary is claim-type-local to pathophysiology edges.
Where this goes
experiment.design + inference.role before any schema change.The additions aren't more citations — the node counts are fine. They're the necessity / sufficiency / human-knockout / therapeutic-rescue structure that actually establishes each edge, made typed and queryable.
Full write-up: docs/reports/fh-experiment-grounded-evidence-2026-07-30.md