diff --git a/docs/index.qmd b/docs/index.qmd index df4f92c..814a2c7 100644 --- a/docs/index.qmd +++ b/docs/index.qmd @@ -202,11 +202,17 @@ candidateTable(data.candidates.top_real, {showPhenotype: !topPhen}) .filter(p => !p.simulated && p.feature_type === "gene" && p.max_k >= 2 && byPhen[p.phenotype]?.length) .sort((a, b) => b.studies.length - a.studies.length || a.phenotype.localeCompare(b.phenotype)); if (!pools.length) return html`
No cross-study pool has ranked candidates yet.
`; - return html`${pools.map(p => html` + // A pool whose list is exactly the head of the overall table gets a pointer, not a repeat. + const key = (r) => `${r.phenotype}|${r.feature_id_standardized}`; + const overallHead = (rows) => rows.every((r, i) => key(r) === key(data.candidates.top_real[i] ?? {})); + return html`${pools.map(p => { + const rows = byPhen[p.phenotype]; + return html`