This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Conflicting errors with "baseCommand" vs "arguments" usage

When I include all of my static arguments in the baseCommand section I get an IOError that the filename for the log file is too long. However, when I put some of these static arguments in the arguments section, then some of my inputs get placed before them, which breaks the command.

More specifically, this method:

baseCommand:
- /bin/java
- -Xmx20g
- -Djava.io.tmpdir=/scratch
- -jar
- GenomeAnalysisTK.jar
- -T
- FindCoveredIntervals

Causes this error:

  IOError: [Errno 36] File name too long: u'outputFolder/log/file:---home-johnsoni-Innovation--Pipeline-cwl_tools-gatk-FindCoveredIntervals.cwl_-java-jdk1.8.0_25-bin-java_--Xmx20g_--Djava.io.tmpdir=-scratch_--jar_-gatk-GenomeAnalysisTK--3.3--0-GenomeAnalysisTK.jar_--T_FindCoveredIntervals_4-4-jobbXTDK3000.log'

And this method:

baseCommand:
- /bin/java

arguments:
- -Xmx20g
- -Djava.io.tmpdir=/scratch
- -jar
- GenomeAnalysisTK.jar
- -T
- FindCoveredIntervals

Causes the arguments to be placed out of order:

/bin/sh \
    -c \
    '/bin/java' '-Xmx20g' '--input_file' 'outputDolder/tmpB0vftO/stg1b9976f0-2b5d-4eb9-bb1a-c11c15ef0d30/Sample_standard_RG_MD.bam' '--intervals' '14' '-Djava.io.tmpdir=/scratch' '-jar' '/gatk/GenomeAnalysisTK-3.3-0/GenomeAnalysisTK.jar' '-T' 'FindCoveredIntervals' '--coverage_threshold' '20' '--minBaseQuality' '20' '--minMappingQuality' '20' '--out' 'sample.fci.list' --read_filter FailsVendorQualityCheck -rf BadMate -rf UnmappedRead -rf BadCigar '--reference_sequence' '/hg19/Homo_sapiens_assembly19.fasta'
Unrecognized option: --input_file

Should I supply a large value for the position parameter for each of the inputs, or is there another way to get the arguments to come before all of the inputs?

cwl

1 answer

Hi there, Did you consider using "position" for each argument? If you specify position, the arguments will appear in order. Hope this helps.

Thank you fiakhan, yes my current solution is to supply large values for the position arguments, but I was wondering if there was a cleaner solution for that

Log in to answer this question.