Yes, it worked. Thanks !!
This is a question related to String concatenation for output
This shell script outputs a file named R1_001_fastqc.results this is what I want to capture in the cwl. How could this be done ? The following code does not work
cat test.cwl
cwlVersion: v1.0
class: CommandLineTool
baseCommand: [sh, fastqc_check.sh]
requirements:
- class: InlineJavascriptRequirement
inputs:
fq1_zips:
type: File
inputBinding:
position: 1
outputs:
fastqc_check_out:
type: File
outputBinding:
glob: $(inputs.fq1_zips.basename.split(".").slice(0)).results
cat test.yml
fq1_zips:
class: File
path: R1_001_fastqc.zip
fastqc_check_script:
class: File
path: fastqc_check.sh
2 answers
Oh, in that case use glob: $(inputs.fq1_zips.nameroot).results and remove the InlineJavascriptRequirement as it also isn't needed here.
edit to clarify: For future reference with File types nameroot refers to the filename without the extension and basename includes the extension.
You should mark it as accepted if it answered your question.
What if the output file should be named SampleA_fastqc.summary according to the inputs/sample as shown below
cat test.cwl cwlVersion: v1.0 class: CommandLineTool baseCommand: [sh, fastqc_check.sh]
inputs:
sample:
type: string
inputBinding:
position: 1
fq1_zips:
type: File
inputBinding:
position: 2
outputs:
fastqc_check_out:
type: File
outputBinding:
glob: $(inputs.sample.basename)_fastqc.summary
cat test.yml
sample: SampleA
fq1_zips:
class: File
path: R1_001_fastqc.zip
fastqc_check_script:
class: File
path: fastqc_check.sh
Log in to answer this question.
Does the answer I posted in the other post not do what you need? This seems like you want to do the same thing as that post, what is different about it?
The user did indeed indicate that it worked: C: String concatenation for output
Can you clarify, ttom?
This time the output is
R1_001_fastqc.results, I want to strip off the.zipfrom the output file. In the previous post the output wasR1_001_fastqc.zip.resultsThe glob command below was tried to achieve the output filename as
R1_001_fastqc.resultsBasically a part of the input file is used to name the outputfile name
Hope I am clear this time