I've followed the GATK best practices for tumour normal somatic mutation calling with Mutect2:
- Run Mutect2 using
--artifact_detection_mode
on each normal sample from the same sequencing run. - Combine all calls made in the above step into a panel of normals (PON) using
CombineVariants
- Run Mutect2 on each tumour normal pair + PON to make somatic calls
I'm then decomposing complex SNPs into single SNPs using vt decompose_blocksub | vt normalize
and selecting the SNPs using SelectVariants --excludeFiltered -selectType SNP
I now have vcf files with somatic SNPs called by Mutect2, and I'm looking to do some custom filtering. I have used tools in the past such as vcftools and vcffilter to filter single-sample vcfs. However, vcffilter
doesn't seem to work so well with multi-sample (i.e. tumour normal) vcfs - the vcf produced by Mutect2 puts the normal sample in the fist sample column, so using vcffilter -f "AF > 0.075"
for example filters the AF of the normal sample.
Are there any recommended tools that I can use to filter Mutect2 vcf output, rather than re-inventing the wheel (again)?
It would be good to know what exactly your filtering criteria are. Is it some simple text-based filtering or more complex tasks such as annotating against a database and removal in case of a match?