From 10c1190de6a9b8ea309cd3ae317ba96aa298c489 Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 6 Feb 2025 13:20:16 +0100 Subject: [PATCH 1/2] Start adding error message, trying to see if can work out how to report the non-unique filenames --- .../utils_nfcore_createtaxdb_pipeline/main.nf | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf b/subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf index 7919e97..a71d3b5 100644 --- a/subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf @@ -76,6 +76,21 @@ workflow PIPELINE_INITIALISATION { ch_samplesheet = Channel.fromList(samplesheetToList(params.input, "assets/schema_input.json")) + // Validate we have unique file names for DNA FASTAs + ch_samplesheet + .filter { meta, fasta_dna, fasta_aa -> fasta_dna } + .map { meta, fasta_dna, fasta_aa -> + fasta_dna.getBaseName(fasta_dna.name.endsWith('.gz') ? 1 : 0) + } + .collect() + .dump(tag: 'post_collect') + .map { fasta_dna -> + if (fasta_dna.size() > fasta_dna.sort().unique().size()) { + def notunique = fasta_dna.toList().any { !fasta_dna.toList().sort().unique().contains(it) } + error("[nf-core/createtaxdb] ERROR: All filenames after decompressing must be unique! Check ${notunique}") + } + } + emit: samplesheet = ch_samplesheet versions = ch_versions From 2f5f0c164d6c1ac45854e38a87f2d3e8d0cba6df Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 6 Feb 2025 13:21:16 +0100 Subject: [PATCH 2/2] Add dummy for aa --- subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf b/subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf index a71d3b5..819f401 100644 --- a/subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf +++ b/subworkflows/local/utils_nfcore_createtaxdb_pipeline/main.nf @@ -86,11 +86,15 @@ workflow PIPELINE_INITIALISATION { .dump(tag: 'post_collect') .map { fasta_dna -> if (fasta_dna.size() > fasta_dna.sort().unique().size()) { + // NOT WORKING - rREPORTING FALSE def notunique = fasta_dna.toList().any { !fasta_dna.toList().sort().unique().contains(it) } error("[nf-core/createtaxdb] ERROR: All filenames after decompressing must be unique! Check ${notunique}") } } + // Validate we have unique file names for AA FASTAs + println('TODO') + emit: samplesheet = ch_samplesheet versions = ch_versions