From 98dbf7f49b895ba74f4d1fbe0a8de35ee8293c79 Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 14:04:37 +0000 Subject: [PATCH 01/13] update ultraplex version to 1.2.9 --- modules/goodwright/ultraplex/ultraplex/main.nf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/goodwright/ultraplex/ultraplex/main.nf b/modules/goodwright/ultraplex/ultraplex/main.nf index 3a3e3594..20ce3577 100644 --- a/modules/goodwright/ultraplex/ultraplex/main.nf +++ b/modules/goodwright/ultraplex/ultraplex/main.nf @@ -2,10 +2,10 @@ process ULTRAPLEX { tag "${meta.id}" label "process_high" - conda "bioconda::ultraplex=1.2.5" + conda "bioconda::ultraplex=1.2.9" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/ultraplex:1.2.5--py38h4a8c8d9_0' : - 'biocontainers/ultraplex:1.2.5--py38h4a8c8d9_0' }" + 'https://depot.galaxyproject.org/singularity/ultraplex:1.2.9--py39hf95cd2a_0' : + 'biocontainers/ultraplex:1.2.9--py39hf95cd2a_0' }" input: tuple val(meta), path(reads) @@ -22,7 +22,7 @@ process ULTRAPLEX { task.ext.when == null || task.ext.when script: - def VERSION = "1.2.5" // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + def VERSION = "1.2.9" // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. def args = task.ext.args ?: '' prefix = task.ext.prefix ?: "${meta.id}" From 0c46230f5d4b40dfc7d47d88e97439ba13d2168e Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 14:16:47 +0000 Subject: [PATCH 02/13] update samplessheet_to_barcode for situation where only 3' barcodes are present, format them as 5' barcodes for ultraplex input --- .../templates/samplesheet_to_barcode.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py b/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py index ea8ed081..067a605e 100644 --- a/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py +++ b/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py @@ -53,6 +53,18 @@ def main(process_name, samplesheet, output): five_prime = df_samplesheet["5' Barcode Sequence"] three_prime = df_samplesheet["3' Barcode Sequence"] three_prime_adapter = df_samplesheet["3' Adapter Sequence"] + + # If only three prime barcodes are present, treat them as five prime barcodes, print a message to + # the user so they know this is happening and to remind them to use the correct ultraplex settings + if five_prime.empty: + print( + "NOTE: No 5' barcode sequence found in sample sheet, 3' barcodes will be formatted as 5' barcodes \ + for Ultraplex input, ensure that Ultraplex is run with --three_prime_only flag. If using TSOs, \ + ensure that --tso_seq flag is also used and set to the correct sequence." + ) + five_prime = three_prime + three_prime = pd.Series([""] * len(five_prime)) + df_samplesheet = pd.concat([sample_names, five_prime, three_prime, three_prime_adapter], axis=1) # Init for loop From 3bf6684d5fa3417938da9e21fb02de81eb950c4d Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 14:52:26 +0000 Subject: [PATCH 03/13] expose new CLI options and add testing --- schema/demultiplex.json | 18 ++++++++++ tests/config/test_data.config | 1 + tests/config/ultraplex-3prime-only.config | 33 +++++++++++++++++++ .../clip-samplesheet-3prime-barcode-only.csv | 3 ++ tests/subworkflows/demultiplex/main.nf | 9 +++++ .../demultiplex/test_workflow.yml | 6 ++++ .../subworkflows/demultiplex/test.yml | 7 ++++ .../subworkflows/demultiplex/nextflow.config | 6 +++- 8 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 tests/config/ultraplex-3prime-only.config create mode 100644 tests/data/samplesheets/clip-samplesheet-3prime-barcode-only.csv diff --git a/schema/demultiplex.json b/schema/demultiplex.json index 96112025..47927dc5 100644 --- a/schema/demultiplex.json +++ b/schema/demultiplex.json @@ -79,6 +79,18 @@ "description": "This option does not write out reads for which there was no barcode match, which may save time.", "type": "boolean", "required": false + }, + "three_prime_only": { + "name": "3' barcodes only", + "description": "This is when you only have 3' barcodes. In this case, write each barcode on a new line in the barcode csv. Feel free to add names too like with 5' barcodes. The format of the barcode CSV should be exactly the same as if you only had 5' barcodes (see above). Barcode sequences should be as they would be in read 1 (just as above for 3' barcodes). Ultraplex uses the read 2 for demultiplexing here, and handles all reverse complementing internally.", + "type": "boolean", + "required": false + }, + "tso_seq": { + "name": "TSO-seq", + "description": "This is used solely in conjunction with the option --three_prime_barcode. It is solely for TSOs that have a p5 sequence (i.e. give rise to the read 1). Give a sequence of Ns followed by Is. Ns are moved to the UMI. Is are trimmed from the read but not moved to the UMI. For example, if using a TSO of sequence (p5)NNNNNrGrGrG, you would specify --tso_seq NNNNNIII. This would move the five random bases to the UMI, but the three non-random bases from the rGs would be trimmed and ignored.", + "type": "boolean", + "required": false } } } @@ -89,6 +101,12 @@ "description": "The demultiplexed FASTQ files.", "filetype": "fastq.gz", "process": "ULTRAPLEX" + }, + { + "name": "Ultraplex log", + "description": "Log file from demultiplexing", + "filetype": "log", + "process": "ULTRAPLEX" } ] } diff --git a/tests/config/test_data.config b/tests/config/test_data.config index 9400e9eb..c6090e9f 100644 --- a/tests/config/test_data.config +++ b/tests/config/test_data.config @@ -9,6 +9,7 @@ params { clip_samplesheet_xlsx = "${gw_test_data_dir}/samplesheets/clip-samplesheet.xlsx" clip_samplesheet_small = "${gw_test_data_dir}/samplesheets/clip-samplesheet-small.csv" clip_samplesheet_adapter_mis = "${gw_test_data_dir}/samplesheets/clip-samplesheet-mismatch-adapter.csv" + clip_3bc_only = "${gw_test_data_dir}/samplesheets/clip-samplesheet-3prime-barcode-only.csv" base_valid_single_pe = "${gw_test_data_dir}/samplesheets/base_samplesheet/valid-single-sample-pe.csv" base_valid_single_se = "${gw_test_data_dir}/samplesheets/base_samplesheet/valid-single-sample-se.csv" diff --git a/tests/config/ultraplex-3prime-only.config b/tests/config/ultraplex-3prime-only.config new file mode 100644 index 00000000..e7da6198 --- /dev/null +++ b/tests/config/ultraplex-3prime-only.config @@ -0,0 +1,33 @@ +params { + fastq2 = null + fiveprimemismatches = 1 + threeprimemismatches = 0 + adapter2 = null + phredquality = 30 + phred_quality_5_prime = 0 + min_trim = 3 + final_min_length = 0 + keep_barcodes = false + ignore_no_match = false + three_prime_only = true + tso_seq = false +} + +process { + withName: '.*ULTRAPLEX.*' { + ext.args = 'test' + ext.args = [ + "-m5 ${params.fiveprimemismatches}", + "-m3 ${params.threeprimemismatches}", + params.adapter2 ? "-a2 ${params.adapter2}" : '', + "-q ${params.phredquality}", + "-q5 ${params.phred_quality_5_prime}", + "-mt ${params.min_trim}", + params.final_min_length != 0 ? "-l ${params.final_min_length}" : '', + params.keep_barcodes ? '-kbc' : '', + params.ignore_no_match ? '-inm' : '', + params.three_prime_only ? '--three_prime_only' : '', + params.tso_seq ? '--tso_seq' : '' + ].flatten().unique(false).join(' ').trim() + } +} diff --git a/tests/data/samplesheets/clip-samplesheet-3prime-barcode-only.csv b/tests/data/samplesheets/clip-samplesheet-3prime-barcode-only.csv new file mode 100644 index 00000000..d41890f0 --- /dev/null +++ b/tests/data/samplesheets/clip-samplesheet-3prime-barcode-only.csv @@ -0,0 +1,3 @@ +Sample Name,5' Barcode Sequence,3' Barcode Sequence,3' Adapter Sequence +sample_clip_1,,NNGACNN,AGATCGGAAGAGCGGTTCAG +sample_clip_2,,NNTACNN,AGATCGGAAGAGCGGTTCAG diff --git a/tests/subworkflows/demultiplex/main.nf b/tests/subworkflows/demultiplex/main.nf index 9cd68627..10c8c868 100644 --- a/tests/subworkflows/demultiplex/main.nf +++ b/tests/subworkflows/demultiplex/main.nf @@ -70,3 +70,12 @@ workflow test_channel_samplesheet { DEMULTIPLEX ( samplesheet, fastq ) DEMULTIPLEX.out.fastq | view } + +workflow test_threeprimebarcode_only { + + samplesheet = file(params.goodwright_test_data['samplesheets']['clip_3bc_only'], checkIfExists: true) + fastq = file(params.goodwright_test_data['ultraplex']['multiplexed_fastq'], checkIfExists: true) + + DEMULTIPLEX ( samplesheet, fastq ) + DEMULTIPLEX.out.fastq | view +} diff --git a/tests/subworkflows/demultiplex/test_workflow.yml b/tests/subworkflows/demultiplex/test_workflow.yml index 876398d2..2e72374e 100644 --- a/tests/subworkflows/demultiplex/test_workflow.yml +++ b/tests/subworkflows/demultiplex/test_workflow.yml @@ -56,3 +56,9 @@ tags: - "subworkflows" - "demultiplex" + +- name: "test_sw_demultiplex_3bc_only" + command: nextflow run ./tests/subworkflows/demultiplex -ultraplex-3prime-only.config -c ./tests/config/nextflow.config -entry test_threeprimebarcode_only + tags: + - "subworkflows" + - "demultiplex" \ No newline at end of file diff --git a/tests/wrappers/subworkflows/demultiplex/test.yml b/tests/wrappers/subworkflows/demultiplex/test.yml index 7695e318..84ed33b3 100644 --- a/tests/wrappers/subworkflows/demultiplex/test.yml +++ b/tests/wrappers/subworkflows/demultiplex/test.yml @@ -25,3 +25,10 @@ - "wrappers" - "wrappers/subworkflows" - "wrappers/subworkflows/demultiplex" + +- name: "test_wrappers_demultiplex_single_se_threeprimeonly" + command: nextflow run ./wrappers/subworkflows/demultiplex/main.nf -c tests/config/ultraplex-3prime-only.config -c ./tests/config/nextflow.config --samplesheet ./tests/data/samplesheets/clip-samplesheet-3prime-barcode-only.csv --fastqs ./tests/data/fastq_list/single_se_fastq.csv + tags: + - "wrappers" + - "wrappers/subworkflows" + - "wrappers/subworkflows/demultiplex" \ No newline at end of file diff --git a/wrappers/subworkflows/demultiplex/nextflow.config b/wrappers/subworkflows/demultiplex/nextflow.config index 057ef2ab..d0384c81 100644 --- a/wrappers/subworkflows/demultiplex/nextflow.config +++ b/wrappers/subworkflows/demultiplex/nextflow.config @@ -9,6 +9,8 @@ params { final_min_length = 0 keep_barcodes = false ignore_no_match = false + three_prime_only = false + tso_seq = false } process { @@ -23,7 +25,9 @@ process { "-mt ${params.min_trim}", params.final_min_length != 0 ? "-l ${params.final_min_length}" : '', params.keep_barcodes ? '-kbc' : '', - params.ignore_no_match ? '-inm' : '' + params.ignore_no_match ? '-inm' : '', + params.three_prime_only ? '--three_prime_only' : '', + params.tso_seq ? '--tso_seq' : '' ].flatten().unique(false).join(' ').trim() } } From c981e1df6ddc4d8d5de2d0a5ed82cd2aaf19d5fa Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 15:23:38 +0000 Subject: [PATCH 04/13] update demux test --- tests/subworkflows/demultiplex/test_workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/subworkflows/demultiplex/test_workflow.yml b/tests/subworkflows/demultiplex/test_workflow.yml index 2e72374e..7aede43a 100644 --- a/tests/subworkflows/demultiplex/test_workflow.yml +++ b/tests/subworkflows/demultiplex/test_workflow.yml @@ -58,7 +58,7 @@ - "demultiplex" - name: "test_sw_demultiplex_3bc_only" - command: nextflow run ./tests/subworkflows/demultiplex -ultraplex-3prime-only.config -c ./tests/config/nextflow.config -entry test_threeprimebarcode_only + command: nextflow run ./tests/subworkflows/demultiplex -c ./tests/config/ultraplex-3prime-only.config -c ./tests/config/nextflow.config -entry test_threeprimebarcode_only tags: - "subworkflows" - "demultiplex" \ No newline at end of file From ee7416d2d3ca2ede64ea9ac554cad44b37131b17 Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 16:03:59 +0000 Subject: [PATCH 05/13] update way no 5' barcodes is caught --- .../samplesheet_to_barcode/templates/samplesheet_to_barcode.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py b/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py index 067a605e..59a6c5e1 100644 --- a/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py +++ b/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py @@ -56,7 +56,7 @@ def main(process_name, samplesheet, output): # If only three prime barcodes are present, treat them as five prime barcodes, print a message to # the user so they know this is happening and to remind them to use the correct ultraplex settings - if five_prime.empty: + if (five_prime.str.len() == 0).all(): print( "NOTE: No 5' barcode sequence found in sample sheet, 3' barcodes will be formatted as 5' barcodes \ for Ultraplex input, ensure that Ultraplex is run with --three_prime_only flag. If using TSOs, \ From ea1255190316a35e762e9c0b8dcdec6109d3edf7 Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 16:21:54 +0000 Subject: [PATCH 06/13] rename samplesheet --- .../samplesheet_to_barcode/templates/samplesheet_to_barcode.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py b/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py index 59a6c5e1..b715104a 100644 --- a/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py +++ b/modules/goodwright/ultraplex/samplesheet_to_barcode/templates/samplesheet_to_barcode.py @@ -64,6 +64,8 @@ def main(process_name, samplesheet, output): ) five_prime = three_prime three_prime = pd.Series([""] * len(five_prime)) + five_prime.name = "5' Barcode Sequence" + three_prime.name = "3' Barcode Sequence" df_samplesheet = pd.concat([sample_names, five_prime, three_prime, three_prime_adapter], axis=1) From 85bd3eee6562bc1488e5ce7ff8f5aa7014e83c46 Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 18:00:47 +0000 Subject: [PATCH 07/13] tso-seq should be a string --- schema/demultiplex.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/demultiplex.json b/schema/demultiplex.json index 47927dc5..89936b9e 100644 --- a/schema/demultiplex.json +++ b/schema/demultiplex.json @@ -89,7 +89,7 @@ "tso_seq": { "name": "TSO-seq", "description": "This is used solely in conjunction with the option --three_prime_barcode. It is solely for TSOs that have a p5 sequence (i.e. give rise to the read 1). Give a sequence of Ns followed by Is. Ns are moved to the UMI. Is are trimmed from the read but not moved to the UMI. For example, if using a TSO of sequence (p5)NNNNNrGrGrG, you would specify --tso_seq NNNNNIII. This would move the five random bases to the UMI, but the three non-random bases from the rGs would be trimmed and ignored.", - "type": "boolean", + "type": "string", "required": false } } From 8b6355644bd011da4390c8d1e11c4e47ed0e8b83 Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 18:44:20 +0000 Subject: [PATCH 08/13] change tso_seq to string input --- wrappers/subworkflows/demultiplex/nextflow.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wrappers/subworkflows/demultiplex/nextflow.config b/wrappers/subworkflows/demultiplex/nextflow.config index d0384c81..07c96931 100644 --- a/wrappers/subworkflows/demultiplex/nextflow.config +++ b/wrappers/subworkflows/demultiplex/nextflow.config @@ -10,7 +10,7 @@ params { keep_barcodes = false ignore_no_match = false three_prime_only = false - tso_seq = false + tso_seq = null } process { @@ -27,7 +27,7 @@ process { params.keep_barcodes ? '-kbc' : '', params.ignore_no_match ? '-inm' : '', params.three_prime_only ? '--three_prime_only' : '', - params.tso_seq ? '--tso_seq' : '' + params.tso_seq ? '--tso_seq ${params.tso_seq}' : '' ].flatten().unique(false).join(' ').trim() } } From 1c2dc0c340fe9c2ecf47ec1c06c7a2a3bd6b00a2 Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 22 Nov 2023 18:47:07 +0000 Subject: [PATCH 09/13] change quotes --- wrappers/subworkflows/demultiplex/nextflow.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wrappers/subworkflows/demultiplex/nextflow.config b/wrappers/subworkflows/demultiplex/nextflow.config index 07c96931..3915bc7b 100644 --- a/wrappers/subworkflows/demultiplex/nextflow.config +++ b/wrappers/subworkflows/demultiplex/nextflow.config @@ -27,7 +27,7 @@ process { params.keep_barcodes ? '-kbc' : '', params.ignore_no_match ? '-inm' : '', params.three_prime_only ? '--three_prime_only' : '', - params.tso_seq ? '--tso_seq ${params.tso_seq}' : '' + params.tso_seq ? "--tso_seq ${params.tso_seq}" : '' ].flatten().unique(false).join(' ').trim() } } From ff2f543d161d9ea1ac68c44c8036e8cb80246232 Mon Sep 17 00:00:00 2001 From: Charlotte Capitanchik Date: Wed, 29 Nov 2023 14:58:20 +0000 Subject: [PATCH 10/13] correct demultiplex final-min-length param --- wrappers/subworkflows/demultiplex/nextflow.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wrappers/subworkflows/demultiplex/nextflow.config b/wrappers/subworkflows/demultiplex/nextflow.config index 3915bc7b..a1d1194d 100644 --- a/wrappers/subworkflows/demultiplex/nextflow.config +++ b/wrappers/subworkflows/demultiplex/nextflow.config @@ -6,7 +6,7 @@ params { phredquality = 30 phred_quality_5_prime = 0 min_trim = 3 - final_min_length = 0 + final_min_length = 16 keep_barcodes = false ignore_no_match = false three_prime_only = false @@ -23,7 +23,7 @@ process { "-q ${params.phredquality}", "-q5 ${params.phred_quality_5_prime}", "-mt ${params.min_trim}", - params.final_min_length != 0 ? "-l ${params.final_min_length}" : '', + "-l ${params.final_min_length}", params.keep_barcodes ? '-kbc' : '', params.ignore_no_match ? '-inm' : '', params.three_prime_only ? '--three_prime_only' : '', From a242ba26647d831f0a7a8b57b5a427b27a7ce1a7 Mon Sep 17 00:00:00 2001 From: Sam Ireland Date: Sun, 6 Oct 2024 15:53:14 +0100 Subject: [PATCH 11/13] Update icount_segment.json --- schema/icount_segment.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/schema/icount_segment.json b/schema/icount_segment.json index 9e1a054c..9b54d069 100644 --- a/schema/icount_segment.json +++ b/schema/icount_segment.json @@ -1,26 +1,26 @@ { - "inputs": { - "genome_options": { + "inputs": [ + { "name": "File options", "description": "The files needed for running.", - "properties": { + "params": { "gtf": { "name": "GTF", - "type": "file", - "pattern": "gtf", + "type": "data", + "pattern": "\\.gtf$", "required": true, "description": "A genome annotation file." }, "fai": { "name": "FAI", - "type": "file", - "pattern": "fai", + "type": "data", + "pattern": "\\.fai$", "required": true, "description": "A faidx genome index." } } } - }, + ], "outputs": [ { "name": "Segmentation GTF", From f092af2f5fdf0b2461d04a64a47544050621fde0 Mon Sep 17 00:00:00 2001 From: Sam Ireland Date: Sun, 6 Oct 2024 15:54:25 +0100 Subject: [PATCH 12/13] Update demultiplex.json --- schema/demultiplex.json | 61 ++++++++++++++++++++++++++++++++++------- 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/schema/demultiplex.json b/schema/demultiplex.json index 96112025..8468d069 100644 --- a/schema/demultiplex.json +++ b/schema/demultiplex.json @@ -1,31 +1,72 @@ { - "inputs": { - "file_options": { + "inputs": [ + { "name": "File options", "description": "The files needed for demultiplexing.", - "properties": { + "modes": ["Single-end", "Paired-end"], + "params": { "samplesheet": { "name": "Annotation", - "type": "file", + "type": "data", "pattern": "xlsx|csv", "category": 2, "required": true, + "modes": ["Single-end", "Paired-end"], "description": "Sample annotation sheet." }, "fastqs": { "name": "FASTQ", - "type": "lane", - "pattern": "fq\\.gz$|fastq\\.gz$|fq$|fastq$", + "description": "The multiplexed FASTQ file(s) to demultiplex. You can provide one or multiple files to be concatenated, for both single and paired end data. At least one file must be provided.", "required": true, - "description": "The multiplexed FASTQ file(s) to demultiplex. You can provide one or multiple files to be concatenated, for both single and paired end data. At least one file must be provided." + "type": "csv", + "takes_filesets": true, + "fileset_category": 3, + "fileset_size": 1, + "modes": ["Single-end"], + "columns": [ + { + "name": "fastq_1", + "type": "data", + "required": true, + "render": false, + "from_fileset": 1 + } + ] + }, + "fastqs_": { + "param": "fastqs", + "name": "FASTQ", + "description": "The multiplexed FASTQ file(s) to demultiplex. You can provide one or multiple files to be concatenated, for both single and paired end data. At least one file must be provided.", + "required": true, + "type": "csv", + "takes_filesets": true, + "fileset_category": 3, + "fileset_size": 2, + "modes": ["Paired-end"], + "columns": [ + { + "name": "fastq_1", + "type": "data", + "required": true, + "render": false, + "from_fileset": 1 + }, + { + "name": "fastq_2", + "type": "data", + "required": true, + "render": false, + "from_fileset": 2 + } + ] } } }, - "ultraplex_options": { + { "name": "Ultraplex options", "description": "Advanced options for Ultraplex.", "advanced": true, - "properties": { + "params": { "fiveprimemismatches": { "name": "5’ mismatches", "description": "This option allows the user to specify how many mismatches are permitted when detecting which 5’ barcode a read contains. If set to zero, then the 5’ barcode must match the expected barcode perfectly. By default, this value is set to one mismatch.", @@ -82,7 +123,7 @@ } } } - }, + ], "outputs": [ { "name": "FASTQ Files", From b55d649ea192a4965898f4fa69754074490bbe7f Mon Sep 17 00:00:00 2001 From: Sam Ireland Date: Sun, 13 Oct 2024 01:40:51 +0100 Subject: [PATCH 13/13] Don't output CSV headers --- schema/demultiplex.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/schema/demultiplex.json b/schema/demultiplex.json index 8468d069..154c70df 100644 --- a/schema/demultiplex.json +++ b/schema/demultiplex.json @@ -19,6 +19,7 @@ "description": "The multiplexed FASTQ file(s) to demultiplex. You can provide one or multiple files to be concatenated, for both single and paired end data. At least one file must be provided.", "required": true, "type": "csv", + "output_headers": false, "takes_filesets": true, "fileset_category": 3, "fileset_size": 1, @@ -39,6 +40,7 @@ "description": "The multiplexed FASTQ file(s) to demultiplex. You can provide one or multiple files to be concatenated, for both single and paired end data. At least one file must be provided.", "required": true, "type": "csv", + "output_headers": false, "takes_filesets": true, "fileset_category": 3, "fileset_size": 2,