broadinstitute / gatk

Official code repository for GATK versions 4 and up
https://software.broadinstitute.org/gatk
Other
1.65k stars 583 forks source link

FilterMutectCalls "Duplicate key" error #6996

Open Mathieu179 opened 3 years ago

Mathieu179 commented 3 years ago

Instructions

The github issue tracker is for bug reports, feature requests, and API documentation requests. General questions about how to use the GATK, how to interpret the output, etc. should be asked on the official support forum.


Bug Report

Affected tool(s) or class(es)

FilterMutectCalls

Affected version(s)

Description

When I was running FilterMutectCalls with one of my samples, I got an error as "Duplicate key".

14:50:59.201 INFO FilterMutectCalls - ------------------------------------------------------------ 14:50:59.202 INFO FilterMutectCalls - The Genome Analysis Toolkit (GATK) v4.1.9.0 14:50:59.202 INFO FilterMutectCalls - For support and documentation go to https://software.broadinstitute.org/gatk/ 14:50:59.203 INFO FilterMutectCalls - Executing as mparment@her2-w110 on Linux v5.7.7-1.el7.elrepo.x86_64 amd64 14:50:59.203 INFO FilterMutectCalls - Java runtime: Java HotSpot(TM) 64-Bit Server VM v1.8.0_31-b13 14:50:59.203 INFO FilterMutectCalls - Start Date/Time: December 12, 2020 2:50:57 PM CET 14:50:59.203 INFO FilterMutectCalls - ------------------------------------------------------------ 14:50:59.203 INFO FilterMutectCalls - ------------------------------------------------------------ 14:50:59.204 INFO FilterMutectCalls - HTSJDK Version: 2.23.0 14:50:59.204 INFO FilterMutectCalls - Picard Version: 2.23.3 14:50:59.204 INFO FilterMutectCalls - HTSJDK Defaults.COMPRESSION_LEVEL : 2 14:50:59.204 INFO FilterMutectCalls - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false 14:50:59.204 INFO FilterMutectCalls - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true 14:50:59.205 INFO FilterMutectCalls - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false 14:50:59.205 INFO FilterMutectCalls - Deflater: IntelDeflater 14:50:59.205 INFO FilterMutectCalls - Inflater: IntelInflater 14:50:59.205 INFO FilterMutectCalls - GCS max retries/reopens: 20 14:50:59.205 INFO FilterMutectCalls - Requester pays: disabled 14:50:59.205 INFO FilterMutectCalls - Initializing engine 14:51:00.692 INFO FeatureManager - Using codec VCFCodec to read file file:///workdir/mparment/data/process/A2683/PTC2_unfiltered.vcf.gz 14:51:01.406 INFO FilterMutectCalls - Done initializing engine 14:51:02.360 INFO FilterMutectCalls - Shutting down engine [December 12, 2020 2:51:02 PM CET] org.broadinstitute.hellbender.tools.walkers.mutect.filtering.FilterMutectCalls done. Elapsed time: 0.07 minutes. Runtime.totalMemory()=2385510400 java.lang.IllegalStateException: Duplicate key 7.395307178412063E-4 at java.util.stream.Collectors.lambda$throwingMerger$138(Collectors.java:133) at java.util.stream.Collectors$$Lambda$67/403388441.apply(Unknown Source) at java.util.HashMap.merge(HashMap.java:1245) at java.util.stream.Collectors.lambda$toMap$196(Collectors.java:1320) at java.util.stream.Collectors$$Lambda$69/854719230.accept(Unknown Source) at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169) at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) at org.broadinstitute.hellbender.tools.walkers.mutect.filtering.ContaminationFilter.(ContaminationFilter.java:26) at org.broadinstitute.hellbender.tools.walkers.mutect.filtering.Mutect2FilteringEngine.buildFiltersList(Mutect2FilteringEngine.java:290) at org.broadinstitute.hellbender.tools.walkers.mutect.filtering.Mutect2FilteringEngine.(Mutect2FilteringEngine.java:60) at org.broadinstitute.hellbender.tools.walkers.mutect.filtering.FilterMutectCalls.onTraversalStart(FilterMutectCalls.java:138) at org.broadinstitute.hellbender.engine.GATKTool.doWork(GATKTool.java:1047) 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) srun: error: her2-w110: task 0: Exited with exit code 3

Steps to reproduce

cd /software/gatk-4.1.9.0

srun ./gatk FilterMutectCalls -R /CECI/proj/iribhm/tc_phylogeny/genome/resources_broad_hg38_v0_Homo_sapiens_assembly38.fasta -V /workdir/mparment/data/process/A2683/PTC2_unfiltered.vcf.gz --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T1_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T2_S1_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T2_S3_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T2_S5_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T3_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T4_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T1_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T2_S1_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T2_S3_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T2_S5_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T3_segments.table --tumor-segmentation /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T4_segments.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T1_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T2_S1_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T2_S3_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T2_S5_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T3_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S2_PTC2_T4_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T1_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T2_S1_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T2_S3_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T2_S5_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T3_contamination.table --contamination-table /workdir/mparment/data/process/A2683/PTC2_N3_S4_PTC2_T4_contamination.table -ob-priors /workdir/mparment/data/process/A2683/PTC2_read-orientation-model.tar.gz -O /workdir/mparment/data/process/A2683/PTC2_filtered.vcf.gz

Actual behavior

It look like this error: https://github.com/broadinstitute/gatk/issues/3018. I followed GATK's good practice rules and I use Mutect2 in "multisample" mode.

Mathieu179 commented 3 years ago

The mistake disappears when I only use one normal tissue at a time. Do I have to fuse my normal tissues before the Mutect2 analysis?