broadinstitute / barclay

Command line argument parser and online documentation generation utilities for java command line programs.
BSD 3-Clause "New" or "Revised" License
8 stars 6 forks source link

Feature Request: parse shell quotes in an arguments file #181

Open GATKSupportTeam opened 2 years ago

GATKSupportTeam commented 2 years ago

A user is having an issue when their file paths have spaces in an arguments file. This issue does not exist when there is no arguments file. It would be helpful for GATK to be able to parse shell quotes correctly in the arguments file.

From the user:

I'm using gatk CombineGVCFs, and am supplying the paths of the GVCFs to combine using an arguments file, but I'm getting an error when there are spaces in the file path in the arguments file.
Here's an example of the content of the arguments file:
--variant /mnt/gpfs/live/rd01__/ritd-ag-project-rd018o-mdflo13/data/Illumina_amplicon_sequencing/2021.10.13 Emma MSH3 KO Illumina amplicon sequencing/2021.12.14 results/sample/results/variants/FAN1-1B5_g.vcf.gz
--variant /mnt/gpfs/live/rd01__/ritd-ag-project-rd018o-mdflo13/refs/1000G/cram/ROI/1000G_sample_ROI.g.vcf
I've tried putting the file path in inverted commas (e.g. `--variant "/mnt/gpfs/live/rd01__/ritd-ag-project-rd018o-mdflo13/data/Illumina_amplicon_sequencing/2021.10.13 Emma MSH3 KO Illumina amplicon sequencing/2021.12.14 results/sample/results/variants/FAN1-1B5_g.vcf.gz"`), and also tried escaping the spaces (e.g. `/mnt/gpfs/live/rd01__/ritd-ag-project-rd018o-mdflo13/data/Illumina_amplicon_sequencing/2021.10.13\ Emma\ MSH3\ KO\ Illumina\ amplicon\ sequencing/2021.12.14\ results/sample/results/variants/FAN1-1B5_g.vcf.gz`), but can't get it to work.
And here's the gatk call:
gatk CombineGVCFs \
--java-options '-DGATK_STACKTRACE_ON_USER_EXCEPTION=true' \
-R "${GKREF}/Homo_sapiens_assembly38.fasta" \
--arguments_file "${OUT}/results/variants/input.list" \
-O "${OUT}/results/variants/cohort.g.vcf"
And here's the error:

***********************************************************************

A USER ERROR has occurred: Illegal argument value: Positional arguments were provided ',Emma\{MSH3\{KO\{Illumina\{amplicon\{sequencing/2021.12.14\{results/sample/results/variants/FAN1-1B5_g.vcf.gz}' but no positional argument is defined for this tool.

***********************************************************************

(created from Zendesk ticket #244432)
gz#244432

droazen commented 2 years ago

@cmnbroad We discussed this one, and it seems like it should be a barclay issue rather than a GATK issue. Mind moving it over and closing this one when you get a chance?

cmnbroad commented 2 years ago

Moving to Barclay and closing. https://github.com/broadinstitute/barclay/issues/181

jason-cerrato commented 2 years ago

Hi @cmnbroad , it looks like this was migrated to barclay but then subsequently closed while in the barclay repository. Was this intentional?

cmnbroad commented 2 years ago

Ha No @jason-cerrato. thanks for pointing that out.