Notice:
If you happen to see a question you know the answer to, please do chime in and help your fellow community members. We appreciate your help!

Test-drive the GATK tools and Best Practices pipelines on Terra


Check out this blog post to learn how you can get started with GATK and try out the pipelines in preconfigured workspaces (with a user-friendly interface!) without having to install anything.

Java error with -L in GATK v4.0.0.0 on win7 using Cygwin

I'm a happy user of GATK v3.7 running on a Win7 pc via Cygwin.
With v3.7 it was no problem to use the -L (--intervals) option.
Today I was trying the new v4.0.0.0 but ran into the following error: "java.net.URISyntaxException: Illegal character in opaque part at index 2" when I include the -L option. Without the -L option the tools run fine.

I use the following commands:
targets=E:/Pipelines/targets.bed
gatk --java-options "-Xmx8G" Mutect2 --min-pruning 3 -R $ref1 -L $targets -I ${sample}.bam -tumor ${sample} -O test.vcf

I also tried other options like putting the bed file directly in the GATK commandline or by using:
targets="E:/Pipelines/targets.bed"
and the cygwin style:
targets=/cygdrive/e/Pipelines/targets.bed
but that did not help either.
Somehow the GATK v4 tool changes the linux forward slashes to windows backslashes, which result in the error.

Do you have any clues how to solve this, so that I can keep running GATK v4 under Cygwin, with the -L option?

Thanks for the great work so far!

