/
molecular_alignment.cwl
116 lines (115 loc) · 3 KB
/
molecular_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
111
112
113
114
115
116
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
label: "umi molecular 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: [1]
max_read_error_rate:
type: float?
default: 0.05
max_base_error_rate:
type: float?
default: 0.1
min_base_quality:
type: int
default: 1
max_no_call_fraction:
type: float
default: 0.5
outputs:
aligned_bam:
type: File
secondaryFiles: [.bai, ^.bai]
outputSource: index_bam/indexed_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_molecular_consensus:
run: ../tools/call_molecular_consensus.cwl
in:
bam: group_reads_by_umi/grouped_bam
out:
[consensus_bam]
align_consensus:
run: ../tools/realign.cwl
in:
bam: call_molecular_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]
index_bam:
run: ../tools/index_bam.cwl
in:
bam: clip_overlap/clipped_bam
out:
[indexed_bam]