Skip to content

Whole Genome Sequencing — Somatic / Tumour-Normal

Domain key: wgs-somatic

Somatic WGS calls variants that arise in tumour cells and are absent from the matched normal. Codaris builds dual-sample pipelines with consensus SNV/indel calling and structural variant detection.

Step Tool Notes
QC + trimming fastp Fast all-in-one QC + adapter trimming
Alignment bwa-mem2 Paired tumour and normal BAMs
Duplicate marking GATK4 MarkDuplicates Both samples
Base recalibration GATK4 BaseRecalibrator Both samples
SNV/Indel calling GATK4 Mutect2 Tumour-normal mode with PON
SNV/Indel calling Strelka Consensus caller
SV detection Manta Prerequisite for Strelka indels

Best Practices Enforced

  • Mutect2 always runs in tumour-normal mode — tumour-only mode is not supported by this playbook
  • A Panel of Normals (PON) is required to filter germline noise; Codaris prompts for the PON VCF path
  • Manta is run before Strelka — Manta's candidate indels improve Strelka's indel sensitivity
  • Both Mutect2 and Strelka are run; downstream consensus filtering (e.g., PASS-only intersection) is recommended
  • Base recalibration is applied to both tumour and normal independently

Example Prompts

Build a somatic WGS pipeline for tumour-normal pairs.
I have a PON VCF and dbSNP. Output filtered VCFs per sample pair.
My tumour samples are 60x depth, normals are 30x.
Build a Mutect2 + Strelka consensus somatic calling pipeline
with Manta for structural variants
codaris > Check my somatic pipeline — is the PON being applied correctly
          to the Mutect2 FilterMutectCalls step?