> Using GATK jar E:/cygwin64/home/X/GATK/v4.0.0.0/gatk-package-4.0.0.0-local.jar defined in environment variable GATK_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=1 -Xmx8G -jar E:/cygwin64/home/X/GATK/v4.0.0.0/gatk-package-4.0.0.0-local.jar Mutect2 --min-pruning 3 -R E:/Agilent/SureCall_Server/Server/CommonStorage/GenomeReferences/hg19/hg19/hg19.fasta -L E:/Pipelines/targets.bed -I test.bam -tumor test -O test.vcf
15:55:12.700 WARN  NativeLibraryLoader - Unable to find native library: native/gkl_compression.dll
15:55:12.700 WARN  NativeLibraryLoader - Unable to find native library: native/gkl_compression.dll
15:55:15.056 INFO  Mutect2 - ------------------------------------------------------------
15:55:15.056 INFO  Mutect2 - The Genome Analysis Toolkit (GATK) v4.0.0.0
15:55:15.056 INFO  Mutect2 - For support and documentation go to https://software.broadinstitute.org/gatk/
15:55:15.056 INFO  Mutect2 - Executing as XX on Windows 7 v6.1 amd64
15:55:15.056 INFO  Mutect2 - Java runtime: Java HotSpot(TM) 64-Bit Server VM v1.8.0_151-b12
15:55:15.056 INFO  Mutect2 - Start Date/Time: 10 januari 2018 15:55:12 CET
15:55:15.056 INFO  Mutect2 - ------------------------------------------------------------
15:55:15.056 INFO  Mutect2 - ------------------------------------------------------------
15:55:15.056 INFO  Mutect2 - HTSJDK Version: 2.13.2
15:55:15.056 INFO  Mutect2 - Picard Version: 2.17.2
15:55:15.056 INFO  Mutect2 - HTSJDK Defaults.COMPRESSION_LEVEL : 1
15:55:15.056 INFO  Mutect2 - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
15:55:15.056 INFO  Mutect2 - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
15:55:15.056 INFO  Mutect2 - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
15:55:15.056 INFO  Mutect2 - Deflater: JdkDeflater
15:55:15.056 INFO  Mutect2 - Inflater: JdkInflater
15:55:15.056 INFO  Mutect2 - GCS max retries/reopens: 20
15:55:15.056 INFO  Mutect2 - Using google-cloud-java patch 6d11bef1c81f885c26b2b56c8616b7a705171e4f from https://github.com/droazen/google-cloud-java/tree/dr_all_nio_fixes
15:55:15.056 INFO  Mutect2 - Initializing engine
15:55:15.118 WARN  IntelDeflaterFactory - IntelInflater is not supported, using Java.util.zip.Inflater
15:55:15.134 WARN  IntelDeflaterFactory - IntelInflater is not supported, using Java.util.zip.Inflater
15:55:15.461 INFO  FeatureManager - Using codec BEDCodec to read file file:///E:/Pipelines/targets.bed
15:55:15.477 INFO  Mutect2 - Shutting down engine
[10 januari 2018 15:55:15 CET] org.broadinstitute.hellbender.tools.walkers.mutect.Mutect2 done. Elapsed time: 0.05 minutes.
Runtime.totalMemory()=344457216
java.lang.IllegalArgumentException: Illegal character in opaque part at index 2: E:\Pipelines\targets.bed
        at java.net.URI.create(Unknown Source)
        at org.broadinstitute.hellbender.engine.FeatureInput.makeIntoAbsolutePath(FeatureInput.java:242)
        at org.broadinstitute.hellbender.engine.FeatureInput.toString(FeatureInput.java:314)
        at java.util.Formatter$FormatSpecifier.printString(Unknown Source)
        at java.util.Formatter$FormatSpecifier.print(Unknown Source)
        at java.util.Formatter.format(Unknown Source)
        at java.util.Formatter.format(Unknown Source)
        at java.lang.String.format(Unknown Source)
        at org.broadinstitute.hellbender.engine.FeatureDataSource.close(FeatureDataSource.java:573)
        at org.broadinstitute.hellbender.utils.IntervalUtils.featureFileToIntervals(IntervalUtils.java:324)
        at org.broadinstitute.hellbender.utils.IntervalUtils.parseIntervalArguments(IntervalUtils.java:274)
        at org.broadinstitute.hellbender.utils.IntervalUtils.loadIntervals(IntervalUtils.java:226)
        at org.broadinstitute.hellbender.cmdline.argumentcollections.IntervalArgumentCollection.parseIntervals(IntervalArgumentCollection.java:170)
        at org.broadinstitute.hellbender.cmdline.argumentcollections.IntervalArgumentCollection.getTraversalParameters(IntervalArgumentCollection.java:151)
        at org.broadinstitute.hellbender.cmdline.argumentcollections.IntervalArgumentCollection.getIntervals(IntervalArgumentCollection.java:107)
        at org.broadinstitute.hellbender.engine.GATKTool.initializeIntervals(GATKTool.java:376)
        at org.broadinstitute.hellbender.engine.GATKTool.onStartup(GATKTool.java:560)
        at org.broadinstitute.hellbender.engine.AssemblyRegionWalker.onStartup(AssemblyRegionWalker.java:160)
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:134)
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:179)
        at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:198)
        at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:152)
        at org.broadinstitute.hellbender.Main.mainEntry(Main.java:195)
        at org.broadinstitute.hellbender.Main.main(Main.java:275)
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: E:\Pipelines\targets.bed
        at java.net.URI$Parser.fail(Unknown Source)
        at java.net.URI$Parser.checkChars(Unknown Source)
        at java.net.URI$Parser.parse(Unknown Source)
        at java.net.URI.<init>(Unknown Source)
        ... 24 more
Tagged:

Best Answers

  • abrinkabrink
    Accepted Answer

    Dear Sheila,

    Thanks for your quick response.
    If I use GAKT v4 with a single interval (like -L chr9) the tools works fine.

    After that successful test I decided to make an interval.list file of my bed. With this list file as input GATK v4 also ran without problems!
    Apparently the BEDCodec is doing something unexpected (at least when using cygwin).

    Thanks,
    abrink

Answers

  • abrinkabrink Member
    Accepted Answer

    Dear Sheila,

    Thanks for your quick response.
    If I use GAKT v4 with a single interval (like -L chr9) the tools works fine.

    After that successful test I decided to make an interval.list file of my bed. With this list file as input GATK v4 also ran without problems!
    Apparently the BEDCodec is doing something unexpected (at least when using cygwin).

    Thanks,
    abrink

  • SkyWarriorSkyWarrior TurkeyMember ✭✭✭

    You may try using GATK with docker. At least the executable will run in its native environment. Cygwin is not supported.

  • jfarrelljfarrell Member ✭✭

    Try increasing the memory and see if that helps. Increase it to -Xmx32G for example.

Sign In or Register to comment.