broadinstitute / gatk

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

Bug in HaplotypeCaller: parameter mate-too-distant-length is readonly #7696

Closed RWilton closed 2 years ago

RWilton commented 2 years ago

Bug Report

Affected tool(s) or class(es)

HaplotypeCaller

Affected version(s)

Description

Steps to reproduce

Specify --mate-too-distant-length parameter.

Expected behavior

Use specified value to filter paired-end reads.

Actual behavior

Java exception:

Using GATK jar /home/rwilton/tools/gatk-4.2.5.0/gatk-package-4.2.5.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 /home/rwilton/tools/gatk-4.2.5.0/gatk-package-4.2.5.0-local.jar HaplotypeCaller
 --reference /datascope/rwilton/scratch/GATK/GRCh38/chr14.fna
 --intervals chr14
 --emit-ref-confidence GVCF
 --sample-name HG002
 --smith-waterman FASTEST_AVAILABLE
 --native-pair-hmm-threads 48
 --read-filter MateDistantReadFilter
 --mate-too-distant-length 1500
 --minimum-mapping-quality 10
 --mapping-quality-threshold-for-genotyping 10
 --input full.chr14.bam
 --output vcf1/full.chr14.g.vcf.gz
org.broadinstitute.barclay.argparser.CommandLineException$ShouldNeverReachHereException: Couldn't set field value for mateTooDistantLength in org.broadinstitute.hellbender.engine.filters.MateDistantReadFilter@55fdf7f9 with value 1500.
        at org.broadinstitute.barclay.argparser.NamedArgumentDefinition.setArgumentValue(NamedArgumentDefinition.java:680)
        at org.broadinstitute.barclay.argparser.NamedArgumentDefinition.setScalarValue(NamedArgumentDefinition.java:380)
        at org.broadinstitute.barclay.argparser.NamedArgumentDefinition.setArgumentValues(NamedArgumentDefinition.java:293)
        at org.broadinstitute.barclay.argparser.CommandLineArgumentParser.propagateParsedValues(CommandLineArgumentParser.java:490)
        at org.broadinstitute.barclay.argparser.CommandLineArgumentParser.parseArguments(CommandLineArgumentParser.java:170)
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.parseArgs(CommandLineProgram.java:233)
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:207)
        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)
Caused by: java.lang.IllegalAccessException: Can not set static final int field org.broadinstitute.hellbender.engine.filters.MateDistantReadFilter.mateTooDistantLength to java.lang.Integer
        at sun.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(UnsafeFieldAccessorImpl.java:76)
        at sun.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(UnsafeFieldAccessorImpl.java:80)
        at sun.reflect.UnsafeQualifiedStaticIntegerFieldAccessorImpl.set(UnsafeQualifiedStaticIntegerFieldAccessorImpl.java:77)
        at java.lang.reflect.Field.set(Field.java:764)
        at org.broadinstitute.barclay.argparser.NamedArgumentDefinition.setArgumentValue(NamedArgumentDefinition.java:677)
        ... 9 more
HaplotypeCaller ends (3)
droazen commented 2 years ago

@RWilton Good catch! Thanks for reporting this -- we'll fix the broken read filter argument in the next GATK release