tcga-survival — TCGA Kaplan-Meier Survival
TCGA 33 cohorts × HUGO gene → self KM + log-rank χ² + Mantel-Haenszel HR + Greenwood 95% CI (zero external libs, ko/en/ja).
Tool Guide
Definition
tcga-survival is a free TCGA Kaplan-Meier survival analyser that wraps cBioPortal (`/clinical-data/fetch` + `/molecular-data/fetch` 4 endpoints) behind one Next.js 15 Route Handler, ingests `_rna_seq_v2_mrna` (log₂(RSEM+1)) raw and applies client-side Z-score (over the entire cohort, bypassing the cBioPortal diploid baseline). Five cohort cuts (median / quartile / tertile / custom / optimal-deferred-to-Phase-3) feed an in-house Kaplan-Meier estimator (Kaplan & Meier 1958) + log-rank χ² (Mantel 1966) + Mantel-Haenszel HR (Pike 1972) + Greenwood log-log 95% CI (R survival default) + chi² p-value branched formula (χ²≤30 polynomial A&S 26.2.17 / χ²>30 asymptotic expansion Therneau 2000). Zero external libs: jStat / lifelines / survival.js / D3 / Chart.js all replaced by in-house SVG and ~200 LOC of statistics. IDB Raw 30d cache (gtex-expression-equivalent wrapper) + 12 edge cases ko/en/ja + Cox-recommended caption + 4-axis p-value interpretation guide.
Purpose
(1) GEPIA / OncoLnc are English-only with steep KM learning curves — ko/en/ja unified entry (2) Weak cohort-cut UX (median only) — 5 cut methods + custom slider + Phase 3 Lausen-Schumacher placeholder (3) Korean statistical guidance absent — 4-axis p-value interpretation (causation / multiple testing / cherry-picking / exploratory) (4) No bio-toolkit integration — mygene-search → gtex-expression → tcga-survival 3-hop workflow (5) Zero external npm libs baseline — jStat / lifelines / D3 / Chart.js all replaced in-house (6) Cox-recommended ko/en/ja mandatory caption (Mantel-Haenszel ≠ Cox 5~15% deviation)
How to Use
① Pick a TCGA cohort (LUAD/BRCA/COAD/LIHC/KIRC etc. — 33 total) ② Enter HUGO symbol + Entrez ID (e.g. TP53 / 7157) ③ Pick endpoint (OS / DSS / PFS / DFI — Liu 2018 Cell 173:400 baseline) ④ Pick cut method (median recommended ★★★★★ / quartile / tertile / custom / optimal[Phase 3]) ⑤ Analyze → IDB raw 30d cache hit serves instantly / miss goes through the Route Handler to cBioPortal (2.5s SLA) ⑥ KM curve (high/low + 95% CI band + censored "+") + At-Risk Table (0/12/24/36/48 mo) + StatsBox ⑦ Stats: n_High/Low + log-rank χ² + p-value + HR + 95% CI + Cox-recommended mandatory caption ⑧ Edge banners: cohort_small / subgroup_small / zero_events / censoring_high / pvalue_underflow + 7 more ⑨ Export: SVG / PNG / TSV (subject-level) / JSON — Reproducibility tag mandatory ⑩ Deep links: cBioPortal study/comparison / GDC project / NCBI Gene / mygene-search (internal) / gtex-expression (internal) / PubMed
Examples
Example 1) TCGA-LUAD × TP53 (representative tumor suppressor) → median cut → high/low + log-rank p < 0.05 expected Example 2) TCGA-BRCA × BRCA1 (breast cancer core gene) → quartile cut → Q1/Q4 comparison Example 3) TCGA-COAD × KRAS (colon cancer target) → tertile cut → T1/T3 + verify Cox-recommended caption Example 4) TCGA-LIHC × MYC (liver oncogene) → median cut → strong significance (χ²>30 asymptotic branch exercised) Example 5) TCGA-KIRC × EGFR (kidney cancer targeted-therapy marker) → median cut → mygene-search / gtex-expression cross-link