Effort: extensive
Mine the SciDEX hypothesis graph for transferable mechanisms —
patterns that worked in one disease vertical (e.g. anti-amyloid clearance
in AD) and could plausibly inform another (e.g. systemic-amyloid
clearance in transthyretin amyloidosis, a cardiovascular disease). The
engine generates "analogy hypotheses" in the target vertical with a
machine-readable provenance pointer back to the source mechanism, then
queues them for a debate where the new vertical's persona pack
(q-vert-vertical-personas-pack) judges feasibility.
Some of the highest-impact translational discoveries are cross-
disease pattern transfers (statins → osteoporosis, GLP-1 agonists →
weight loss, JAK inhibitors → alopecia). SciDEX has the unique data to
do this systematically: every hypothesis has a mechanism graph and a
disease tag. An analogy engine that says "this mechanism in AD looks
structurally identical to an unsolved problem in T2D" generates research
ideas no single-vertical lab would produce, and demonstrates the
multi-vertical investment paying off.
scidex/agora/cross_disease_analogy.py (≤900 LoC):extract_mechanism_signature(hypothesis_id) — builds a{(target_class, action, pathway), ...}find_analogy_targets(signature, source_vertical) — for everyq-vert-cancer-gap-importer + analogous wave-4 importers)propose_analogy_hypothesis(source_id, target_disease_id) —X resolvedY in <source_disease>. Apply the same mechanism toZ in <target_disease>. State the analogyparent_hypothesis_id=source_id, analogy_type='cross_vertical'.
cross_vertical_analogy(source_hypothesis_id,scidex-cross-disease-analogy.timer runs every activescore > 7.0 against the analogy engine, creates<source_id> in<source_disease> — judge it on its own merits but acknowledge/analogies page lists generated cross-vertical analogies withanalogy_acceptance_rate (debates ending withaccepted lifecycle) tracked weekly; target ≥15 % after 4 weeksscidex/agora/kg_extraction_utils.py triple parsing; add a(target_class, action, pathway) viatheorist persona but withscidex/agora/prompts/analogy_v1.md.
parent_hypothesis_id column already on hypotheses.q-vert-disease-ontology-catalog — vertical tagging.q-vert-vertical-personas-pack — target-vertical judge personas.q-vert-cancer-gap-importer (and cardio/infectious/metabolic/immunoImplemented all acceptance criteria:
scidex/agora/cross_disease_analogy.py (861 LoC) — core module with:extract_mechanism_signature(hypothesis_id) — builds normalized triples fromkg_extraction_utils) + KG edges; normalizes gene symbolsfind_analogy_targets(signature, source_vertical, limit) — Jaccard similaritypropose_analogy_hypothesis(source_id, target) — templates analogy_v1.mdparent_hypothesis_id=source_idanalogy_type='cross_vertical', records cross_vertical_analogy row,run_daily_analogy_cycle() — rate-limited (≤3 per source per day), evaluatescomposite_score >= 0.7get_analogy_matrix(), get_recent_analogies(), get_acceptance_rate() —/analogies pagemigrations/cross_vertical_analogy.py — adds parent_hypothesis_id TEXTanalogy_type TEXT to hypotheses; creates cross_vertical_analogy tablescidex/agora/prompts/analogy_v1.md — Theorist prompt template with explicitdeploy/scidex-cross-disease-analogy.service + .timer — daily 06:00 UTCscripts/run_cross_disease_analogy.pyscripts/run_cross_disease_analogy.py — runner scriptapi.py — added /api/analogies (JSON) and /analogies (HTML) with 2DAcceptance criteria status:
/analogies page with heat-cell matrixget_acceptance_rate() for audit metric trackingNote on current data: The SciDEX corpus is primarily neurodegeneration-focused.
Cross-vertical analogies will grow as multi-vertical hypothesis data is added through
the wave-4 importers. The engine correctly identifies analogies across different
disease labels even within the neurodegeneration family (AD→ALS, AD→PD).