From 214db53ac0cb6b4f0a916a28fd81c99f391e8d4b Mon Sep 17 00:00:00 2001 From: Robert Ernst Date: Fri, 5 Nov 2021 11:14:08 +0100 Subject: [PATCH 01/10] Add export function for workflow params --- Utils/workflow.nf | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Utils/workflow.nf diff --git a/Utils/workflow.nf b/Utils/workflow.nf new file mode 100644 index 00000000..44015bfb --- /dev/null +++ b/Utils/workflow.nf @@ -0,0 +1,15 @@ +process export_params { + tag {"Workflow Export Params ${sample_id}"} + label 'Workflow_Export_Params' + shell = ['/bin/bash', '-euo', 'pipefail'] + + output: + path("workflow_params.txt", emit: log) + + script: + def workflow_params = params.collect{param -> "$param.key\t$param.value"}.join("\n") + """ + echo -e "param\tvalue" + echo -e "${workflow_params}" + """ +} From 59e1fef5a67442c6b80e1063a7391aa30ba0f798 Mon Sep 17 00:00:00 2001 From: Robert Ernst Date: Fri, 5 Nov 2021 11:16:10 +0100 Subject: [PATCH 02/10] Rename process --- Utils/workflow.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Utils/workflow.nf b/Utils/workflow.nf index 44015bfb..2c163ef0 100644 --- a/Utils/workflow.nf +++ b/Utils/workflow.nf @@ -1,4 +1,4 @@ -process export_params { +process ExportParams { tag {"Workflow Export Params ${sample_id}"} label 'Workflow_Export_Params' shell = ['/bin/bash', '-euo', 'pipefail'] From 81b138409ff39f5b3d8921b6d310a8680d3802dc Mon Sep 17 00:00:00 2001 From: Robert Ernst Date: Fri, 5 Nov 2021 11:20:44 +0100 Subject: [PATCH 03/10] Write to file --- Utils/workflow.nf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Utils/workflow.nf b/Utils/workflow.nf index 2c163ef0..658243c9 100644 --- a/Utils/workflow.nf +++ b/Utils/workflow.nf @@ -4,12 +4,12 @@ process ExportParams { shell = ['/bin/bash', '-euo', 'pipefail'] output: - path("workflow_params.txt", emit: log) + path("workflow_params.txt") script: def workflow_params = params.collect{param -> "$param.key\t$param.value"}.join("\n") """ - echo -e "param\tvalue" - echo -e "${workflow_params}" + echo -e "param\tvalue" > workflow_params.txt + echo -e "${workflow_params}" >> workflow_params.txt """ } From b7e0f4aeaeef93a3ecb65a98fb3f6921ba4b211e Mon Sep 17 00:00:00 2001 From: Robert Ernst Date: Fri, 5 Nov 2021 12:15:29 +0100 Subject: [PATCH 04/10] Remove sample id --- Utils/workflow.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Utils/workflow.nf b/Utils/workflow.nf index 658243c9..203cdaee 100644 --- a/Utils/workflow.nf +++ b/Utils/workflow.nf @@ -1,5 +1,5 @@ process ExportParams { - tag {"Workflow Export Params ${sample_id}"} + tag {"Workflow Export Params"} label 'Workflow_Export_Params' shell = ['/bin/bash', '-euo', 'pipefail'] From 3efd20071f3d63f19bbc5e7efc42954e5c917137 Mon Sep 17 00:00:00 2001 From: Robert Ernst Date: Fri, 5 Nov 2021 12:20:50 +0100 Subject: [PATCH 05/10] Sort output --- Utils/workflow.nf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Utils/workflow.nf b/Utils/workflow.nf index 203cdaee..eec06c90 100644 --- a/Utils/workflow.nf +++ b/Utils/workflow.nf @@ -7,7 +7,7 @@ process ExportParams { path("workflow_params.txt") script: - def workflow_params = params.collect{param -> "$param.key\t$param.value"}.join("\n") + def workflow_params = params.collect{param -> "$param.key\t$param.value"}.sort().join("\n") """ echo -e "param\tvalue" > workflow_params.txt echo -e "${workflow_params}" >> workflow_params.txt From e71704058ba05f101fb2fa11eddbe032a2646d5e Mon Sep 17 00:00:00 2001 From: Robert Ernst Date: Fri, 5 Nov 2021 12:24:44 +0100 Subject: [PATCH 06/10] Disable cache --- Utils/workflow.nf | 1 + 1 file changed, 1 insertion(+) diff --git a/Utils/workflow.nf b/Utils/workflow.nf index eec06c90..3e9dcda9 100644 --- a/Utils/workflow.nf +++ b/Utils/workflow.nf @@ -2,6 +2,7 @@ process ExportParams { tag {"Workflow Export Params"} label 'Workflow_Export_Params' shell = ['/bin/bash', '-euo', 'pipefail'] + cache = false //Disable cache to force a new export when restarting the workflow. output: path("workflow_params.txt") From 425eb29ca85cabda07de717c2f83ed170d704455 Mon Sep 17 00:00:00 2001 From: Flip Mulder Date: Thu, 11 Nov 2021 09:53:02 +0100 Subject: [PATCH 07/10] Add SortMeRNA 4.3.3 + FIle cleanup update to 4.2.2 --- SortMeRNA/4.2.0/SortMeRNA.nf | 6 ++++ SortMeRNA/4.3.3/SortMeRNA.nf | 56 ++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100755 SortMeRNA/4.3.3/SortMeRNA.nf diff --git a/SortMeRNA/4.2.0/SortMeRNA.nf b/SortMeRNA/4.2.0/SortMeRNA.nf index 16215c05..29bd0b9a 100644 --- a/SortMeRNA/4.2.0/SortMeRNA.nf +++ b/SortMeRNA/4.2.0/SortMeRNA.nf @@ -31,6 +31,8 @@ process SortMeRNA { gzip -f < non-rRNA-reads.fastq > ${fastq_files[0].simpleName}_non_rRNA.fastq.gz gzip -f < rRNA-reads.fastq > ${fastq_files[0].simpleName}_filtered_rRNA.fastq.gz mv rRNA-reads.log ${report_title}_rRNA_report.txt + rm non-rRNA-reads.fastq + rm rRNA-reads.fastq """ } else { """ @@ -49,6 +51,10 @@ process SortMeRNA { gzip < rRNA-reads_fwd.fastq > ${fastq_files[0].simpleName}_filtered_rRNA.fastq.gz gzip < rRNA-reads_rev.fastq > ${fastq_files[1].simpleName}_filtered_rRNA.fastq.gz mv rRNA-reads.log ${report_title}_rRNA_report.txt + rm non-rRNA-reads_fwd.fastq + rm non-rRNA-reads_rev.fastq + rm rRNA-reads_fwd.fastq + rm rRNA-reads_rev.fastq """ } } diff --git a/SortMeRNA/4.3.3/SortMeRNA.nf b/SortMeRNA/4.3.3/SortMeRNA.nf new file mode 100755 index 00000000..3e3dfac7 --- /dev/null +++ b/SortMeRNA/4.3.3/SortMeRNA.nf @@ -0,0 +1,56 @@ +process SortMeRNA { + tag {"SortMeRNA ${sample_id}"} + label 'SortMeRNA_4_3_3' + container = 'quay.io/biocontainers/sortmerna:4.3.3--h9ee0642_0' + shell = ['/bin/bash', '-euo', 'pipefail'] + + input: + tuple(sample_id, rg_id, path(fastq_files)) + path(db_fasta) + + + output: + tuple(sample_id, rg_id, path("*_non_rRNA.fastq.gz"), emit: non_rRNA_fastqs) + path("*_filtered_rRNA.fastq.gz", emit: rRNA_fastqs) + path("*_rRNA_report.txt", emit: qc_report) + + script: + def Refs = db_fasta.collect{ "$it" }.join(" -ref ") + def report_title = fastq_files[0].simpleName.split("_R1_")[0] + if (params.singleEnd) { + """ + sortmerna -ref ${Refs} \ + -reads ${fastq_files} \ + --num_alignments 1 \ + --threads ${task.cpus} \ + --fastx \ + -workdir \${PWD} \ + --aligned rRNA-reads \ + --other non-rRNA-reads \ + --zip-out + + mv non-rRNA-reads.fq.gz ${fastq_files[0].simpleName}_non_rRNA.fastq.gz + mv rRNA-reads.fq.gz ${fastq_files[0].simpleName}_filtered_rRNA.fastq.gz + mv rRNA-reads.log ${report_title}_rRNA_report.txt + """ + } else { + """ + sortmerna -ref ${Refs} \ + -reads ${fastq_files[0]} -reads ${fastq_files[1]} \ + --num_alignments 1 \ + --threads ${task.cpus} \ + -workdir \${PWD} \ + --fastx -paired_in \ + --aligned rRNA-reads \ + --other non-rRNA-reads \ + -out2 \ + --zip-out + + mv non-rRNA-reads_fwd.fq.gz ${fastq_files[0].simpleName}_non_rRNA.fastq.gz + mv non-rRNA-reads_rev.fq.gz ${fastq_files[1].simpleName}_non_rRNA.fastq.gz + mv rRNA-reads_fwd.fq.gz ${fastq_files[0].simpleName}_filtered_rRNA.fastq.gz + mv rRNA-reads_rev.fq.gz ${fastq_files[1].simpleName}_filtered_rRNA.fastq.gz + mv rRNA-reads.log ${report_title}_rRNA_report.txt + """ + } +} From 6afbe6f03236dcd53f9913b39d9ede4a53ddaf6f Mon Sep 17 00:00:00 2001 From: Flip Mulder Date: Sun, 14 Nov 2021 09:35:18 +0100 Subject: [PATCH 08/10] SortmeRNA 4.3.3 update, SortmeRNA 4.2.0 tmp space optimization and general style consistency changes --- Fastp/0.14.1/Fastp.nf | 2 +- Fastp/0.20.1/Fastp.nf | 2 +- STARFusion/1.8.1/STARFusion.nf | 2 +- Salmon/1.2.1/Quant.nf | 8 ++++---- SortMeRNA/4.2.0/SortMeRNA.nf | 2 +- SortMeRNA/4.3.3/SortMeRNA.nf | 9 ++++----- Subread/2.0.0/FeatureCounts.nf | 2 +- TrimGalore/0.6.5/TrimGalore.nf | 2 +- Utils/MergeFastqLanes.nf | 2 +- 9 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Fastp/0.14.1/Fastp.nf b/Fastp/0.14.1/Fastp.nf index 8e1d9405..acb1c93f 100644 --- a/Fastp/0.14.1/Fastp.nf +++ b/Fastp/0.14.1/Fastp.nf @@ -13,7 +13,7 @@ process Fastp { script: //adapted from https://github.com/nf-core/eager/blob/master/LICENSE, Copyright (c) Alexander Peltzer, Stephen Clayton, James A. Fellows Yates, Maxime Borry - if (params.singleEnd) { + if (params.single_end) { """ fastp --in1 ${fastq_files[0]} --out1 "${fastq_files[0].simpleName}.trim.fastq.gz" -j ${sample_id}_fastp.json ${params.optional} """ diff --git a/Fastp/0.20.1/Fastp.nf b/Fastp/0.20.1/Fastp.nf index 90f1b99a..2c6112b9 100644 --- a/Fastp/0.20.1/Fastp.nf +++ b/Fastp/0.20.1/Fastp.nf @@ -13,7 +13,7 @@ process Fastp { script: //adapted from https://github.com/nf-core/eager/blob/master/LICENSE, Copyright (c) Alexander Peltzer, Stephen Clayton, James A. Fellows Yates, Maxime Borry - if (params.singleEnd) { + if (params.single_end) { """ fastp --in1 ${fastq_files[0]} --out1 "${fastq_files[0].simpleName}_trim.fastq.gz" -j ${sample_id}_fastp.json ${params.optional} """ diff --git a/STARFusion/1.8.1/STARFusion.nf b/STARFusion/1.8.1/STARFusion.nf index 8404928a..e042ffcd 100644 --- a/STARFusion/1.8.1/STARFusion.nf +++ b/STARFusion/1.8.1/STARFusion.nf @@ -17,7 +17,7 @@ process STARFusion { script: //Adapted code from: https://github.com/nf-core/rnafusion - MIT License - Copyright (c) Martin Proks def avail_mem = task.memory ? "--limitGenomeGenerateRAM ${task.memory.toBytes() - 100000000}" : '' - def read_args = params.singleEnd ? "--left_fq ${fastq_files[0]}" : "--left_fq ${fastq_files[0]} --right_fq ${fastq_files[1]}" + def read_args = params.single_end ? "--left_fq ${fastq_files[0]}" : "--left_fq ${fastq_files[0]} --right_fq ${fastq_files[1]}" """ STAR \ --genomeDir ${star_index} \ diff --git a/Salmon/1.2.1/Quant.nf b/Salmon/1.2.1/Quant.nf index 0093d7ba..e88a8232 100644 --- a/Salmon/1.2.1/Quant.nf +++ b/Salmon/1.2.1/Quant.nf @@ -14,13 +14,13 @@ process Quant { script: //Adapted code from: https://github.com/nf-core/rnaseq - MIT License - Copyright (c) Phil Ewels, Rickard Hammarén - def rnastrandness = params.singleEnd ? 'U' : 'IU' + def rnastrandness = params.single_end ? 'U' : 'IU' if (params.stranded && !params.unstranded) { - rnastrandness = params.singleEnd ? 'SF' : 'ISF' + rnastrandness = params.single_end ? 'SF' : 'ISF' } else if (params.revstranded && !params.unstranded) { - rnastrandness = params.singleEnd ? 'SR' : 'ISR' + rnastrandness = params.single_end ? 'SR' : 'ISR' } - def endedness = params.singleEnd ? "-r ${fastq_files[0]}" : "-1 ${fastq_files[0]} -2 ${fastq_files[1]}" + def endedness = params.single_end ? "-r ${fastq_files[0]}" : "-1 ${fastq_files[0]} -2 ${fastq_files[1]}" def unmapped = params.saveUnaligned ? "--writeUnmappedNames" : '' """ diff --git a/SortMeRNA/4.2.0/SortMeRNA.nf b/SortMeRNA/4.2.0/SortMeRNA.nf index 29bd0b9a..ed244bc0 100644 --- a/SortMeRNA/4.2.0/SortMeRNA.nf +++ b/SortMeRNA/4.2.0/SortMeRNA.nf @@ -17,7 +17,7 @@ process SortMeRNA { script: def Refs = db_fasta.collect{ "$it" }.join(" -ref ") def report_title = fastq_files[0].simpleName.split("_R1_")[0] - if (params.singleEnd) { + if (params.single_end) { """ sortmerna -ref ${Refs} \ -reads ${fastq_files} \ diff --git a/SortMeRNA/4.3.3/SortMeRNA.nf b/SortMeRNA/4.3.3/SortMeRNA.nf index 3e3dfac7..ba669781 100755 --- a/SortMeRNA/4.3.3/SortMeRNA.nf +++ b/SortMeRNA/4.3.3/SortMeRNA.nf @@ -8,18 +8,17 @@ process SortMeRNA { tuple(sample_id, rg_id, path(fastq_files)) path(db_fasta) - output: tuple(sample_id, rg_id, path("*_non_rRNA.fastq.gz"), emit: non_rRNA_fastqs) path("*_filtered_rRNA.fastq.gz", emit: rRNA_fastqs) path("*_rRNA_report.txt", emit: qc_report) script: - def Refs = db_fasta.collect{ "$it" }.join(" -ref ") + def refs = db_fasta.collect{ "$it" }.join(" -ref ") def report_title = fastq_files[0].simpleName.split("_R1_")[0] - if (params.singleEnd) { + if (params.single_end) { """ - sortmerna -ref ${Refs} \ + sortmerna -ref ${refs} \ -reads ${fastq_files} \ --num_alignments 1 \ --threads ${task.cpus} \ @@ -35,7 +34,7 @@ process SortMeRNA { """ } else { """ - sortmerna -ref ${Refs} \ + sortmerna -ref ${refs} \ -reads ${fastq_files[0]} -reads ${fastq_files[1]} \ --num_alignments 1 \ --threads ${task.cpus} \ diff --git a/Subread/2.0.0/FeatureCounts.nf b/Subread/2.0.0/FeatureCounts.nf index 0392a587..32aad9b8 100644 --- a/Subread/2.0.0/FeatureCounts.nf +++ b/Subread/2.0.0/FeatureCounts.nf @@ -21,7 +21,7 @@ process FeatureCounts { def bam_list = bam_file.collect{ "$it" }.join(" ") def biotype = params.gencode ? "gene_type" : params.fc_group_features_type def extraAttributes = params.fc_extra_attributes ? "--extraAttributes ${params.fc_extra_attributes}" : '' - def fragment_mode = !params.singleEnd ? "-p": '' + def fragment_mode = !params.single_end ? "-p": '' //Get strandedness def featureCounts_direction = 0 if (params.stranded && !params.unstranded) { diff --git a/TrimGalore/0.6.5/TrimGalore.nf b/TrimGalore/0.6.5/TrimGalore.nf index 184e9482..66b8b332 100644 --- a/TrimGalore/0.6.5/TrimGalore.nf +++ b/TrimGalore/0.6.5/TrimGalore.nf @@ -13,7 +13,7 @@ process TrimGalore { path("*_fastqc.{zip,html}", optional: true, emit: fastqc_report) script: - if (params.singleEnd) { + if (params.single_end) { """ trim_galore ${fastq_files} --gzip ${params.optional} mv ${fastq_files[0].simpleName}_trimmed.fq.gz ${fastq_files[0].simpleName}_trimmed.fastq.gz diff --git a/Utils/MergeFastqLanes.nf b/Utils/MergeFastqLanes.nf index 56bb746f..6ae29345 100644 --- a/Utils/MergeFastqLanes.nf +++ b/Utils/MergeFastqLanes.nf @@ -14,7 +14,7 @@ process MergeFastqLanes { barcode = rg_id.split('_')[1] def R1_pattern="${sample_id}_*_S*_L00*_R1_001*.fastq.gz" def R2_pattern="${sample_id}_*_S*_L00*_R2_001*.fastq.gz" - if (params.singleEnd) { + if (params.single_end) { """ cat \$( ls ${R1_pattern} | sort | paste \$(printf "%0.s- " \$(seq 1 \$( ls ${R1_pattern} | wc -l)))) > ${sample_id}_${barcode}_merged_R1.fastq.gz """ From 5ebbe2bdeaf28d87f273fb01583a9dbf065e8a18 Mon Sep 17 00:00:00 2001 From: Flip Mulder Date: Sun, 14 Nov 2021 10:36:46 +0100 Subject: [PATCH 09/10] Add inital Pandocker MarkdownToPdf module --- Pandocker/21.02/MarkdownToPdf.nf | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 Pandocker/21.02/MarkdownToPdf.nf diff --git a/Pandocker/21.02/MarkdownToPdf.nf b/Pandocker/21.02/MarkdownToPdf.nf new file mode 100644 index 00000000..244a6ae1 --- /dev/null +++ b/Pandocker/21.02/MarkdownToPdf.nf @@ -0,0 +1,24 @@ +process MarkdownToPdf { + tag {"Pandocker MarkdownToPdf"} + label 'Pandocker_21_02' + label 'Pandocker_21_02_MarkdownToPdf' + + container = 'library://dalibo/pandocker:v21.02' + shell = ['/bin/bash', '-euo', 'pipefail'] + + input: + path(md_file) + + output: + file "output.pdf" + + script: + """ + pandoc ${md_file} + --variable urlcolor=blue \ + -s \ + --toc \ + -f markdown \ + -o output.pdf + """ +} From 4ecf2a1c92b73a200934dd8524db9a7f50b8356c Mon Sep 17 00:00:00 2001 From: Flip Mulder Date: Wed, 17 Nov 2021 23:28:35 +0100 Subject: [PATCH 10/10] Implement requested changes to Pandocker module --- Pandocker/21.02/MarkdownToPdf.nf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Pandocker/21.02/MarkdownToPdf.nf b/Pandocker/21.02/MarkdownToPdf.nf index 244a6ae1..275f6d78 100644 --- a/Pandocker/21.02/MarkdownToPdf.nf +++ b/Pandocker/21.02/MarkdownToPdf.nf @@ -10,15 +10,15 @@ process MarkdownToPdf { path(md_file) output: - file "output.pdf" + path("${md_file.baseName}.pdf") script: """ - pandoc ${md_file} + pandoc ${md_file} \ --variable urlcolor=blue \ -s \ --toc \ -f markdown \ - -o output.pdf + -o ${md_file.baseName}.pdf """ }