diff --git a/src/nf_modules/bwa/main.nf b/src/nf_modules/bwa/main.nf index 184192c1d6627d4a3fd7b922428174909daab2ec..047d2a51685094d32ec369522be667ca40297ce4 100644 --- a/src/nf_modules/bwa/main.nf +++ b/src/nf_modules/bwa/main.nf @@ -1,13 +1,16 @@ version = "0.7.17" container_url = "lbmc/bwa:${version}" -params.index_fasta = "" -params.mapping_fastq = "" +params.index_fasta = "" +params.index_fasta_out = "" process index_fasta { container = "${container_url}" label "big_mem_mono_cpus" tag "$file_id" + if (params.index_fasta_out != "") { + publishDir "results/${params.index_fasta_out}", mode: 'copy' + } input: tuple val(file_id), path(fasta) @@ -24,10 +27,15 @@ bwa index ${params.index_fastq} -p ${fasta.simpleName} ${fasta} \ } +params.mapping_fastq = "" +params.mapping_fastq_out = "" process mapping_fastq { container = "${container_url}" label "big_mem_multi_cpus" tag "$file_id" + if (params.mapping_fastq_out != "") { + publishDir "results/${params.mapping_fastq_out}", mode: 'copy' + } input: tuple val(file_id), path(reads) @@ -38,32 +46,36 @@ process mapping_fastq { tuple val(file_id), path("${id}_bwa_report.txt"), emit: report script: -if (file_id.containsKey('library')) { - library = file_id.library - id = file_id.id -} else { - library = file_id - id = file_id -} + if (file_id instanceof List){ + file_prefix = file_id[0] + if (file_id.containsKey('library')) { + library = file_id.library + file_prefix = file_id.id + } else { + library = file_id + file_prefix = file_id + } + } else { + file_prefix = file_id + } bwa_mem_R = "@RG\\tID:${library}\\tSM:${library}\\tLB:lib_${library}\\tPL:illumina" -if (reads instanceof List) + if (reads.size() == 2) """ bwa mem -t ${task.cpus} \ ${params.mapping_fastq} \ -R '${bwa_mem_R}' \ ${index_id} ${reads[0]} ${reads[1]} 2> \ - ${id}_bwa_report.txt | \ - samtools view -@ ${task.cpus} -Sb - > ${id}.bam + ${file_prefix}_bwa_report.txt | \ + samtools view -@ ${task.cpus} -Sb - > ${file_prefix}.bam """ -else - + else if (reads.size() == 1) """ bwa mem -t ${task.cpus} \ ${params.mapping_fastq} \ -R '${bwa_mem_R}' \ ${index_id} ${reads} 2> \ - ${id}_bwa_report.txt | \ - samtools view -@ ${task.cpus} -Sb - > ${id}.bam + ${file_prefix}_bwa_report.txt | \ + samtools view -@ ${task.cpus} -Sb - > ${file_prefix}.bam """ }