I've just installed GATK and am trying to do some basic variant calling. However when I try and run this line
gatk Mutect2 -R $REF -I "$BAM" -O "$DIR"/gatk/$PREFIX"_bwa_gatk_unfiltered.vcf"
I get the error below. Reading the output, it looks like this is the line that goes wrong, but I don't know what it means!
WARN NativeLibraryLoader - Unable to find native library: native/libgkl_pairhmm_omp.dylib
Here's the full error message:
Using GATK jar /Users/michaelflower/opt/anaconda3/envs/gatk4/share/gatk4-4.2.3.0-0/gatk-package-4.2.3.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /Users/michaelflower/opt/anaconda3/envs/gatk4/share/gatk4-4.2.3.0-0/gatk-package-4.2.3.0-local.jar Mutect2 -R /Users/michaelflower/refs/hg38/chr5.fa -I /Users/michaelflower/Documents/ACL/Research/Projects/Illumina amplicon sequencing/2021.03.23 MiSeq test/40-498314829_copy3_MSH3repeat/bwa/MSH3repeat_bwa.bam -O /Users/michaelflower/Documents/ACL/Research/Projects/Illumina amplicon sequencing/2021.03.23 MiSeq test/40-498314829_copy3_MSH3repeat/gatk/MSH3repeat_bwa_gatk_unfiltered.vcf
16:56:38.459 INFO NativeLibraryLoader - Loading libgkl_compression.dylib from jar:file:/Users/michaelflower/opt/anaconda3/envs/gatk4/share/gatk4-4.2.3.0-0/gatk-package-4.2.3.0-local.jar!/com/intel/gkl/native/libgkl_compression.dylib
Nov 16, 2021 4:56:38 PM shaded.cloud_nio.com.google.auth.oauth2.ComputeEngineCredentials runningOnComputeEngine
INFO: Failed to detect whether we are running on Google Compute Engine.
16:56:38.695 INFO Mutect2 - ------------------------------------------------------------
16:56:38.695 INFO Mutect2 - The Genome Analysis Toolkit (GATK) v4.2.3.0
16:56:38.695 INFO Mutect2 - For support and documentation go to https://software.broadinstitute.org/gatk/
16:56:38.695 INFO Mutect2 - Executing as michaelflower@Michaels-MacBook-Pro-2.local on Mac OS X v10.16 x86_64
16:56:38.695 INFO Mutect2 - Java runtime: OpenJDK 64-Bit Server VM v1.8.0_302-b08
16:56:38.696 INFO Mutect2 - Start Date/Time: 16 November 2021 16:56:38 GMT
16:56:38.696 INFO Mutect2 - ------------------------------------------------------------
16:56:38.696 INFO Mutect2 - ------------------------------------------------------------
16:56:38.696 INFO Mutect2 - HTSJDK Version: 2.24.1
16:56:38.696 INFO Mutect2 - Picard Version: 2.25.4
16:56:38.696 INFO Mutect2 - Built for Spark Version: 2.4.5
16:56:38.697 INFO Mutect2 - HTSJDK Defaults.COMPRESSION_LEVEL : 2
16:56:38.697 INFO Mutect2 - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
16:56:38.697 INFO Mutect2 - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
16:56:38.697 INFO Mutect2 - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
16:56:38.697 INFO Mutect2 - Deflater: IntelDeflater
16:56:38.697 INFO Mutect2 - Inflater: IntelInflater
16:56:38.697 INFO Mutect2 - GCS max retries/reopens: 20
16:56:38.697 INFO Mutect2 - Requester pays: disabled
16:56:38.697 INFO Mutect2 - Initializing engine
16:56:39.108 INFO Mutect2 - Done initializing engine
16:56:39.135 INFO NativeLibraryLoader - Loading libgkl_utils.dylib from jar:file:/Users/michaelflower/opt/anaconda3/envs/gatk4/share/gatk4-4.2.3.0-0/gatk-package-4.2.3.0-local.jar!/com/intel/gkl/native/libgkl_utils.dylib
16:56:39.309 WARN NativeLibraryLoader - Unable to find native library: native/libgkl_pairhmm_omp.dylib
16:56:39.309 INFO PairHMM - OpenMP multi-threaded AVX-accelerated native PairHMM implementation is not supported
16:56:39.309 INFO NativeLibraryLoader - Loading libgkl_pairhmm.dylib from jar:file:/Users/michaelflower/opt/anaconda3/envs/gatk4/share/gatk4-4.2.3.0-0/gatk-package-4.2.3.0-local.jar!/com/intel/gkl/native/libgkl_pairhmm.dylib
16:56:39.466 INFO IntelPairHmm - Flush-to-zero (FTZ) is enabled when running PairHMM
16:56:39.466 WARN IntelPairHmm - Ignoring request for 4 threads; not using OpenMP implementation
16:56:39.466 INFO PairHMM - Using the AVX-accelerated native PairHMM implementation
16:56:39.468 INFO Mutect2 - Shutting down engine
[16 November 2021 16:56:39 GMT] org.broadinstitute.hellbender.tools.walkers.mutect.Mutect2 done. Elapsed time: 0.02 minutes.
Runtime.totalMemory()=488112128
java.lang.IllegalArgumentException: samples cannot be empty
at org.broadinstitute.hellbender.utils.Utils.validateArg(Utils.java:798)
at org.broadinstitute.hellbender.tools.walkers.haplotypecaller.ReferenceConfidenceModel.<init>(ReferenceConfidenceModel.java:119)
at org.broadinstitute.hellbender.tools.walkers.mutect.SomaticReferenceConfidenceModel.<init>(SomaticReferenceConfidenceModel.java:37)
at org.broadinstitute.hellbender.tools.walkers.mutect.Mutect2Engine.<init>(Mutect2Engine.java:159)
at org.broadinstitute.hellbender.tools.walkers.mutect.Mutect2.onTraversalStart(Mutect2.java:261)
at org.broadinstitute.hellbender.engine.GATKTool.doWork(GATKTool.java:1083)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:140)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:192)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:211)
at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:160)
at org.broadinstitute.hellbender.Main.mainEntry(Main.java:203)
at org.broadinstitute.hellbender.Main.main(Main.java:289)
(gatk4)
2 answers
I worked out the problem; I had to add read groups to the bam!
picard AddOrReplaceReadGroups I="$BAM" O="$DIR"/bwa/$PREFIX"_bwa_rg.bam" RGID=4 RGLB=lib1 RGPL=ILLUMINA RGPU=unit1 RGSM=20
Hello, I would recommend you read mutect2 document before running anything, for example run gatk Mutect2 --help to see all parameters.
You need to learn how mutect2 works, what you need to run mutect2(tumor tissue data, normal tissue data(optional), PON(optional)...). Then decide which mode to run according to your data/experiment, and maybe change some parameters.
Back to your question, "java.lang.IllegalArgumentException: samples cannot be empty" seems there is no sample name, did you add read group information when performing bwa alignment? Or try to add --tumor-sample paramater.
Log in to answer this question.