-
Notifications
You must be signed in to change notification settings - Fork 21
/
nextflow_schema.json
246 lines (246 loc) · 12 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
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/./master/nextflow_schema.json",
"title": "epi2me-labs/wf-alignment",
"workflow_title": "Alignment workflow",
"description": "Align Nanopore reads and visualize mapping statistics.",
"demo_url": "https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-alignment/wf-alignment-demo.tar.gz",
"aws_demo_url": "https://ont-exd-int-s3-euwst1-epi2me-labs.s3.amazonaws.com/wf-alignment/wf-alignment-demo/aws.nextflow.config",
"url": "https://github.com/epi2me-labs/wf-alignment",
"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",
"title": "FASTQ",
"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`."
},
"bam": {
"type": "string",
"format": "path",
"description": "BAM or unaligned BAM (uBAM) files to use in the analysis.",
"help_text": "This accepts one of three cases: (i) the path to a single BAM file; (ii) the path to a top-level directory containing BAM files; (iii) the path to a directory containing one level of sub-directories which in turn contain BAM 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,
"title": "Analyse unclassified reads",
"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."
},
"references": {
"type": "string",
"format": "directory-path",
"description": "Path to a directory containing FASTA reference files.",
"help_text": "Accepted file extensions are '.fasta', '.fna', '.ffn', '.faa', '.frn', '.fa', '.txt', '.fa.gz', '.fna.gz', '.frn.gz', '.ffn.gz', '.fasta.gz'. In addition, an MMI index file can be provided to make the workflow run faster using the option `--reference_mmi_file`."
},
"reference_mmi_file": {
"type": "string",
"format": "file-path",
"description": "Path to an MMI index file to be used as reference.",
"help_text": "Accepted file extension is '.mmi'. The references parameter is still required if this is provided. Note that some minimap2 alignment options are set by the reference MMI and cannot be overridden."
},
"counts": {
"type": "string",
"format": "file-path",
"description": "Path to a CSV file containing expected counts as a control.",
"help_text": "The expected counts CSV file must contain columns named 'reference' and 'expected_counts' in order to be valid. the 'reference' column should contain names matching the names of reference sequences within the fasta files provided using --references."
}
},
"allOf": [
{
"required": [
"references"
]
},
{
"oneOf": [
{
"required": [
"fastq"
]
},
{
"required": [
"bam"
]
}
]
}
]
},
"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": "file-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."
},
"prefix": {
"type": "string",
"title": "Output filename prefix",
"description": "Optional prefix attached to each of the output filenames.",
"help_text": "Output filename format will be `<prefix>-filename.ext`."
},
"per_read_stats": {
"type": "boolean",
"default": false,
"title": "Per-read alignment stats",
"description": "Generate Bamstats per-read stats.",
"help_text": "With this option, the workflow will produce detailed per-read alignment stats emitted as gzipped TSV file. As these files can get quite large, it is recommended to only request them when necessary."
},
"igv": {
"type": "boolean",
"default": false,
"title": "IGV",
"description": "Enable IGV visualisation in the EPI2ME Desktop Application by creating the required files."
}
}
},
"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": {
"depth_coverage": {
"type": "boolean",
"default": true,
"description": "Calculate depth coverage statistics and include them in the report.",
"help_text": "This step can be a computational bottleneck. Set this to false if your reference sequences are >50mb to speed things up."
},
"minimap_preset": {
"type": "string",
"title": "Minimap2 parameter preset",
"description": "Pre-defined parameter sets for `minimap2`, covering most common use cases.",
"help_text": "Available parameter sets are: 'dna' (`-ax map-ont`), 'rna' (`-ax splice -uf`).",
"enum": [
"dna",
"rna"
],
"default": "dna"
},
"minimap_args": {
"type": "string",
"title": "Minimap2 CLI arguments",
"description": "String of command line arguments to be passed on to `minimap2`.",
"help_text": "This overrides the options defined by `--minimap_preset` and allows for running the alignment step in a more customized way."
}
}
},
"misc": {
"title": "Miscellaneous Options",
"type": "object",
"description": "Everything else.",
"default": "",
"properties": {
"threads": {
"type": "integer",
"default": 4,
"minimum": 4,
"description": "Number of CPU threads to use for the alignment step.",
"help_text": "The alignment process will run with this many threads (note that the memory used by minimap2 scales with the number of threads). The total CPU resources used by the workflow are constrained by the Nextflow executor configuration."
},
"disable_ping": {
"type": "boolean",
"default": false,
"description": "Enable to prevent sending a workflow ping."
},
"help": {
"type": "boolean",
"default": false,
"description": "Display help text.",
"fa_icon": "fas fa-question-circle",
"hidden": true
},
"version": {
"type": "boolean",
"default": false,
"description": "Display version and exit.",
"fa_icon": "fas fa-question-circle",
"hidden": true
}
}
}
},
"allOf": [
{
"$ref": "#/definitions/input"
},
{
"$ref": "#/definitions/samples"
},
{
"$ref": "#/definitions/output"
},
{
"$ref": "#/definitions/advanced_options"
},
{
"$ref": "#/definitions/misc"
}
],
"properties": {
"aws_image_prefix": {
"type": "string",
"hidden": true
},
"aws_queue": {
"type": "string",
"hidden": true
},
"monochrome_logs": {
"type": "boolean"
},
"validate_params": {
"type": "boolean",
"default": true
},
"show_hidden_params": {
"type": "boolean"
}
},
"resources": {
"recommended": {
"cpus": 12,
"memory": "32GB"
},
"minimum": {
"cpus": 6,
"memory": "12GB"
},
"run_time": "0.5-5 minutes per sample (depending on number of reads, length of reference, and available compute).",
"arm_support": true
}
}