-
Notifications
You must be signed in to change notification settings - Fork 13
/
cellranger-aggr.cwl
262 lines (220 loc) · 8.88 KB
/
cellranger-aggr.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
cwlVersion: v1.0
class: Workflow
requirements:
- class: SubworkflowFeatureRequirement
- class: StepInputExpressionRequirement
- class: InlineJavascriptRequirement
- class: MultipleInputFeatureRequirement
'sd:upstream':
sc_rnaseq_sample:
- "single-cell-preprocess-cellranger.cwl"
inputs:
alias:
type: string
label: "Experiment short name/Alias"
sd:preview:
position: 1
molecule_info_h5:
type: File[]
label: "scRNA-Seq Cell Ranger Experiment"
doc: "Molecule-level information from individual runs of cellranger count"
'sd:upstreamSource': "sc_rnaseq_sample/molecule_info_h5"
'sd:localLabel': true
gem_well_labels:
type: string[]
label: "scRNA-Seq Cell Ranger Experiment"
doc: "Array of GEM well identifiers to be used for labeling purposes only"
'sd:upstreamSource': "sc_rnaseq_sample/alias"
'sd:localLabel': true
normalization_mode:
type:
- "null"
- type: enum
symbols: ["none", "mapped"]
default: "mapped"
label: "Library depth normalization mode"
doc: "Library depth normalization mode"
'sd:layout':
advanced: true
threads:
type: int?
default: 4
label: "Number of threads"
doc: "Number of threads for those steps that support multithreading"
'sd:layout':
advanced: true
memory_limit:
type: int?
default: 30
label: "Maximum memory used (GB)"
doc: "Maximum memory used (GB). The same will be applied to virtual memory"
'sd:layout':
advanced: true
outputs:
web_summary_report:
type: File
outputSource: aggregate_counts/web_summary_report
label: "Aggregated run summary metrics and charts in HTML format"
doc: |
Aggregated run summary metrics and charts in HTML format
metrics_summary_report_json:
type: File
outputSource: aggregate_counts/metrics_summary_report_json
label: "Aggregated run summary metrics in JSON format"
doc: |
Aggregated run summary metrics in JSON format
secondary_analysis_report_folder:
type: File
outputSource: compress_secondary_analysis_report_folder/compressed_folder
label: "Compressed folder with aggregated secondary analysis results"
doc: |
Compressed folder with secondary analysis results including dimensionality reduction,
cell clustering, and differential expression of aggregated results
filtered_feature_bc_matrix_folder:
type: File
outputSource: compress_filtered_feature_bc_matrix_folder/compressed_folder
label: "Compressed folder with aggregated filtered feature-barcode matrices"
doc: |
Compressed folder with aggregated filtered feature-barcode matrices containing only cellular barcodes in MEX format
filtered_feature_bc_matrix_h5:
type: File
outputSource: aggregate_counts/filtered_feature_bc_matrix_h5
label: "Aggregated filtered feature-barcode matrices in HDF5 format"
doc: |
Aggregated filtered feature-barcode matrices containing only cellular barcodes in HDF5 format
raw_feature_bc_matrices_folder:
type: File
outputSource: compress_raw_feature_bc_matrices_folder/compressed_folder
label: "Compressed folder with aggregated unfiltered feature-barcode matrices"
doc: |
Compressed folder with aggregated unfiltered feature-barcode matrices containing all barcodes in MEX format
raw_feature_bc_matrices_h5:
type: File
outputSource: aggregate_counts/raw_feature_bc_matrices_h5
label: "Aggregated unfiltered feature-barcode matrices in HDF5 format"
doc: |
Aggregated unfiltered feature-barcode matrices containing all barcodes in HDF5 format
loupe_browser_track:
type: File
outputSource: aggregate_counts/loupe_browser_track
label: "Loupe Browser visualization and analysis file for aggregated results"
doc: |
Loupe Browser visualization and analysis file for aggregated results
aggregation_metadata:
type: File
outputSource: aggregate_counts/aggregation_metadata
label: "Aggregation metadata in CSV format"
doc: |
Aggregation metadata in CSV format
aggregate_counts_stdout_log:
type: File
outputSource: aggregate_counts/stdout_log
label: "stdout log generated by cellranger aggr"
doc: |
stdout log generated by cellranger aggr
aggregate_counts_stderr_log:
type: File
outputSource: aggregate_counts/stderr_log
label: "stderr log generated by cellranger aggr"
doc: |
stderr log generated by cellranger aggr
steps:
aggregate_counts:
run: ../tools/cellranger-aggr.cwl
in:
molecule_info_h5: molecule_info_h5
gem_well_labels: gem_well_labels
normalization_mode: normalization_mode
threads: threads
memory_limit: memory_limit
virt_memory_limit: memory_limit
out:
- web_summary_report
- metrics_summary_report_json
- secondary_analysis_report_folder
- filtered_feature_bc_matrix_folder
- filtered_feature_bc_matrix_h5
- raw_feature_bc_matrices_folder
- raw_feature_bc_matrices_h5
- aggregation_metadata
- loupe_browser_track
- stdout_log
- stderr_log
compress_filtered_feature_bc_matrix_folder:
run: ../tools/tar-compress.cwl
in:
folder_to_compress: aggregate_counts/filtered_feature_bc_matrix_folder
out:
- compressed_folder
compress_raw_feature_bc_matrices_folder:
run: ../tools/tar-compress.cwl
in:
folder_to_compress: aggregate_counts/raw_feature_bc_matrices_folder
out:
- compressed_folder
compress_secondary_analysis_report_folder:
run: ../tools/tar-compress.cwl
in:
folder_to_compress: aggregate_counts/secondary_analysis_report_folder
out:
- compressed_folder
$namespaces:
s: http://schema.org/
$schemas:
- http://schema.org/docs/schema_org_rdfa.html
label: "Cellranger aggr - aggregates data from multiple Cellranger runs"
s:name: "Cellranger aggr - aggregates data from multiple Cellranger runs"
s:alternateName: "Cellranger aggr takes a list of cellranger count output files and produces a single feature-barcode matrix containing all the data"
s:downloadUrl: https://raw.githubusercontent.com/datirium/workflows/master/workflows/cellranger-aggr.cwl
s:codeRepository: https://github.com/datirium/workflows
s:license: http://www.apache.org/licenses/LICENSE-2.0
s:isPartOf:
class: s:CreativeWork
s:name: Common Workflow Language
s:url: http://commonwl.org/
s:creator:
- class: s:Organization
s:legalName: "Cincinnati Children's Hospital Medical Center"
s:location:
- class: s:PostalAddress
s:addressCountry: "USA"
s:addressLocality: "Cincinnati"
s:addressRegion: "OH"
s:postalCode: "45229"
s:streetAddress: "3333 Burnet Ave"
s:telephone: "+1(513)636-4200"
s:logo: "https://www.cincinnatichildrens.org/-/media/cincinnati%20childrens/global%20shared/childrens-logo-new.png"
s:department:
- class: s:Organization
s:legalName: "Allergy and Immunology"
s:department:
- class: s:Organization
s:legalName: "Barski Research Lab"
s:member:
- class: s:Person
s:name: Michael Kotliar
s:email: mailto:misha.kotliar@gmail.com
s:sameAs:
- id: http://orcid.org/0000-0002-6486-3898
doc: |
Devel version of Single-Cell Cell Ranger Aggregate
==================================================
Workflow calls "cellranger aggr" command to combine output files from "cellranger count"
(the molecule_info.h5 file from each run) into a single feature-barcode matrix containing
all the data. When combining multiple GEM wells, the barcode sequences for each channel
are distinguished by a GEM well suffix appended to the barcode sequence. Each GEM well is
a physically distinct set of GEM partitions, but draws barcode sequences randomly from the
pool of valid barcodes, known as the barcode whitelist. To keep the barcodes unique when
aggregating multiple libraries, we append a small integer identifying the GEM well to the
barcode nucleotide sequence, and use that nucleotide sequence plus ID as the unique identifier
in the feature-barcode matrix. For example, AGACCATTGAGACTTA-1 and AGACCATTGAGACTTA-2 are
distinct cell barcodes from different GEM wells, despite having the same barcode nucleotide
sequence. This number, which tells us which GEM well this barcode sequence came from, is
called the GEM well suffix. The numbering of the GEM wells will reflect the order that the
GEM wells were provided in the "molecule_info_h5" and "gem_well_labels" inputs.
When combining data from multiple GEM wells, the "cellranger aggr" pipeline automatically
equalizes the average read depth per cell between groups before merging. This approach avoids
artifacts that may be introduced due to differences in sequencing depth. It is possible to turn
off normalization or change the way normalization is done through the "normalization_mode"
input. The "none" value may be appropriate if you want to maximize sensitivity and plan to deal
with depth normalization in a downstream step.