forked from epi2me-labs/wf-artic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
nextflow_schema.json
356 lines (356 loc) · 17.1 KB
/
nextflow_schema.json
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
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/./master/nextflow_schema.json",
"title": "epi2me-labs/wf-artic",
"description": "ARTIC SARS-CoV-2 workflow and reporting.",
"demo_url": "https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-artic/wf-artic-demo.tar.gz",
"url": "https://github.com/epi2me-labs/wf-artic",
"type": "object",
"definitions": {
"input": {
"title": "Input Options",
"type": "object",
"fa_icon": "fas fa-arrow-right",
"description": "Parameters for finding and handling input data for analysis.",
"properties": {
"fastq": {
"type": "string",
"format": "path",
"description": "FASTQ files to use in the analysis.",
"help_text": "This accepts one of three cases: (i) the path to a single FASTQ file; (ii) the path to a top-level directory containing FASTQ files; (iii) the path to a directory containing one level of sub-directories which in turn contain FASTQ files. In the first and second case, a sample name can be supplied with `--sample`. In the last case, the data is assumed to be multiplexed with the names of the sub-directories as barcodes. In this case, a sample sheet can be provided with `--sample_sheet`."
},
"analyse_unclassified": {
"type": "boolean",
"default": false,
"description": "Analyse unclassified reads from input directory. By default the workflow will not process reads in the unclassified directory.",
"help_text": "If selected and if the input is a multiplex directory the workflow will also process the unclassified directory."
}
},
"required": [
"fastq"
]
},
"primer_scheme_selection": {
"title": "Primer Scheme Selection",
"type": "object",
"fa_icon": "fas fa-code",
"description": "Reference genome related files and options required for the workflow.",
"properties": {
"scheme_name": {
"type": "string",
"default": "SARS-CoV-2",
"description": "Primer scheme name.",
"help_text": "This should be set to `SARS-CoV-2`, or `spike-seq` or your custom scheme name. This affects the choice of scheme versions you can use. The only scheme versions compatible with `spike-seq` are `ONT/V1` and `ONT/V4.1`"
},
"scheme_version": {
"type": "string",
"default": "ARTIC/V3",
"description": "Primer scheme version.",
"help_text": "This is the version of the primer scheme to use, more details about primer shemes can be found [here](https://labs.epi2me.io/ont-midnight-scheme-update/).",
"enum": [
"ARTIC/V1",
"ARTIC/V2",
"ARTIC/V3",
"ARTIC/V4",
"ARTIC/V4.1",
"Midnight-ONT/V1",
"Midnight-ONT/V2",
"Midnight-ONT/V3",
"NEB-VarSkip/v2b",
"NEB-VarSkip/v1a-long",
"NEB-VarSkip/v2",
"NEB-VarSkip/v1a",
"Midnight-IDT/V1",
"ONT/V1",
"ONT/V4.1"
]
},
"custom_scheme": {
"type": "string",
"format": "path",
"description": "Path to a custom scheme.",
"help_text": "If you have a custom primer scheme you can enter the details here. This must be the full path to the directory containing your appropriately named scheme bed and fasta files; <SCHEME_NAME>.bed and <SCHEME_NAME>.fasta. More details [here](https://labs.epi2me.io/ont-midnight-scheme-update/)."
},
"scheme_dir": {
"type": "string",
"format": "path",
"description": "Path to primer scheme.",
"default": "primer_schemes",
"hidden": true
}
}
},
"samples": {
"title": "Sample Options",
"type": "object",
"fa_icon": "fas fa-vials",
"description": "Parameters that relate to samples such as sample sheets and sample names.",
"properties": {
"sample_sheet": {
"type": "string",
"format": "path",
"description": "A CSV file used to map barcodes to sample aliases. The sample sheet can be provided when the input data is a directory containing sub-directories with FASTQ files.",
"help_text": "The sample sheet is a CSV file with, minimally, columns named `barcode` and `alias`. Extra columns are allowed. A `type` column is required for certain workflows and should have the following values; `test_sample`, `positive_control`, `negative_control`, `no_template_control`."
},
"sample": {
"type": "string",
"description": "A single sample name for non-multiplexed data. Permissible if passing a single .fastq(.gz) file or directory of .fastq(.gz) files."
}
}
},
"output": {
"title": "Output Options",
"type": "object",
"fa_icon": "fas fa-arrow-left",
"description": "Parameters for saving and naming workflow outputs.",
"properties": {
"out_dir": {
"type": "string",
"default": "output",
"format": "directory-path",
"description": "Directory for output of all workflow results."
}
}
},
"reporting_options": {
"title": "Reporting Options",
"type": "object",
"description": "Options controlling report outputs",
"default": "",
"properties": {
"report_depth": {
"type": "integer",
"default": 100,
"description": "Min. depth for percentage coverage. (e.g. 89% genome covered at > `report_depth`)",
"minimum": 0,
"maximum": 100
},
"report_clade": {
"type": "boolean",
"default": true,
"description": "Show results of Nextclade analysis in report."
},
"report_coverage": {
"type": "boolean",
"default": true,
"description": "Show genome coverage traces in report."
},
"report_lineage": {
"type": "boolean",
"default": true,
"description": "Show results of Pangolin analysis in report."
},
"report_variant_summary": {
"type": "boolean",
"default": true,
"description": "Show variant information in report."
},
"report_detailed": {
"type": "boolean",
"default": false,
"description": "Show extra plots for detailed batch analysis."
}
},
"fa_icon": "fas fa-address-card",
"help_text": ""
},
"advanced_options": {
"title": "Advanced Options",
"type": "object",
"fa_icon": "far fa-question-circle",
"description": "Advanced options for configuring processes inside the workflow.",
"help_text": "These advanced options do not need to be changed for typical use, but allow fine tuning of workflows for users who want more control over the workflow.",
"properties": {
"artic_threads": {
"type": "number",
"description": "Number of CPU threads to use per artic task.",
"help_text": "The total CPU resource used by the workflow is constrained by the executor configuration.",
"min": 1,
"default": 4
},
"pangolin_threads": {
"type": "number",
"description": "Number of CPU threads to use per pangolin task.",
"help_text": "The total CPU resource used by the workflow is constrained by the executor configuration.",
"min": 1,
"default": 4
},
"genotype_variants": {
"type": "string",
"description": "Report genotyping information for scheme's known variants of interest, optionally provide file path as argument."
},
"list_schemes": {
"type": "boolean",
"default": false,
"description": "List primer schemes and exit without running analysis."
},
"min_len": {
"type": "number",
"min": 50,
"max": 10000,
"description": "Minimum read length (default: set by scheme)."
},
"max_len": {
"type": "number",
"min": 50,
"max": 10000,
"description": "Maximum read length (default: set by scheme)."
},
"max_softclip_length": {
"type": "integer",
"description": "Remove reads with alignments showing large softclipping"
},
"update_data": {
"type": "boolean",
"default": false,
"description": "Update pangolin & Nextclade data at runtime."
},
"pangolin_version": {
"type": "string",
"default": "4.1.3",
"hidden": true
},
"pangolin_options": {
"type": "string",
"description": "Pass options to pangolin, use like this \"--analysis-mode fast --min-length 26000\"."
},
"nextclade_version": {
"type": "string",
"default": "2.8.0",
"hidden": true
},
"nextclade_data_tag": {
"type": "string",
"hidden": false
},
"normalise": {
"type": "integer",
"default": 200,
"description": "Depth ceiling for depth of coverage normalisation"
},
"medaka_model": {
"type": "string",
"default": "r941_min_hac_variant_g507",
"description": "Medaka model name.",
"help_text": "The correct medaka model to use is determined by the Guppy basecaller version, see [Medaka Models](https://github.com/nanoporetech/medaka#models) for more information.",
"enum": [
"r103_fast_variant_g507",
"r103_hac_variant_g507",
"r103_prom_variant_g3210",
"r103_sup_variant_g507",
"r941_min_fast_variant_g507",
"r941_min_hac_variant_g507",
"r941_min_sup_variant_g507",
"r941_prom_fast_variant_g507",
"r941_prom_hac_variant_g507",
"r941_prom_sup_variant_g507",
"r941_prom_variant_g303",
"r941_prom_variant_g322",
"r941_prom_variant_g360"
]
}
}
},
"misc": {
"title": "Miscellaneous Options",
"type": "object",
"description": "Everything else.",
"default": "",
"properties": {
"lab_id": {
"type": "string",
"description": "Laboratory identifier, used in reporting."
},
"testkit": {
"type": "string",
"description": "Test kit identifier, used in reporting."
},
"disable_ping": {
"type": "boolean",
"default": false,
"description": "Enable to prevent sending a workflow ping."
},
"help": {
"type": "boolean",
"description": "Display help text.",
"fa_icon": "fas fa-question-circle",
"hidden": true
},
"version": {
"type": "boolean",
"description": "Display version and exit.",
"fa_icon": "fas fa-question-circle",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/input"
},
{
"$ref": "#/definitions/primer_scheme_selection"
},
{
"$ref": "#/definitions/samples"
},
{
"$ref": "#/definitions/output"
},
{
"$ref": "#/definitions/reporting_options"
},
{
"$ref": "#/definitions/advanced_options"
},
{
"$ref": "#/definitions/misc"
}
],
"properties": {
"aws_image_prefix": {
"type": "string",
"hidden": true
},
"aws_queue": {
"type": "string",
"hidden": true
},
"wfversion": {
"type": "string",
"default": "v0.3.18",
"hidden": true
},
"_min_len": {
"type": "string",
"hidden": true
},
"_max_len": {
"type": "string",
"hidden": true
},
"_max_softclip_length": {
"type": "string",
"hidden": true
},
"_pangolin_options": {
"type": "string",
"hidden": true
},
"monochrome_logs": {
"type": "boolean"
},
"validate_params": {
"type": "boolean",
"default": true
},
"show_hidden_params": {
"type": "boolean"
}
},
"docs": {
"intro": "## Introduction\n\nThe wf-artic workflow implements a slightly modified ARTIC FieldBioinformatics\nworkflow for the purpose of preparing consensus sequences from SARS-CoV-2\ngenomes that have been DNA sequenced using a pooled tiling amplicon strategy.\n\nThe workflow consumes a folder containing demultiplexed sequence reads as\nprepared by either MinKNOW or Guppy. The workflow needs to know the primer\nscheme that has been used during genome amplification and library preparation\ne.g. ARTIC/V3 or ONT_Midnight/V1. Other parameters can be specified to e.g.\nassign sample names to the barcodes or to adjust the length distribution of\nacceptable amplicon sequences.\n\nDNA sequences in FASTQ format are aggregated, filtered for sequence length and\nquality characteristics and are mapped to the reference SARS-CoV-2 genome using\nminimap2. A primer-scheme specific bed file is used to identify the regions of\nthe mapped sequences that correspond to synthetic sequences (primers) - these\nregions are clipped to ensure that sequences are entirely of biological origin.\nThe retained sequences are used to prepare a consensus sequence that is then\npolished using Medaka and variant calling is performed to produce a VCF file of\ngenetic differences relative to the reference genome. The consensus sequence is\nannotated for virus clade information using NextClade and a strain assignment\nis performed using Pangolin.\n\nThe completed analysis is summarised in an HTML format report that summarises\nkey information that includes number of reads, depth of coverage information\nper amplicon and both the Nextclade and Pangolin information.\n\nMore information can be found in these two blog posts:\n* [SARS-CoV-2 Midnight Analysis](https://labs.epi2me.io/sarscov2-midnight-analysis/)\n* [Midnight Scheme Update](https://labs.epi2me.io/ont-midnight-scheme-update/)\n",
"links": "## Useful links\n\n* [medaka](https://www.github.com/nanoporetech/medaka)\n* [artic](https://github.com/artic-network/fieldbioinformatics)\n* [nextflow](https://www.nextflow.io/)\n* [docker](https://www.docker.com/products/docker-desktop)\n* [singularity](https://docs.sylabs.io/guides/latest/user-guide/)\n"
}
}