-
Notifications
You must be signed in to change notification settings - Fork 17
/
Copy path04-peakcall-pe.cwl
295 lines (295 loc) · 8.8 KB
/
04-peakcall-pe.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
#!/usr/bin/env cwl-runner
class: Workflow
cwlVersion: v1.0
doc: 'ATAC-seq 04 quantification - PE'
requirements:
- class: ScatterFeatureRequirement
- class: StepInputExpressionRequirement
- class: InlineJavascriptRequirement
inputs:
input_bam_files:
type: File[]
genome_effective_size:
default: hs
doc: Effective genome size used by MACS2. It can be numeric or a shortcuts:'hs' for human (2.7e9), 'mm' for mouse (1.87e9), 'ce' for C. elegans (9e7) and 'dm' for fruitfly (1.2e8), Default:hs
type: string
input_genome_sizes:
doc: Two column tab-delimited file with chromosome size information
type: File
as_narrowPeak_file:
doc: Definition narrowPeak file in AutoSql format (used in bedToBigBed)
type: File
nthreads:
default: 1
type: int
steps:
spp:
run: ../spp/spp.cwl
scatterMethod: dotproduct
scatter:
- input_bam
in:
input_bam: input_bam_files
nthreads: nthreads
savp:
valueFrom: ${return true}
out:
- output_spp_cross_corr
- output_spp_cross_corr_plot
extract-peak-frag-length:
run: ../spp/extract-best-frag-length.cwl
scatter: input_spp_txt_file
in:
input_spp_txt_file: spp/output_spp_cross_corr
out:
- output_best_frag_length
peak-calling:
run: ../peak_calling/macs2-callpeak.cwl
scatterMethod: dotproduct
scatter:
- treatment
in:
q:
valueFrom: ${return 0.1}
bdg:
valueFrom: ${return true}
treatment:
source: input_bam_files
valueFrom: $([self])
g: genome_effective_size
format:
valueFrom: BAMPE
out:
- output_peak_file
- output_peak_summits_file
- output_ext_frag_bdg_file
- output_peak_xls_file
count-reads-filtered:
run: ../peak_calling/count-reads-after-filtering.cwl
in:
peak_xls_file: peak-calling/output_peak_xls_file
scatter: peak_xls_file
out:
- read_count_file
count-peaks:
run: ../utils/count-with-output-suffix.cwl
in:
output_suffix:
valueFrom: .peak_count.within_replicate.txt
input_file: peak-calling/output_peak_file
scatter: input_file
out:
- output_counts
filter-reads-in-peaks:
run: ../peak_calling/samtools-filter-in-bedfile.cwl
scatterMethod: dotproduct
scatter:
- input_bam_file
- input_bedfile
in:
input_bam_file: input_bam_files
input_bedfile: peak-calling/output_peak_file
out:
- filtered_file
extract-count-reads-in-peaks:
run: ../peak_calling/samtools-extract-number-mapped-reads.cwl
scatter: input_bam_file
in:
output_suffix:
valueFrom: .read_count.within_replicate.txt
input_bam_file: filter-reads-in-peaks/filtered_file
out:
- output_read_count
trunk-peak-score:
run: ../utils/trunk-peak-score.cwl
scatter: peaks
in:
peaks: peak-calling/output_peak_file
out:
- trunked_scores_peaks
peaks-bed-to-bigbed:
run: ../quant/bedToBigBed.cwl
in:
type:
valueFrom: bed6+4
as: as_narrowPeak_file
genome_sizes: input_genome_sizes
bed: trunk-peak-score/trunked_scores_peaks
scatter: bed
out:
- bigbed
sort-bam-by-name:
run: ../map/samtools-sort.cwl
scatter: input_file
in:
n:
valueFrom: ${return true}
nthreads: nthreads
input_file: input_bam_files
out:
- sorted_file
bedtools_bamtobed:
run: ../map/bedtools-bamtobed.cwl
scatter: bam
in:
bam: sort-bam-by-name/sorted_file
bedpe:
valueFrom: ${return true}
out:
- output_bedfile
unpair_bedpe:
run: ../peak_calling/bedpe-to-bed.cwl
scatter: bedpe
in:
bedpe: bedtools_bamtobed/output_bedfile
out:
- bed
peak-calling-unpaired:
run: ../peak_calling/macs2-callpeak.cwl
scatter: treatment
in:
treatment:
source: unpair_bedpe/bed
valueFrom: $([self])
extsize:
valueFrom: ${return 200}
bdg:
valueFrom: ${return true}
nomodel:
valueFrom: ${return true}
g: genome_effective_size
format:
valueFrom: BED
shift:
valueFrom: ${return -100}
q:
valueFrom: ${return 0.1}
out:
- output_peak_file
- output_peak_summits_file
- output_ext_frag_bdg_file
- output_peak_xls_file
count-reads-filtered-unpaired:
run: ../peak_calling/count-reads-after-filtering.cwl
scatter: peak_xls_file
in:
peak_xls_file: peak-calling-unpaired/output_peak_xls_file
out:
- read_count_file
count-peaks-unpaired:
run: ../utils/count-with-output-suffix.cwl
scatter: input_file
in:
output_suffix:
valueFrom: .peak_count.within_replicate.txt
input_file: peak-calling-unpaired/output_peak_file
out:
- output_counts
filter-reads-in-peaks-unpaired:
run: ../peak_calling/samtools-filter-in-bedfile.cwl
scatterMethod: dotproduct
scatter:
- input_bam_file
- input_bedfile
in:
input_bam_file: input_bam_files
input_bedfile: peak-calling-unpaired/output_peak_file
out:
- filtered_file
trunk-peak-score-unpaired:
run: ../utils/trunk-peak-score.cwl
in:
peaks: peak-calling-unpaired/output_peak_file
scatter: peaks
out:
- trunked_scores_peaks
clip-off-chrom:
run: ../quant/bedClip.cwl
in:
bed_file: trunk-peak-score-unpaired/trunked_scores_peaks
genome_sizes: input_genome_sizes
output_suffix:
valueFrom: .narrowPeak
scatter: bed_file
out:
- bed_file_clipped
peaks-bed-to-bigbed-unpaired:
run: ../quant/bedToBigBed.cwl
in:
type:
valueFrom: bed6+4
as: as_narrowPeak_file
genome_sizes: input_genome_sizes
bed: clip-off-chrom/bed_file_clipped
scatter: bed
out:
- bigbed
outputs:
output_filtered_read_count_file:
doc: Filtered read count reported by MACS2
type: File[]
outputSource: count-reads-filtered/read_count_file
output_peak_summits_file:
doc: File containing peak summits
type: File[]
outputSource: peak-calling/output_peak_summits_file
output_peak_file:
doc: peakshift/phantomPeak results file
type: File[]
outputSource: peak-calling/output_peak_file
output_peak_count_within_replicate:
doc: Peak counts within replicate
type: File[]
outputSource: count-peaks/output_counts
output_spp_cross_corr_plot:
doc: peakshift/phantomPeak results file
type: File[]
outputSource: spp/output_spp_cross_corr_plot
output_spp_x_cross_corr:
doc: peakshift/phantomPeak results file
type: File[]
outputSource: spp/output_spp_cross_corr
output_extended_peak_file:
doc: peakshift/phantomPeak extended fragment results file
type: File[]
outputSource: peak-calling/output_ext_frag_bdg_file
output_peak_xls_file:
doc: Peak calling report file (*_peaks.xls file produced by MACS2)
type: File[]
outputSource: peak-calling/output_peak_xls_file
output_peak_bigbed_file:
doc: Peaks in bigBed format
type: File[]
outputSource: peaks-bed-to-bigbed/bigbed
output_read_in_peak_count_within_replicate:
doc: Reads peak counts within replicate
type: File[]
outputSource: extract-count-reads-in-peaks/output_read_count
output_unpaired_peak_xls_file:
doc: Peak calling report file (*_peaks.xls file produced by MACS2) using each paired mate independently
type: File[]
outputSource: peak-calling-unpaired/output_peak_xls_file
output_unpaired_filtered_read_count_file:
doc: Filtered read count reported by MACS2 using each paired mate independently
type: File[]
outputSource: count-reads-filtered-unpaired/read_count_file
output_unpaired_peak_count_within_replicate:
doc: Peak counts within replicate using each paired mate independently
type: File[]
outputSource: count-peaks-unpaired/output_counts
output_unpaired_peak_summits_file:
doc: File containing peak summits using each paired mate independently
type: File[]
outputSource: peak-calling-unpaired/output_peak_summits_file
output_unpaired_peak_bigbed_file:
doc: Peaks in bigBed format using each paired mate independently
type: File[]
outputSource: peaks-bed-to-bigbed-unpaired/bigbed
output_unpaired_extended_peak_file:
doc: peakshift/phantomPeak extended fragment results file using each paired mate independently
type: File[]
outputSource: peak-calling-unpaired/output_ext_frag_bdg_file
output_unpaired_peak_file:
doc: peakshift/phantomPeak results file using each paired mate independently
type: File[]
outputSource: peak-calling-unpaired/output_peak_file