-
Notifications
You must be signed in to change notification settings - Fork 0
/
project-workflow.cwl
313 lines (306 loc) · 7.24 KB
/
project-workflow.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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
id: project-workflow
requirements:
MultipleInputFeatureRequirement: {}
ScatterFeatureRequirement: {}
SubworkflowFeatureRequirement: {}
InlineJavascriptRequirement: {}
inputs:
db_files:
type:
type: record
fields:
refseq: File
vep_path: string
custom_enst: string
vep_data: string
hotspot_list: string
hotspot_list_maf: File
hotspot_vcf: string
facets_snps: File
bait_intervals: File
target_intervals: File
fp_intervals: File
fp_genotypes: File
conpair_markers: string
conpair_markers_bed: string
ref_fasta:
type: File
secondaryFiles:
- .amb
- .ann
- .bwt
- .pac
- .sa
- .fai
- ^.dict
mouse_fasta:
type: File
secondaryFiles:
- .amb
- .ann
- .bwt
- .pac
- .sa
- .fai
- ^.dict
hapmap:
type: File
secondaryFiles:
- .idx
dbsnp:
type: File
secondaryFiles:
- .idx
indels_1000g:
type: File
secondaryFiles:
- .idx
snps_1000g:
type: File
secondaryFiles:
- .idx
cosmic:
type: File
secondaryFiles:
- .idx
exac_filter:
type: File
secondaryFiles:
- .tbi
curated_bams:
type:
type: array
items: File
secondaryFiles:
- ^.bai
runparams:
type:
type: record
fields:
abra_scratch: string
covariates: string[]
emit_original_quals: boolean
genome: string
intervals: string[]
mutect_dcov: int
mutect_rf: string[]
num_cpu_threads_per_data_thread: int
num_threads: int
tmp_dir: string
complex_tn: float
complex_nn: float
delly_type: string[]
project_prefix: string
assay: string
pi: string
pi_email: string
opt_dup_pix_dist: string
facets_pcval: int
facets_cval: int
abra_ram_min: int
scripts_bin: string
gatk_jar_path: string
tumors:
type:
type: array
items:
type: record
fields:
CN: string
LB: string
ID: string
PL: string
PU: string[]
R1: File[]
R2: File[]
zR1: File[]
zR2: File[]
bam: File[]
RG_ID: string[]
adapter: string
adapter2: string
bwa_output: string
normals:
type:
type: array
items:
type: record
fields:
CN: string
LB: string
ID: string
PL: string
PU: string[]
R1: File[]
R2: File[]
zR1: File[]
zR2: File[]
bam: File[]
RG_ID: string[]
adapter: string
adapter2: string
bwa_output: string
outputs:
# bams & metrics
normal_bams:
type:
type: array
items: File
secondaryFiles:
- ^.bai
outputSource: pair_process/normal_bam
tumor_bams:
type:
type: array
items: File
secondaryFiles:
- ^.bai
outputSource: pair_process/tumor_bam
clstats1:
type:
type: array
items:
type: array
items:
type: array
items: File
outputSource: pair_process/clstats1
clstats2:
type:
type: array
items:
type: array
items:
type: array
items: File
outputSource: pair_process/clstats2
md_metrics:
type:
type: array
items:
type: array
items: File
outputSource: pair_process/md_metrics
# vcf
mutect_vcf:
type:
type: array
items: File
outputSource: pair_process/mutect_vcf
mutect_callstats:
type:
type: array
items: File
outputSource: pair_process/mutect_callstats
vardict_vcf:
type:
type: array
items: File
outputSource: pair_process/vardict_vcf
combine_vcf:
type:
type: array
items: File
outputSource: pair_process/combine_vcf
secondaryFiles:
- .tbi
annotate_vcf:
type:
type: array
items: File
outputSource: pair_process/annotate_vcf
# norm vcf
vardict_norm_vcf:
type:
type: array
items: File
outputSource: pair_process/vardict_norm_vcf
secondaryFiles:
- .tbi
mutect_norm_vcf:
type:
type: array
items: File
outputSource: pair_process/mutect_norm_vcf
secondaryFiles:
- .tbi
# snp_pileup
snp_pileup:
type: File[]
outputSource: pair_process/snp_pileup
# maf
maf:
type: File[]
outputSource: pair_process/maf
# qc
qc_pdf:
type: File
outputSource: generate_qc/qc_pdf
consolidated_results:
type: Directory
outputSource: generate_qc/consolidated_results
steps:
pair_process:
run: workflows/pair-workflow.cwl
in:
db_files: db_files
runparams: runparams
hapmap: hapmap
dbsnp: dbsnp
indels_1000g: indels_1000g
snps_1000g: snps_1000g
exac_filter: exac_filter
curated_bams: curated_bams
cosmic: cosmic
tumor: tumors
normal: normals
ref_fasta: ref_fasta
mouse_fasta: mouse_fasta
out: [normal_bam,tumor_bam,clstats1,clstats2,md_metrics,as_metrics,hs_metrics,insert_metrics,insert_pdf,per_target_coverage,qual_metrics,qual_pdf,doc_basecounts,gcbias_pdf,gcbias_metrics,gcbias_summary,conpair_pileups,mutect_vcf,mutect_callstats,vardict_vcf,combine_vcf,annotate_vcf,vardict_norm_vcf,mutect_norm_vcf,snp_pileup,maf,genome,assay,pi,pi_email,project_prefix,normal_sample_name,tumor_sample_name]
scatter: [tumor, normal]
scatterMethod: dotproduct
generate_qc:
run: modules/project/generate-qc.cwl
in:
db_files: db_files
fp_genotypes:
valueFrom: ${ return inputs.db_files.fp_genotypes }
hotspot_list_maf:
valueFrom: ${ return inputs.db_files.hotspot_list_maf }
conpair_markers:
valueFrom: ${ return inputs.db_files.conpair_markers }
normal_bams: pair_process/normal_bam
tumor_bams: pair_process/tumor_bam
normal_sample_names: pair_process/normal_sample_name
tumor_sample_names: pair_process/tumor_sample_name
genome_list: pair_process/genome
assay_list: pair_process/assay
pi_list: pair_process/pi
pi_email_list: pair_process/pi_email
project_prefix_list: pair_process/project_prefix
genome:
valueFrom: ${ return inputs.genome_list[0]; }
assay:
valueFrom: ${ return inputs.assay_list[0]; }
pi:
valueFrom: ${ return inputs.pi_list[0]; }
pi_email:
valueFrom: ${ return inputs.pi_email_list[0]; }
project_prefix:
valueFrom: ${ return inputs.project_prefix_list[0]; }
ref_fasta: ref_fasta
md_metrics: pair_process/md_metrics
hs_metrics: pair_process/hs_metrics
insert_metrics: pair_process/insert_metrics
per_target_coverage: pair_process/per_target_coverage
qual_metrics: pair_process/qual_metrics
doc_basecounts: pair_process/doc_basecounts
conpair_pileups: pair_process/conpair_pileups
files:
valueFrom: ${ return []; }
directories:
valueFrom: ${ return []; }
out: [consolidated_results,qc_pdf]