diff --git a/conf/modules.config b/conf/modules.config index 52bc407..fdc4e41 100755 --- a/conf/modules.config +++ b/conf/modules.config @@ -51,7 +51,14 @@ process { publishDir = [ path: { "${params.outdir}/mapping-bp" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + saveAs: { filename -> + if (filename.equals('versions.yml')){ null } + else if (filename.endsWith('.bam') || filename.endsWith('.bam.bai')){ + if ( params.keep_big_files == true ) { filename } + else { null } + } + else { filename } + } ] } withName: SAMTOOLS_DEPTH { @@ -59,7 +66,14 @@ process { publishDir = [ path: { "${params.outdir}/mapping-bp" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + saveAs: { filename -> + if (filename.equals('versions.yml')){ null } + else if ( filename.endsWith('bp-depth.tsv') ){ + if ( params.keep_big_files == true ) { filename } + else { null } + } + else { filename } + } ] } withName: HS_FLAGSTAT { @@ -81,17 +95,24 @@ process { withName: HS_FASTQ { ext.args = '-N' ext.suffix = 'hs-unmapped.' - ext.filt = 'hs-unmapped.' + ext.filt = 'hs-unmapped' publishDir = [ path: { "${params.outdir}/mapping-hs" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + saveAs: { filename -> + if (filename.equals('versions.yml')){ null } + else if ( filename.endsWith('fastq.gz') ){ + if ( params.keep_big_files == true ) { filename } + else { null } + } + else { filename } + } ] } withName: BP_FASTQ { ext.args = '-N' ext.suffix = 'bp-mapped.' - ext.filt = 'filtered.' + ext.filt = 'filtered' publishDir = [ path: { "${params.outdir}/filteredreads" }, mode: params.publish_dir_mode, @@ -111,7 +132,14 @@ process { publishDir = [ path: { "${params.outdir}/mapping-hs" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + saveAs: { filename -> + if (filename.equals('versions.yml')){ null } + else if ( filename.endsWith('.bam') ){ + if ( params.keep_big_files == true ) { filename } + else { null } + } + else { filename } + } ] } withName: BP_ALIGN { @@ -119,7 +147,14 @@ process { publishDir = [ path: { "${params.outdir}/mapping-bp" }, mode: params.publish_dir_mode, - saveAs: { filename -> filename.equals('versions.yml') ? null : filename } + saveAs: { filename -> + if (filename.equals('versions.yml')){ null } + else if (filename.endsWith('.bam')){ + if ( params.keep_big_files == true ) { filename } + else { null } + } + else { filename } + } ] } withName: BLASTN_PAIRWISE { diff --git a/modules/nf-core/modules/nf-core/samtools/fastq/main.nf b/modules/nf-core/modules/nf-core/samtools/fastq/main.nf index 6e55950..136374f 100644 --- a/modules/nf-core/modules/nf-core/samtools/fastq/main.nf +++ b/modules/nf-core/modules/nf-core/samtools/fastq/main.nf @@ -12,7 +12,7 @@ process SAMTOOLS_FASTQ { val(interleave) output: - tuple val(meta), path("*.R{1,2}.fastq.gz") , optional:true, emit: fastq + tuple val(meta), path("*_R{1,2}_*.fastq.gz") , optional:true, emit: fastq tuple val(meta), path("*_interleaved.fastq.gz"), optional:true, emit: interleaved tuple val(meta), path("*_singleton.fastq.gz") , optional:true, emit: singleton tuple val(meta), path("*_other.fastq.gz") , optional:true, emit: other @@ -28,7 +28,7 @@ process SAMTOOLS_FASTQ { def filt = task.ext.filt ?: '' def output = ( interleave && ! meta.single_end ) ? "> ${prefix}_interleaved.fastq.gz" : meta.single_end ? "-1 ${prefix}_1.fastq.gz -s ${prefix}_singleton.fastq.gz" : - "-1 ${prefix}.${filt}R1.fastq.gz -2 ${prefix}.${filt}R2.fastq.gz" // -s ${prefix}_singleton.fastq.gz" + "-1 ${prefix}_R1_${filt}.fastq.gz -2 ${prefix}_R2_${filt}.fastq.gz" // -s ${prefix}_singleton.fastq.gz" """ samtools sort -n --threads ${task.cpus-1} $input -o ${prefix}.${suffix}namesort.bam samtools \\ diff --git a/nextflow.config b/nextflow.config index 0dc5930..64bea69 100755 --- a/nextflow.config +++ b/nextflow.config @@ -20,6 +20,7 @@ params { genome = null igenomes_base = 's3://ngi-igenomes/igenomes' igenomes_ignore = false + keep_big_files = false // option to keep mapping results // MultiQC options multiqc_config = null diff --git a/nextflow_schema.json b/nextflow_schema.json index 251af89..4d04e53 100755 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -41,6 +41,12 @@ "type": "string", "description": "MultiQC report title. Printed as page header, used for filename if not otherwise specified.", "fa_icon": "fas fa-file-signature" + }, + "keep_big_files": { + "type": "boolean", + "description": "Option to keep large intermediate *bam and *fastq files.", + "default": false, + "fa_icon": "fas fa-floppy-disk" } } },