bio-clinical-databases-tumor-mutational-burden
Calculates tumor mutational burden from WES/WGS/panel data with Friends of Cancer Research harmonization equations, per-assay calibration (FDA 10/Mb = 7.8 TSO500 = 8.4 OncomineTML), synonymous/indel/germline filtering, hypermutator tiering, blood TMB, and integration with HLA-LOH and neoantigen quality (Luksza 2017 fitness). Use when assessing ICI eligibility under tumor-specific cutoffs (McGrail 2021), comparing tissue vs bTMB, or auditing TMB-H reporting against ESMO 2024 and FDA pembrolizumab pan-tumor 2020.
npx skills add BioTender-max/awesome-bio-agent-skills --skill tumor-mutational-burden --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Calculates tumor mutational burden from WES/WGS/panel data using harmonized equations, applying per-assay calibration, filtering (synonymous/indel/germline), hypermutator tiering, blood TMB, and integration with HLA-LOH and neoantigen quality.
How it works
- Uses Python with the primary tool cyvcf2 to parse a VCF and VEP annotations.
- Counts nonsynonymous coding variants (with option to include synonymous variants, depending on assay) after applying filters: minimum VAF and depth, germline filtering via gnomAD AF or population AF, and exclusion of hotspots.
- Normalizes the count by the panel’s scored region in Mb (per Vega 2021 calibration) to compute TMB = nonsynonymous_count / scored_region_mb.
- Applies assay-specific TMB-H cutoffs (FoundationOne/CDx 10.0, TSO500 7.8, Oncomine 8.4, etc.) to classify TMB-H vs low, and further categorizes hypermutator classes at higher thresholds.
- Includes guidance for cross-panel calibration and recommends Vega 2021 equations or WES re-projection for cross-panel comparison.
- Provides workflow for regulatory/trial context, MSI-H reconciliation, and scenarios where tumor-type-specific cutoffs apply.
When to use it
Use when computing TMB from a somatic VCF annotated with VEP/SnpEff/Funcotator, and when you need to apply panel-specific calibration to compare against pan-tumor or tumor-type-specific cutoffs for ICI eligibility. Also applicable when auditing TMB-H reporting against guidelines (ESMO 2024, FDA pan-tumor approvals) and when integrating with MSI-H and HLA-LOH analyses.
What it can touch
- Python tool: cyvcf2
- VCF fields: DP, AD, AF/gnomAD_AF, CSQ (VEP Consequence field)
- Panel-scored region constants (FoundationOne CDx, TSO500, Oncomine TML, MSK-IMPACT, WES, WGS, etc.)
- ASSAY_TMB_H_CUTOFF mapping for per-assay cutoffs
Caveats
- Relies on panel-scored region values and Vega 2021 calibration; cross-panel comparisons require calibration or re-projection to WES.
- Includes or excludes synonymous variants based on assay; FoundationOne CDx conventions include synonyms, MSK-IMPACT typically excludes.
- Excludes hotspots by default; VAF/depth/germline filtering decisions impact TMB magnitude by 5-20% depending on conventions.
- Hypermutator classifications depend on thresholds and context (MMR-D, POLE-exo) and may not translate identically across all panels.
- The implementation uses placeholder mappings and example constants; real usage should verify versions and signatures as instructed (Python, CLI, and tool version checks) before running.
## Version Compatibility Reference examples tested with: cyvcf2 0.30+, VEP 111+ (or snpEff 5.2+), pandas 2.2+, numpy 1.26+, LOHHLA 1.0+ (Marty 2017), DASH 1.0+ (Montesion 2021). v4.1 (May 2024) gnomAD is current for germline subtraction. Friends of Cancer Research TMB harmonization framework (Vega 2021 *Ann Oncol*) and ESMO 2024 (Mosele *Ann Oncol*) define the operational thresholds. Before using code patterns, verify installed versions match. If versions differ: - Python: `pip show <package>` then `help(module.function)` to check signatures - CLI: `<tool> --version` If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying. TMB calculation requires VCF with VEP / snpEff / Funcotator consequence annotations; the panel size used as denominator MUST match the assay's actual scored region, NOT the panel's total content. # Tumor Mutational Burden; Calculation, Harmonization, ICI Eligibility **'Calculate TMB from this somatic VCF and apply ICI eligibility cutoff'** -> Count nonsynonymous coding variants passing VAF/depth/germline filters; divide by assay scored region in Mb; apply assay-c
- Version Compatibility
- Regulatory and Trial Landscape
- Friends of Cancer Research Harmonization: Cross-Panel Calibration
- Variant-Counting Subtleties
- Hypermutator Tiering
- The Tumor-Type-Specific Cutoff Debate
- Blood TMB (bTMB): The Negative-Trial Story
- Neoantigen Quality: Beyond Raw TMB
- Decision Tree by Scenario
- Standard Workflow
- TMB-MSI Concordance and Reconciliation
- Per-Operation Failure Modes
- Reconciliation: When Sources Disagree
- Quantitative Thresholds and Conventions
What does the bio-clinical-databases-tumor-mutational-burden skill do?
Calculates tumor mutational burden from WES/WGS/panel data with Friends of Cancer Research harmonization equations, per-assay calibration (FDA 10/Mb = 7.8 TSO500 = 8.4 OncomineTML), synonymous/indel/germline filtering, hypermutator tiering, blood TMB, and integration with HLA-LOH and neoantigen quality (Luksza 2017 fitness). Use when assessing ICI eligibility under tumor-specific cutoffs (McGrail 2021), comparing tissue vs bTMB, or auditing TMB-H reporting against ESMO 2024 and FDA pembrolizumab pan-tumor 2020.
How do I install it?
Run `npx skills add BioTender-max/awesome-bio-agent-skills --skill tumor-mutational-burden --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From BioTender-max/awesome-bio-agent-skills, a repository with 135 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
