One number — mutations counted,
then divided — decides the treatment
TMB 10 mut/Mb. Above that line a patient can have a checkpoint inhibitor; below it they cannot. Yet what goes in the numerator, and what the denominator should be, is written down nowhere.
Over these 20 lessons you build that number from 130,000 real mutations across 566 TCGA lung adenocarcinomas, then test it against the survival of 1,661 patients who actually received immunotherapy. Python runs right inside this page. There is nothing to install.
How you'll learn
TMB arrives already printed on the report. Here you rebuild it starting from a single mutation row — deciding for yourself what to count, what to divide by, and what to throw away.
Not a stand-in dataset. Every mutation in 566 TCGA lung adenocarcinomas, the 1,661-patient MSK-IMPACT immunotherapy cohort, and the real gene-panel definitions, straight from cBioPortal.
Divide by 30 Mb or by 38 Mb, count silent mutations or not, sequence the whole exome or a 468-gene panel — the same patient's number crosses the line and back.
Some patients with high TMB still do not respond. Their tumours are immune deserts — no immune cells inside at all. You find that group in the data yourself, the one PNAS 2025 went after.