From 978738e4412e4868f17bd8453558560cfad86767 Mon Sep 17 00:00:00 2001 From: Nickyecen Date: Thu, 17 Jul 2025 07:18:31 -0300 Subject: [PATCH 1/2] [#15] Simplify redundancy Signed-off-by: Nickyecen --- src/main.nf | 22 +++++++++---------- src/modules/convert_input_from_minknow.nf | 2 +- .../FILTERING_AND_QC_FROM_MINKNOW.nf | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/main.nf b/src/main.nf index d38bd5e..8f88ee1 100755 --- a/src/main.nf +++ b/src/main.nf @@ -7,7 +7,7 @@ include {MODKIT_AND_MULTIQC} from './sub_workflows/MODKIT_AND_MULTIQC.nf' // Main workflow logic workflow { // Log execution parameters - if (params.step.toString() == "1") { + if (params.step == 1) { log.info """ ================================================================= STEP 1 - OXFORD NANOPORE DNA SEQUENCING BASECALLING AND ALIGNMENT @@ -25,7 +25,7 @@ workflow { Output directory : ${params.out_dir} ================================================================= """ - } else if (params.step.toString() == "2_from_step_1" || params.step.toString() == "2_from_minknow") { + } else if (params.step == "2_from_step_1" || params.step == "2_from_minknow") { log.info """ ====================================== STEP 2 - FILTERING AND QUALITY CONTROL @@ -37,7 +37,7 @@ workflow { BAM files barcoded? : ${params.is_barcoded} ====================================== """ - } else if (params.step.toString() == "3") { + } else if (params.step == 3) { log.info """ =============================================== STEP 3 - METHYLATION CALLING AND MULTIQC REPORT @@ -51,7 +51,7 @@ workflow { System.exit(1) } // Set initial files and channels - if (params.step.toString() == "1") { + if (params.step == 1) { if (params.prefix == "None") { fast5_path = Channel.fromPath("${params.basecall_path}/**.fast5").map{file -> tuple(file.parent.toString().split("/")[-3] + "_" + file.simpleName.split('_')[0] + "_" + file.simpleName.split('_')[-3..-2].join("_"), file) }.groupTuple() pod5_path = Channel.fromPath("${params.basecall_path}/**.pod5").map{file -> tuple(file.parent.toString().split("/")[-3] + "_" + file.simpleName.split('_')[0] + "_" + file.simpleName.split('_')[-3..-2].join("_"), file) }.groupTuple() @@ -68,16 +68,16 @@ workflow { trimmed_barcodes = Channel.value(params.trimmed_barcodes) gpu_devices = Channel.value(params.gpu_devices) reference_file = file(params.reference_file) - } else if (params.step.toString() == "2_from_step_1") { + } else if (params.step == "2_from_step_1") { bam_files = Channel.fromPath("${params.steps_2_and_3_input_directory}/basecalling_output/*.bam").map {file -> tuple(file.baseName, file) }.toSortedList( { a, b -> a[0] <=> b[0] } ).flatten().buffer(size:2) txt_files = Channel.fromPath("${params.steps_2_and_3_input_directory}/basecalling_output/*.txt").toSortedList( { a, b -> a.baseName <=> b.baseName } ).flatten() mapq = Channel.value(params.mapq) qscore_thresh = Channel.value(params.qscore_thresh) - } else if (params.step.toString() == "2_from_minknow") { + } else if (params.step == "2_from_minknow") { input_dir = Channel.fromPath("${params.steps_2_and_3_input_directory}/") mapq = Channel.value(params.mapq) qscore_thresh = Channel.value(params.qscore_thresh) - } else if (params.step.toString() == "3") { + } else if (params.step == 3) { filtered_bams = Channel.fromPath("${params.steps_2_and_3_input_directory}/bam_filtering/*-Filtered*.bam").map {file -> tuple(file.baseName, file) }.toSortedList( { a, b -> a[0] <=> b[0] } ).flatten().buffer(size:2) filtered_bais = Channel.fromPath("${params.steps_2_and_3_input_directory}/bam_filtering/*-Filtered*.bam.bai").toSortedList( { a, b -> a.baseName <=> b.baseName } ).flatten() num_reads = Channel.fromPath("${params.steps_2_and_3_input_directory}/intermediate_qc_reports/number_of_reads/*") @@ -87,13 +87,13 @@ workflow { multiqc_input = Channel.fromPath("${params.steps_2_and_3_input_directory}/multiqc_input/**", type: "file") } // Run steps - if (params.step.toString() == "1") { + if (params.step == 1) { BASECALLING(pod5_path, fast5_path, basecall_speed, basecall_mods, basecall_config, basecall_trim, qscore_thresh, barcoding_kit, trimmed_barcodes, gpu_devices, reference_file) - } else if (params.step.toString() == "2_from_step_1") { + } else if (params.step == "2_from_step_1") { FILTERING_AND_QC_FROM_STEP_1(bam_files, txt_files, mapq, qscore_thresh) - } else if (params.step.toString() == "2_from_minknow") { + } else if (params.step == "2_from_minknow") { FILTERING_AND_QC_FROM_MINKNOW(input_dir, mapq, qscore_thresh) - } else if (params.step.toString()== "3") { + } else if (params.step == 3) { MODKIT_AND_MULTIQC(filtered_bams, filtered_bais, num_reads, read_length, quality_thresholds, multiqc_config, multiqc_input) } } diff --git a/src/modules/convert_input_from_minknow.nf b/src/modules/convert_input_from_minknow.nf index 97f978e..efe1cec 100755 --- a/src/modules/convert_input_from_minknow.nf +++ b/src/modules/convert_input_from_minknow.nf @@ -12,7 +12,7 @@ process CONVERT_INPUT_FROM_MINKNOW_BARCODED { script: """ # Define the input directory path - input_dir="${input.toString()}" + input_dir="${input}" # Check if the input directory exists if [ -d "\${input_dir}" ]; then echo "Input directory exists." diff --git a/src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf b/src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf index 8746425..9974b2e 100755 --- a/src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf +++ b/src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf @@ -11,10 +11,10 @@ workflow FILTERING_AND_QC_FROM_MINKNOW { qscore_thresh main: - if (params.is_barcoded == true) { + if (params.is_barcoded) { CONVERT_INPUT_FROM_MINKNOW_BARCODED(input) converted_input = CONVERT_INPUT_FROM_MINKNOW_BARCODED.out - } else if (params.is_barcoded == false) { + } else if (params.is_barcoded) { CONVERT_INPUT_FROM_MINKNOW_NOT_BARCODED(input) converted_input = CONVERT_INPUT_FROM_MINKNOW_NOT_BARCODED.out } -- GitLab From 36b1d038b95e9d27c6f202783d3497711274627a Mon Sep 17 00:00:00 2001 From: Nickyecen Date: Wed, 23 Jul 2025 22:40:30 -0300 Subject: [PATCH 2/2] Fix incorrect if-else call Signed-off-by: Nickyecen --- src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf b/src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf index 9974b2e..61c53d8 100755 --- a/src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf +++ b/src/sub_workflows/FILTERING_AND_QC_FROM_MINKNOW.nf @@ -14,7 +14,7 @@ workflow FILTERING_AND_QC_FROM_MINKNOW { if (params.is_barcoded) { CONVERT_INPUT_FROM_MINKNOW_BARCODED(input) converted_input = CONVERT_INPUT_FROM_MINKNOW_BARCODED.out - } else if (params.is_barcoded) { + } else { CONVERT_INPUT_FROM_MINKNOW_NOT_BARCODED(input) converted_input = CONVERT_INPUT_FROM_MINKNOW_NOT_BARCODED.out } -- GitLab