[CWL] Why this error happens?(object id `toil-workflow.cwl#job1/param` previously defined)
1
0
Entering edit mode
7.0 years ago
xdymzhang • 0

Hi there, Recently, I was studying CWL and use Toil as its engine. I've written a cwl work flow, please see below: cwlVersion: v1.0 class: Workflow requirements: ResourceRequirement: class: ResourceRequirement coresMin: 1 coresMax: 1 ramMin: 256 ramMax: 256

inputs: msg1: int msg2: int

outputs: []

steps: job1: run: class: CommandLineTool baseCommand: ["touch", "workflow_job1.txt", "sleep"] inputs: param: type: int inputBinding: position: 1 outputs: output: type: File outputBinding: glob: workflow_job1.txt in: param: msg1 out: [output]

But when running, it raised an error:

Resolved 'toil-workflow.cwl' to 'file:///workspace/cwl/toil-workflow.cwl' Tool definition failed validation: toil-workflow.cwl:17:1: checking field steps toil-workflow.cwl:18:5: checking object toil-workflow.cwl#job1 toil-workflow.cwl:32:9: checking field in toil-workflow.cwl:33:13: checking object toil-workflow.cwl#job1/param toil-workflow.cwl:23:17: object id toil-workflow.cwl#job1/param previously defined toil-workflow.cwl:36:5: checking object toil-workflow.cwl#job2 toil-workflow.cwl:50:9: checking field in toil-workflow.cwl:51:13: checking object toil-workflow.cwl#job2/param toil-workflow.cwl:41:17: object id toil-workflow.cwl#job2/param previously defined toil-workflow.cwl:54:5: checking object toil-workflow.cwl#job3 toil-workflow.cwl:71:9: checking field in toil-workflow.cwl:72:13: checking object toil-workflow.cwl#job3/param1 toil-workflow.cwl:64:17: object id toil-workflow.cwl#job3/param1 previously defined

I was wondering why this happen, and moreover, one of my colleagues can run this cwl file successfull in his env. Can anybody help to find out the reason? Thanks a lot!

cwl toil • 1.6k views
ADD COMMENT
0
Entering edit mode
7.0 years ago
xdymzhang • 0
cwlVersion: v1.0

class: Workflow requirements: ResourceRequirement: class: ResourceRequirement coresMin: 1 coresMax: 1 ramMin: 256 ramMax: 256

inputs: msg1: int msg2: int

outputs: []

steps: job1: run: class: CommandLineTool baseCommand: ["touch", "workflow_job1.txt", "sleep"] inputs: param: type: int inputBinding: position: 1 outputs: output: type: File outputBinding: glob: workflow_job1.txt in: param: msg1 out: [output]

job2:
    run:
        class: CommandLineTool
        baseCommand: ["touch", "workflow_job2.txt", "sleep"]
        inputs:
            param:
                type: int
                inputBinding:
                    position: 1
        outputs:
            output:
                type: File
                outputBinding:
                  glob: workflow_job2.txt
    in:
        param: msg2
    out: [output]

job3:
    run:
        class: CommandLineTool
        baseCommand: cat
        stdout: job3.out
        inputs:
            param1:
                type: File
                inputBinding:
                    position: 1
            param1:
                type: File
                inputBinding:
                    position: 2
        outputs:
            output:
                type: stdout
    in:
        param1: job1/output
        param2: job2/output
    out: [output]
ADD COMMENT

Login before adding your answer.

Traffic: 1604 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6