This repository has been archived by the owner on Jun 13, 2024. It is now read-only.
generated from Sage-Bionetworks-Challenges/model-to-data-challenge-workflow
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrun_docker.cwl
84 lines (77 loc) · 1.81 KB
/
run_docker.cwl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/usr/bin/env cwl-runner
#
# Run Docker Submission
#
cwlVersion: v1.0
class: CommandLineTool
baseCommand: python3
inputs:
- id: submissionid
type: int
- id: docker_repository
type: string
- id: docker_digest
type: string
- id: docker_registry
type: string
- id: docker_authentication
type: string
- id: parentid
type: string
- id: status
type: string
- id: synapse_config
type: File
- id: input_dir
type: string
- id: docker_script
type: File
- id: store
type: boolean?
arguments:
- valueFrom: $(inputs.docker_script.path)
- valueFrom: $(inputs.submissionid)
prefix: -s
- valueFrom: $(inputs.docker_repository)
prefix: -p
- valueFrom: $(inputs.docker_digest)
prefix: -d
- valueFrom: $(inputs.store)
prefix: --store
- valueFrom: $(inputs.status)
prefix: --status
- valueFrom: $(inputs.parentid)
prefix: --parentid
- valueFrom: $(inputs.synapse_config.path)
prefix: -c
- valueFrom: $(inputs.input_dir)
prefix: -i
requirements:
- class: InitialWorkDirRequirement
listing:
- $(inputs.docker_script)
- entryname: .docker/config.json
entry: |
{"auths": {"$(inputs.docker_registry)": {"auth": "$(inputs.docker_authentication)"}}}
- class: InlineJavascriptRequirement
outputs:
- id: predictions
type: File?
outputBinding:
glob: predictions.tar.gz
- id: results
type: File
outputBinding:
glob: results.json
- id: status
type: string
outputBinding:
glob: results.json
loadContents: true
outputEval: $(JSON.parse(self[0].contents)['submission_status'])
- id: invalid_reasons
type: string
outputBinding:
glob: results.json
loadContents: true
outputEval: $(JSON.parse(self[0].contents)['submission_errors'])