Spaces:
Sleeping
Sleeping
| # Prompt β encode site-survival on the scatter + plain-language "Survives" help | |
| Two presentation fixes around the confound-survival flags. Frontend-only; the data (`survives_site`, `survives_purity`, the subgroup AUROCs) is already on the module row. No engine/API/airgap change. `tsc` after. | |
| ## Part 1 β encode site-survival on the scatter (don't hard-remove) | |
| The fitness Γ synergy scatter currently plots all highlighted groups (winner / cell_cycle / p16) the same, regardless of whether they passed the site confound check. Distinguish them, and let the user declutter: | |
| - **Encode site-survival by fill**, keeping colour = category (winner teal / cell_cycle amber / p16 gold): | |
| - `survives_site === true` β **solid** dot (as now). | |
| - `survives_site === false` β **hollow / outline-only** (or clearly faded) dot β so failed-site groups read as "less trustworthy" at a glance. | |
| - `survives_site == null` (n too small) β solid but with a thin dashed outline, or just treat as solid; keep it simple. | |
| - (Encode **site** only β purity is mostly "β" here, so it carries no signal; don't encode it.) | |
| - Add a small **toggle** above/beside the scatter: **"Hide groups that fail the site check"** (default OFF). When on, drop the `survives_site === false` highlighted dots from the plot (background grey dots are unaffected). | |
| - Update the scatter legend/caption to note: "solid = survives the site check; hollow = fails it (its signal is partly location)." | |
| ## Part 2 β add a plain-language "?" on the "Survives" column | |
| In the merged table, the "Survives" column header (`<th>Survives</th>`, ~Lab.tsx 3741) needs a clear "?" (rewrite `TIPS.moduleSurvival`, or attach a help trigger right on that header). Use this plain-English copy (anyone should understand it): | |
| > **What "Survives" checks:** whether a group still separates HPV when you take away a possible *confounder* β something that travels with HPV but isn't HPV biology. | |
| > | |
| > **Site.** HPV+ tumours are mostly in the oropharynx (back of the throat), so a gene could look like an "HPV gene" just by marking that location. The site check re-scores the group using **only oropharynx patients** (everyone the same location). The two numbers are full-cohort β oropharynx-only. | |
| > | |
| > **Purity.** A tumour sample is a mix of cancer cells and immune cells; HPV+ tumours carry more immune cells, so a gene could look like an "HPV gene" just by marking immune content. The purity check re-scores using only the **"purest" (least-immune) tumours**. It's usually "β" here because those tumours include almost no HPV+ patients, so there's nothing to test. | |
| > | |
| > **β** = held up when the confounder was held constant (likely real signal). **β** = dropped past the tolerance (part of it was the confounder). **β** = couldn't test (too few patients). | |
| - Keep the existing per-chip tooltips (the `full β subgroup` detail) unchanged; this is the column-level explainer. | |
| ## CONSTRAINTS | |
| - Frontend-only; uses `survives_site` already on the row. No engine/API/airgap change. | |
| ## Checkpoint | |
| - Scatter: failed-site highlighted dots render hollow/faded; a "Hide groups that fail the site check" toggle removes them; legend explains solid vs hollow. | |
| - The "Survives" column has a plain-language "?" explaining site, purity, β, β, and β. | |
| - `tsc` clean. | |