-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsynapse_workflow.cwl
130 lines (108 loc) · 2.87 KB
/
synapse_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
#!/usr/bin/env cwl-runner
cwlVersion: v1.0
class: Workflow
doc: runs fastq mixing and kallisto quantification for one repetition
requirements:
- class: SubworkflowFeatureRequirement
- class: ScatterFeatureRequirement
inputs:
synapse_config_file: File
yaml_config_file: File
output_name: string
kallisto_index_synapse_id: string
upload_id: string
fastq_p1_synapse_ids:
type:
type: array
items: string
fastq_p2_synapse_ids:
type:
type: array
items: string
mixer_fractions:
type:
type: array
items: float
mixer_seed: ["null", int]
mixer_total_reads: ["null", int]
kallisto_threads: ["null", int]
outputs:
manifest:
type: File
outputSource: sync_to_synapse/output
steps:
get_index_file:
run: ../synapse_python_client_cwl/syn_get.cwl
in:
config_file: synapse_config_file
synapse_id: kallisto_index_synapse_id
out: [output]
get_p1_files:
run: ../synapse_python_client_cwl/syn_get.cwl
in:
config_file: synapse_config_file
synapse_id: fastq_p1_synapse_ids
scatter: synapse_id
scatterMethod: dotproduct
out: [output]
get_p2_files:
run: ../synapse_python_client_cwl/syn_get.cwl
in:
config_file: synapse_config_file
synapse_id: fastq_p2_synapse_ids
scatter: synapse_id
scatterMethod: dotproduct
out: [output]
gunzip_index_file:
run: ../misc_cwl/gunzip.cwl
in:
input: get_index_file/output
out: [output]
gunzip_p1_files:
run: ../misc_cwl/gunzip.cwl
in:
input: get_p1_files/output
scatter: input
scatterMethod: dotproduct
out: [output]
gunzip_p2_files:
run: ../misc_cwl/gunzip.cwl
in:
input: get_p2_files/output
scatter: input
scatterMethod: dotproduct
out: [output]
mix:
run: ../fastq_mixer/fastq_mixer.cwl
in:
fastq_files_p1: gunzip_p1_files/output
fastq_files_p2: gunzip_p1_files/output
sample_fractions: mixer_fractions
seed: mixer_seed
total_reads: mixer_total_reads
out: [output_file1, output_file2]
kallisto:
run: ../kallisto_cwl/fastq_abundances_workflow.cwl
in:
index_file: gunzip_index_file/output
threads: kallisto_threads
fastq_file1: mix/output_file1
fastq_file2: mix/output_file2
out: [abundance_tsv]
rename:
run: ../misc_cwl/rename.cwl
in:
input_file: kallisto/abundance_tsv
output_string: output_name
out: [output_file]
sync_to_synapse:
run: sync_to_synapse.cwl
in:
synapse_config_file: synapse_config_file
tsv_file: rename/output_file
upload_id: upload_id
fastq_p1_synapse_ids: fastq_p1_synapse_ids
fastq_p2_synapse_ids: fastq_p2_synapse_ids
kallisto_index_synapse_id: kallisto_index_synapse_id
yaml_config_file: yaml_config_file
out: [output]