{
 "main_figures": [
  {
   "id": "Fig1",
   "title": "Graphical abstract / hook",
   "claim": "Two EoE targets at distinct cascade points yield validated de novo binders",
   "panels": [
    "cascade schematic (CCL26 recruitment vs POSTN remodeling)",
    "CCL26 lead complex render",
    "POSTN lead complex render",
    "headline metrics table"
   ],
   "data": [
    "lead_specs.json",
    "CCL26_lead_complex.pdb",
    "POSTN_lead_complex.pdb"
   ]
  },
  {
   "id": "Fig2",
   "title": "Target selection",
   "claim": "Meta-analysis + lit/omics concordance + single-cell converge on CCL26 & POSTN",
   "panels": [
    "meta-analysis volcano",
    "lit-vs-omics concordance",
    "single-cell cell-of-origin dotplot"
   ],
   "data": [
    "eoe_meta_signature.csv",
    "eoe_crossref_lit_vs_omics.csv",
    "sc_celltype_de.csv"
   ]
  },
  {
   "id": "Fig3",
   "title": "Design pipeline + funnel",
   "claim": "RFdiffusion -> SolubleMPNN -> Boltz-2 with backbone/sequence QC",
   "panels": [
    "pipeline schematic",
    "design funnel counts",
    "backbone hotspot-contact dist",
    "MPNN score dist"
   ],
   "data": [
    "ccl26_qc.csv",
    "postn_qc.csv",
    "mpnn_scored.csv"
   ]
  },
  {
   "id": "Fig4",
   "title": "Fold-back validation",
   "claim": "59/60 pass ipTM/pLDDT; on-target scoring selects leads",
   "panels": [
    "ipTM vs pLDDT scatter",
    "on-target score ranking"
   ],
   "data": [
    "eoe_binder_validation.csv"
   ]
  },
  {
   "id": "Fig5",
   "title": "Lead binder structures",
   "claim": "Leads engage CCR3/GAG face of CCL26 and integrin patch of POSTN",
   "panels": [
    "CCL26 interface closeup",
    "POSTN interface closeup",
    "epitope engagement"
   ],
   "data": [
    "CCL26_lead_complex.pdb",
    "POSTN_lead_complex.pdb",
    "target_hotspots.json"
   ]
  }
 ],
 "supp_figures": [
  {
   "id": "S1",
   "title": "Meta-analysis effect-size landscape (volcano)",
   "data": [
    "eoe_meta_signature.csv"
   ]
  },
  {
   "id": "S2",
   "title": "Literature-vs-omics concordance detail",
   "data": [
    "eoe_crossref_lit_vs_omics.csv"
   ]
  },
  {
   "id": "S3",
   "title": "Single-cell cell-of-origin (full dotplot)",
   "data": [
    "sc_celltype_de.csv"
   ]
  },
  {
   "id": "S4",
   "title": "Omics druggability shortlist ranking",
   "data": [
    "eoe_target_shortlist.csv"
   ]
  },
  {
   "id": "S5",
   "title": "RFdiffusion backbone QC (length/Rg/contacts)",
   "data": [
    "ccl26_qc.csv",
    "postn_qc.csv"
   ]
  },
  {
   "id": "S6",
   "title": "Epitope definition & SASA",
   "data": [
    "target_hotspots.json",
    "target_epitopes.png"
   ]
  },
  {
   "id": "S7",
   "title": "SolubleMPNN score distributions by temperature",
   "data": [
    "mpnn_scored.csv"
   ]
  },
  {
   "id": "S8",
   "title": "Sequence-complexity filter effect",
   "data": [
    "mpnn_scored.csv"
   ]
  },
  {
   "id": "S9",
   "title": "Full ipTM/pLDDT scatter with thresholds",
   "data": [
    "eoe_binder_validation.csv"
   ]
  },
  {
   "id": "S10",
   "title": "Epitope-coverage distribution per target",
   "data": [
    "eoe_binder_validation.csv"
   ]
  },
  {
   "id": "S11",
   "title": "On-target score ranking (all 60)",
   "data": [
    "eoe_binder_validation.csv"
   ]
  },
  {
   "id": "S12",
   "title": "Per-lead interface contact maps",
   "data": [
    "CCL26_lead_complex.pdb",
    "POSTN_lead_complex.pdb"
   ]
  }
 ],
 "supp_tables": [
  {
   "id": "TableS1",
   "title": "9-cohort meta-analysis (top genes)",
   "src": "eoe_meta_signature.csv"
  },
  {
   "id": "TableS2",
   "title": "Omics druggability shortlist",
   "src": "eoe_target_shortlist.csv"
  },
  {
   "id": "TableS3",
   "title": "Literature x omics cross-reference",
   "src": "eoe_crossref_lit_vs_omics.csv"
  },
  {
   "id": "TableS4",
   "title": "All 60 fold-back designs with metrics",
   "src": "eoe_binder_validation.csv"
  },
  {
   "id": "TableS5",
   "title": "SolubleMPNN sequence summary",
   "src": "mpnn_scored.csv"
  }
 ]
}