/
alignment_novoalign.cwl
102 lines (91 loc) · 2.91 KB
/
alignment_novoalign.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
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
requirements:
- class: InlineJavascriptRequirement
- class: StepInputExpressionRequirement
- class: MultipleInputFeatureRequirement
- class: ScatterFeatureRequirement
inputs:
job_uuid: string
interval_bed: File
input_read1: File[]
input_read2: File[]
readgroup_lines: string[]
readgroup_names: string[]
dbname: File
reference_fai_index: File
outputs:
time_metrics_from_trim_adaptor:
type: File[]
outputSource: trim_adaptor/time_metrics
time_metrics_from_novoalign_filter_dedup:
type: File[]
outputSource: novoalign_filter_dedup/time_metrics
time_metrics_from_merge:
type: File
outputSource: readgroups_merge/time_metrics
time_metrics_from_sort:
type: File
outputSource: bam_sort/time_metrics
time_metrics_from_reheader:
type: File
outputSource: bam_reheader/time_metrics
sorted_bam:
type: File
outputSource: bam_sort/sorted_bam
steps:
trim_adaptor:
run: ../../tools/harmonization/trimmomatic.cwl
scatter: [readgroup_line, readgroup_name, input_read1_fastq_file, input_read2_fastq_file]
scatterMethod: dotproduct
in:
job_uuid: job_uuid
readgroup_line: readgroup_lines
readgroup_name: readgroup_names
input_read1_fastq_file: input_read1
input_read2_fastq_file: input_read2
out: [paired_readgroup_line, paired_readgroup_name, output_read1_trimmed_file, output_read2_trimmed_file, time_metrics]
novoalign_filter_dedup:
run: ../../tools/harmonization/novoalign.cwl
scatter: [input_read1_fastq_file, input_read2_fastq_file, readgroup_line, readgroup_name]
scatterMethod: dotproduct
in:
job_uuid: job_uuid
dbname: dbname
input_read1_fastq_file: trim_adaptor/output_read1_trimmed_file
input_read2_fastq_file: trim_adaptor/output_read2_trimmed_file
readgroup_line: trim_adaptor/paired_readgroup_line
readgroup_name: trim_adaptor/paired_readgroup_name
out: [readgroup_bam, time_metrics]
readgroups_merge:
run: ../../tools/harmonization/sambamba_merge.cwl
in:
job_uuid: job_uuid
bams: novoalign_filter_dedup/readgroup_bam
base_file_name:
source: job_uuid
valueFrom: $(self)
out: [merged_bam, time_metrics]
get_bam_new_header:
run: ../../tools/harmonization/get_bam_new_header.cwl
in:
bam: readgroups_merge/merged_bam
out: [bam_new_header]
bam_reheader:
run: ../../tools/harmonization/samtools_reheader.cwl
in:
job_uuid: job_uuid
new_header: get_bam_new_header/bam_new_header
interval_bed: interval_bed
bam: readgroups_merge/merged_bam
out: [reheadered_bam, time_metrics]
bam_sort:
run: ../../tools/harmonization/sambamba_sort.cwl
in:
job_uuid: job_uuid
bam: bam_reheader/reheadered_bam
base_file_name:
source: job_uuid
valueFrom: $(self)
out: [sorted_bam, time_metrics]