-
Notifications
You must be signed in to change notification settings - Fork 58
/
duplex_alignment.cwl
110 lines (109 loc) · 2.85 KB
/
duplex_alignment.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
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
label: "umi duplex alignment workflow"
requirements:
- class: SubworkflowFeatureRequirement
- class: ScatterFeatureRequirement
inputs:
bam:
type: File[]
sample_name:
type: string
read_structure:
type: string[]
reference:
type:
- string
- File
secondaryFiles: [.fai, ^.dict, .amb, .ann, .bwt, .pac, .sa]
target_intervals:
type: File?
min_reads:
type: int[]
default: [10, 5, 3]
max_read_error_rate:
type: float?
default: 0.05
max_base_error_rate:
type: float?
default: 0.1
min_base_quality:
type: int
default: 50
max_no_call_fraction:
type: float
default: 0.05
outputs:
aligned_bam:
type: File
secondaryFiles: [^.bai]
outputSource: clip_overlap/clipped_bam
adapter_histogram:
type: File[]
outputSource: align/adapter_metrics
duplex_seq_metrics:
type: File[]
outputSource: collect_duplex_seq_metrics/duplex_seq_metrics
steps:
align:
scatter: bam
run: umi_alignment.cwl
in:
bam: bam
read_structure: read_structure
reference: reference
out:
[aligned_bam, adapter_metrics]
merge:
run: ../tools/merge_bams.cwl
in:
bams: align/aligned_bam
out:
[merged_bam]
group_reads_by_umi:
run: ../tools/group_reads.cwl
in:
bam: merge/merged_bam
out:
[grouped_bam]
call_duplex_consensus:
run: ../tools/call_duplex_consensus.cwl
in:
bam: group_reads_by_umi/grouped_bam
out:
[consensus_bam]
align_consensus:
run: ../tools/realign.cwl
in:
bam: call_duplex_consensus/consensus_bam
reference: reference
out:
[consensus_aligned_bam]
filter_consensus:
run: ../tools/filter_consensus.cwl
in:
bam: align_consensus/consensus_aligned_bam
reference: reference
min_reads: min_reads
max_read_error_rate: max_read_error_rate
max_base_error_rate: max_base_error_rate
min_base_quality: min_base_quality
max_no_call_fraction: max_no_call_fraction
out:
[filtered_bam]
clip_overlap:
run: ../tools/clip_overlap.cwl
in:
bam: filter_consensus/filtered_bam
reference: reference
out:
[clipped_bam]
collect_duplex_seq_metrics:
run: ../tools/duplex_seq_metrics.cwl
in:
bam: group_reads_by_umi/grouped_bam
intervals: target_intervals
description: sample_name
out:
[duplex_seq_metrics]