omics.co.in logo omics.co.in

2. Somatic Cancer Mutation Calling & Neoantigen Profiling

⚡ Pipeline 2 of 16  ·  🧬 DNA-Seq & Oncology

Paired Tumor-Normal somatic mutation detection designed to identify sub-clonal somatic single nucleotide variants (SNVs), small indels, cross-sample contamination, and functional variant effect annotations.

🔍 Ctrl + K
DNA-Seq • Oncology Authority: TCGA / GATK Mutect2 / ICGC
Production Blueprint v4.5

2. Somatic Cancer Mutation Calling & Neoantigen Profiling

Paired Tumor-Normal somatic mutation detection designed to identify sub-clonal somatic single nucleotide variants (SNVs), small indels, cross-sample contamination, and functional variant effect annotations across solid tumors and liquid biopsies.

Metric / RequirementSpecificationTarget Configuration
Core Engine / FrameworkGATK Mutect2 + Strelka2 + VEPNextflow / Snakemake Compatible
Benchmark Runtime~10 – 14 hours (80× Tumor / 40× Normal WGS)32 CPU cores / 64 GB RAM
Standard Containerdocker pull broadinstitute/gatk:4.5.0.0Docker • Singularity • Conda
Input → DeliverableMatched Tumor/Normal BAMs → High-Confidence Somatic VCF / MAF
Workflow Chain: Tumor/Normal BAMs → GATK Mutect2 → LearnReadOrientationModel → GetPileupSummaries → CalculateContamination → FilterMutectCalls → Ensembl VEP → vcf2maf
⚡

Step 1: Matched Tumor-Normal Somatic Variant Calling with GATK Mutect2

GATK Mutect2

Executes local haplotype de novo assembly on matched tumor and normal BAMs. Evaluates somatic variant likelihoods while using a Panel of Normals (PoN) and gnomAD germline allele frequency priors to suppress recurrent technical sequencing artifacts.

gatk --java-options "-Xmx32G" Mutect2 \
  -R /references/GRCh38.d1.vd1.fa \
  -I tumor.recal.bam -tumor TUMOR_SAMPLE \
  -I normal.recal.bam -normal NORMAL_SAMPLE \
  --germline-resource /references/af-only-gnomad.hg38.vcf.gz \
  --panel-of-normals /references/1000g_pon.hg38.vcf.gz \
  --f1r2-tar-gz f1r2.tar.gz \
  -O somatic_unfiltered.vcf.gz
Key Flags & Notes: --germline-resource incorporates population frequency priors to reject germline variants; --panel-of-normals filters recurrent machine artifacts; --f1r2-tar-gz captures orientation data for artifact learning.
⚡

Step 2: Learn Read Orientation Model for FFPE & 8-OxoG Artifact Filtering

LearnReadOrientationModel

Quantifies orientation bias caused by oxidative damage during library preparation (8-oxoguanine C→A / G→T) or formalin fixation in archival clinical specimens (FFPE deamination C→T / G→A).

gatk LearnReadOrientationModel \
  -I f1r2.tar.gz \
  -O read-orientation-model.tar.gz
Key Flags & Notes: LearnReadOrientationModel estimates prior probabilities of artifactual nucleotide substitutions across sequence contexts, preventing false positive somatic calls.
⚡

Step 3: Cross-Sample Contamination & Tumor Infiltration Estimation

GetPileupSummaries • CalculateContamination

Calculates allelic counts at high-frequency biallelic population SNPs to estimate both cross-sample sample-swap contamination and tumor-in-normal infiltration percentage.

# Phase A: Pileup Summaries across common biallelic SNPs
gatk GetPileupSummaries \
  -I tumor.recal.bam \
  -V /references/small_exac_common_3.hg38.vcf.gz \
  -L /references/small_exac_common_3.hg38.vcf.gz \
  -O tumor_pileups.table

gatk GetPileupSummaries \
  -I normal.recal.bam \
  -V /references/small_exac_common_3.hg38.vcf.gz \
  -L /references/small_exac_common_3.hg38.vcf.gz \
  -O normal_pileups.table

# Phase B: Quantify contamination percentage
gatk CalculateContamination \
  -I tumor_pileups.table \
  -matched normal_pileups.table \
  -tumor-segmentation segments.table \
  -O contamination.table
Key Flags & Notes: CalculateContamination protects against calling low-frequency false somatic mutations arising from barcode bleeding or reagent contamination.
⚡

Step 4: Multi-Parametric Somatic Variant Filtration

FilterMutectCalls

Synthesizes read orientation priors, cross-sample contamination estimates, base quality, mapping quality, and germline probability to yield PASS-confidence somatic mutations.

gatk FilterMutectCalls \
  -R /references/GRCh38.d1.vd1.fa \
  -V somatic_unfiltered.vcf.gz \
  --contamination-table contamination.table \
  --tumor-segmentation segments.table \
  --ob-priors read-orientation-model.tar.gz \
  -O somatic_filtered.vcf.gz
Key Flags & Notes: FilterMutectCalls tags non-somatic candidates with specific filter annotations (e.g. contamination, orientation, germline_risk) while retaining true sub-clonal mutations.
⚡

Step 5: Orthogonal Validation with Strelka2 Fast Somatic Caller

Strelka2 v2.9+

Deploys a specialized Bayesian mixture model to independently call somatic SNVs and indels in parallel, generating high-concordance truth sets.

configureStrelkaSomaticWorkflow.py \
  --tumorBam=tumor.recal.bam \
  --normalBam=normal.recal.bam \
  --referenceFasta=/references/GRCh38.d1.vd1.fa \
  --runDir=./strelka_somatic_out

python3 ./strelka_somatic_out/runWorkflow.py -m local -j 16
Key Flags & Notes: configureStrelkaSomaticWorkflow.py leverages empirical indel error models for elevated sensitivity in low-depth genomic regimes.
⚡

Step 6: Functional Variant Annotation & OncoKB / MAF Conversion

Ensembl VEP • vcf2maf

Annotates somatic consequences, protein-coding changes (HGVS p. / c.), COSMIC identifiers, and transforms VCF files into Mutation Annotation Format (MAF) for OncoPrint visualization.

# Phase A: Ensembl VEP Clinical Annotation
vep --input_file somatic_filtered.vcf.gz \
    --output_file annotated_somatic.vcf \
    --format vcf --vcf --symbol --terms SO --cache --assembly GRCh38 --fork 16

# Phase B: Convert to TCGA-Compatible MAF
vcf2maf.pl \
  --input-vcf somatic_filtered.vcf.gz \
  --output-maf somatic_final.maf \
  --ref-fasta /references/GRCh38.d1.vd1.fa \
  --vep-path /opt/vep/src/ensembl-vep/ \
  --tumor-id TUMOR_SAMPLE --normal-id NORMAL_SAMPLE
Key Flags & Notes: vcf2maf.pl standardizes transcript choices to Canonical Ensembl Transcripts; ensures 100% interoperability with Maftools in R.

🚀 Automated Nextflow (nf-core) Production Execution

Execute this complete workflow across any SLURM, AWS Batch, or Google Cloud HPC cluster using the verified community container pipeline:

nextflow run nf-core/sarek -r 3.4.4 \
  --input samplesheet.csv \
  --tools mutect2,strelka \
  --genome GATK.GRCh38 \
  --outdir ./results_somatic_cancer/ \
  -profile docker
← Return to Home Hub