/
workflow.cwl
139 lines (138 loc) · 3.57 KB
/
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
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
label: "Varscan Workflow"
requirements:
- class: SubworkflowFeatureRequirement
- class: MultipleInputFeatureRequirement
- class: StepInputExpressionRequirement
inputs:
reference:
type: string
tumor_cram:
type: File
secondaryFiles: [^.crai]
normal_cram:
type: File
secondaryFiles: [^.crai]
interval_list:
type: File
strand_filter:
type: int?
default: 0
min_coverage:
type: int?
default: 8
min_var_freq:
type: float?
default: 0.1
p_value:
type: float?
default: 0.99
max_normal_freq:
type: float?
outputs:
unfiltered_vcf:
type: File
outputSource: filter/unfiltered_vcf
secondaryFiles: [.tbi]
filtered_vcf:
type: File
outputSource: filter/filtered_vcf
secondaryFiles: [.tbi]
steps:
intervals_to_bed:
run: intervals_to_bed.cwl
in:
interval_list: interval_list
out:
[interval_bed]
varscan:
run: varscan.cwl
in:
reference: reference
tumor_cram: tumor_cram
normal_cram: normal_cram
roi_bed: intervals_to_bed/interval_bed
strand_filter: strand_filter
min_coverage: min_coverage
min_var_freq: min_var_freq
p_value: p_value
max_normal_freq: max_normal_freq
out:
[somatic_snvs, somatic_indels, somatic_hc_snvs, somatic_hc_indels]
bgzip_and_index_snvs:
run: bgzip_and_index.cwl
in:
vcf: varscan/somatic_snvs
out:
[indexed_vcf]
bgzip_and_index_hc_snvs:
run: bgzip_and_index.cwl
in:
vcf: varscan/somatic_hc_snvs
out:
[indexed_vcf]
bgzip_and_index_indels:
run: bgzip_and_index.cwl
in:
vcf: varscan/somatic_indels
out:
[indexed_vcf]
bgzip_and_index_hc_indels:
run: bgzip_and_index.cwl
in:
vcf: varscan/somatic_hc_indels
out:
[indexed_vcf]
merge_snvs:
run: set_filter_status.cwl
in:
vcf: bgzip_and_index_snvs/indexed_vcf
filtered_vcf: bgzip_and_index_hc_snvs/indexed_vcf
reference: reference
out:
[merged_vcf]
index_snvs:
run: ../detect_variants/index_vcf.cwl
in:
vcf: merge_snvs/merged_vcf
out:
[indexed_vcf]
merge_indels:
run: set_filter_status.cwl
in:
vcf: bgzip_and_index_indels/indexed_vcf
filtered_vcf: bgzip_and_index_hc_indels/indexed_vcf
reference: reference
out:
[merged_vcf]
index_indels:
run: ../detect_variants/index_vcf.cwl
in:
vcf: merge_indels/merged_vcf
out:
[indexed_vcf]
merge:
run: ../detect_variants/merge.cwl
in:
vcfs: [index_snvs/indexed_vcf, index_indels/indexed_vcf]
out:
[merged_vcf]
index:
run: ../detect_variants/index_vcf.cwl
in:
vcf: merge/merged_vcf
out:
[indexed_vcf]
filter:
run: ../fp_filter/workflow.cwl
in:
reference: reference
cram: tumor_cram
vcf: index/indexed_vcf
min_var_freq: min_var_freq
variant_caller:
valueFrom: "varscan"
out:
[unfiltered_vcf, filtered_vcf]