To celebrate the release of GATK 4.0, we are giving away free credits for running the GATK4 Best Practices pipelines in FireCloud, our secure online analysis portal. It’s first come first serve, so sign up now to claim your free credits worth $250. Sponsored by Google Cloud. Learn more at

Mutect2 --artifact_detection_mode for tumor-only calling : can i use PoN

escaonescaon Limoges, FranceMember

I am aware that "Tumor-only variant calling is possible but it is not supported with Mutect2".

Thing is, i am working on a study with few normals.
I did create my PoN with the 10 available normals.

I am planning on calling the 10 tumor-normal pairs as planned with Mutect2.

For the remaining "tumor-only" samples, the plan is to use --artifact_detection_mode :
java -jar $GATK -T MuTect2 -nct 8 \ -R ucsc.hg19.fasta \ -I:tumor tumor.bam \ --dbsnp dbsnp_138.hg19.vcf \ --cosmic cosmic_coding_and_noncoding_chr_M_sorted.vcf \ -L targets.interval_list \ --artifact_detection_mode \ -o out_artifactmode.vcf
I was wondering if i could use the -PON argument alongside with --artifact_detection_mode ?
I know it feels counter-intuitive, given that the --artifact_detection_mode is primary designed to build the PoN.
java -jar $GATK -T MuTect2 -nct 8 \ ... \ -PON pon.vcf \ --artifact_detection_mode \ ... \
If it's not possible, i guess i will then use the PoN as one of the many filters in the post-processing steps on those "out_artifactmode.vcf"

Best regards, Erwan

Issue · Github
by Sheila

Issue Number
Last Updated
Closed By


  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie

    Hi @escaon, sorry for the late reply! In case it still matters, I don't think the PON is going to work when running in artifact detection mode, but using it as a post-processing filter seems perfectly reasonable to me. Let us know what you end up doing in case it can help someone else in a similar situation.

  • escaonescaon Limoges, FranceMember

    Hi, thanks for the reply.

    The -PON argument has indeed no effect on MuTect2 with --artifact_detection_mode (at least i didn't see any effects in the tests i ran).

    Currently, i am applying a very naive approach to filter the tumor-only variants obtained with --artifact_detection_mode.
    The PoN is taken into account as a post-processing step on those VCF, command line below :
    for f in *artifactmode*.vcf; do java -jar $GATK -T VariantFiltration \ -R ucsc.hg19.fasta \ -L amplicons.bed \ --variant $f \ --mask combined_pon.vcf \ --maskName 'panel_of_normals' \ -o Output/$f; done &>> verbose.txt;

    Bonus question :
    MuTect2 reports in the VCF some variants which are outside of -L boundaries (but always close to those boundaries, ~ 20nts).
    I guess that when the HC graph is built to call variants, it takes into account all reads spanning into a given interval, thus the graph is "a bit larger" than the actual interval. And calling variants on those "ends of the graph" seems possible. But it makes me wonder, will $GATK VariantFiltration (with -L argument) manage to apply its filters on those variants called outside of -L boundaries with MuTect2 ?
    Or shall i run $GATK VariantFiltration without the -L argument ?

  • Geraldine_VdAuweraGeraldine_VdAuwera Cambridge, MAMember, Administrator, Broadie
    VariantFiltration won't act outside the -L intervals so if you want to use them, either drop -L or add interval padding with -ip.
Sign In or Register to comment.