-
Notifications
You must be signed in to change notification settings - Fork 2
/
Dockstore.cwl
134 lines (113 loc) · 3.44 KB
/
Dockstore.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!/usr/bin/env cwl-runner
class: CommandLineTool
id: "dockstore-tool-runner"
label: "A Dockstore tool that can call download from Redwood, call another Dockstore tool, and then upload back to Redwood."
cwlVersion: v1.0
doc: |
![build_status](https://quay.io/repository/ucsc_cgl/dockstore-tool-runner/status)
A Docker container from which Dockstore containers may be launched.
```
Usage:
# fetch CWL
$> dockstore tool cwl --entry quay.io/ucsc_cgl/DockstoreRunner > Dockstore.cwl
# make a runtime JSON template and edit it
$> dockstore tool convert cwl2json --cwl Dockstore.cwl > Dockstore.json
# run it locally with the Dockstore CLI
$> dockstore tool launch --entry quay.io/ucsc_cgl/DockstoreRunner --json Dockstore.json
```
dct:creator:
'@id': http://orcid.org/0000-0002-7681-6415
foaf:name: Brian O'Connor
foaf:mbox: mailto:briandoconnor@gmail.com
requirements:
- class: DockerRequirement
dockerPull: "quay.io/ucsc_cgl/dockstore-tool-runner:1.0.25"
hints:
- class: ResourceRequirement
coresMin: 1
ramMin: 4092
outdirMin: 512000
description: "the process requires at least 4G of RAM"
inputs:
program_name:
type: string
doc: "Program to be associated with the uploaded file"
inputBinding:
prefix: --program-name
redwood_token:
type: string
doc: "Token for storage client"
inputBinding:
prefix: --redwood-token
redwood_host:
type: string
doc: "Host for storage client"
inputBinding:
prefix: --redwood-host
json_encoded:
type: string
doc: "Encoded JSON for container to be run by Dockstore"
inputBinding:
prefix: --json-encoded
docker_uri:
type: string
doc: "Path to docker image from which to create container"
inputBinding:
prefix: --docker-uri
dockstore_url:
type: string
doc: "Path to docker image from which to create container"
inputBinding:
prefix: --dockstore-url
workflow_type:
type: string
doc: "String that describes the workflow type: [qc, sequence_upload, sequence_upload_qc_report, alignment, alignment_qc_report, rna_seq_quantification, germline_variant_calling, somatic_variant_calling, immuno_target_pipelines]"
inputBinding:
prefix: --workflow-type
launch_type:
type: string?
doc: "String that describes the launch type: tool or workflow"
inputBinding:
prefix: --launch-type
parent_uuids:
type: string
doc: "UUIDs for parent"
inputBinding:
prefix: --parent-uuids
tmpdir:
type: string
doc: "Path to the temporary directory where intermediate files are written"
inputBinding:
prefix: --tmpdir
vm_instance_type:
type: string
doc: "Instance type used."
inputBinding:
prefix: --vm-instance-type
vm_region:
type: string
doc: "Instance region."
inputBinding:
prefix: --vm-region
vm_location:
type: string
doc: "The cloud this VM is running in e.g. 'aws'."
inputBinding:
prefix: --vm-location
vm_instance_cores:
type: int
doc: "Instance cores."
inputBinding:
prefix: --vm-instance-cores
vm_instance_mem_gb:
type: int
doc: "Instance memory in GB as int."
inputBinding:
prefix: --vm-instance-mem-gb
outputs:
output_metadata_json:
type: File
outputBinding:
glob: metadata.json
doc: "Result metadata.json files from tool run on the host"
baseCommand: ["python", "/usr/local/bin/DockstoreRunner.py"]