This is a test version of Biostars. For the public version, visit https://www.biostars.org.
CWL pipe doesn't seem to be working (Solved: user error)

For some reason when I run the following command in the terminal it works (VCF file comes out with proper header as given by the var2vcf_paired.pl script). However in the cwl workflow this command appears to only run everything before the first pipe, and the two subsequent steps aren't run. Is there something I'm missing in the cwl?

Works when run manually:

/opt/common/CentOS_6/VarDictJava/VarDict-1.5.1/bin/VarDict \
    -E \
    3 \
    -G \
    /scratch/tmpCOyaUM/stgbb331305-9323-4937-ae98-b5295444e520/Homo_sapiens_assembly19.fasta \
    -N \
    C-4PU567-L002-d_cl_aln_srt_MD_IR_FX_BR__aln_srt_IR_FX-duplex \
    -c \
    1 \
    -b \
    '/scratch/tmpCOyaUM/stg0a9a8bb8-c291-4260-8f14-f7c4ee5edc19/C-4PU567-L002-d_cl_aln_srt_MD_IR_FX_BR__aln_srt_IR_FX-duplex.bam|/scratch/tmpCOyaUM/stgfc53a248-54e6-43af-8214-78ab08aa507f/C-4PU567-N002-d_cl_aln_srt_MD_IR_FX_BR__aln_srt_IR_FX-duplex.bam' \
    -g \
    4 \
    -f \
    0.0002 \
    -S \
    2 \
    /scratch/tmpCOyaUM/stgb3f01bc8-ce8d-4c4d-bbcd-15875d6934da/MSK-ACCESS-v1_0-probe-B.sorted.bed \
    | \
    /opt/common/CentOS_6/VarDict/VarDict_bac2a39/testsomatic.R \
    | \
    /opt/common/CentOS_6/VarDictJava/VarDictJava_cf9f268/VarDict/var2vcf_paired.pl \
    -N \
    'C-4PU567-L002-d_cl_aln_srt_MD_IR_FX_BR__aln_srt_IR_FX-duplex|C-4PU567-N002-d_cl_aln_srt_MD_IR_FX_BR__aln_srt_IR_FX-duplex' \
    -f \
    0.0002 > /home/johnsoni/Variant_calling_test/628e2dc6912b57a0e3cfaf11935c28f1/asdf.out

CWL file, doesn't seem to go through testsomatic.R and var2vcf_paired.pl steps:

cwlVersion: v1.0

class: CommandLineTool

requirements:
- ShellCommandRequirement: {}

arguments:
- /opt/common/CentOS_6/VarDictJava/VarDict-1.5.1/bin/VarDict
- -E
- $(inputs.E)
- -G
- $(inputs.G)
- -N
- $(inputs.N)
- -c
- $(inputs.c)
- -b
- $(inputs.b.path + '|' + inputs.b2.path)
- -g
- $(inputs.g)
- -f
- $(inputs.f)
- -S
- $(inputs.S)
- $(inputs.bed_file)
- shellQuote: false
  valueFrom: '|'
- /opt/common/CentOS_6/VarDict/VarDict_bac2a39/testsomatic.R
- shellQuote: false
  valueFrom: '|'
- /opt/common/CentOS_6/VarDictJava/VarDictJava_cf9f268/VarDict/var2vcf_paired.pl
- -N
- $(inputs.N + '|' + inputs.N2)
- -f
- $(inputs.f)

requirements:
  InlineJavascriptRequirement: {}
  ResourceRequirement:
    ramMin: 32000
    coresMin: 4

stdout: asdf.out

inputs:
  ...


outputs:

  output:
    type: stdout
    secondaryFiles: [.tbi]
cwl

1 answer

Ah, silly me, I can see that I included the Requirements section twice. I assume the second one overwrote the first and killed the ShellCommandRequirement.

Log in to answer this question.