From 8b86406b42f2a1f464f473bc664825ea9e9a6c2b Mon Sep 17 00:00:00 2001 From: Jennifer Neumaier Date: Thu, 9 Apr 2026 13:18:05 +0200 Subject: [PATCH 1/2] fixed issue in 03_index that required a sorted bam file before indexing --- modules/02_star.nf | 2 +- modules/03_index.nf | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/02_star.nf b/modules/02_star.nf index 2c2a3f0..cab7122 100644 --- a/modules/02_star.nf +++ b/modules/02_star.nf @@ -18,7 +18,7 @@ process STAR { script: two_pass_mode_param = params.star_two_pass_mode ? "--twopassMode Basic" : "" - sort = params.star_sort_by_coordinate ? "SortedByCoordinate" : "" + sort = params.star_sort_by_coordinate ? "SortedByCoordinate" : "Unsorted" """ STAR --genomeDir ${reference} ${two_pass_mode_param} ${params.additional_args} \ --readFilesCommand "gzip -d -c -f" \ diff --git a/modules/03_index.nf b/modules/03_index.nf index 7162aef..4ce15bf 100644 --- a/modules/03_index.nf +++ b/modules/03_index.nf @@ -16,9 +16,19 @@ process INDEX_BAM { file("software_versions.INDEX_BAM.txt") """ - samtools index -@ ${task.cpus} ${bam} + + samtools sort \ + -@ ${task.cpus} \ + -o ${name}.sorted.bam ${bam} + + samtools index \ + -@ ${task.cpus} ${name}.sorted.bam + + mv ${name}.sorted.bam.bai ${name}.bam.bai + + rm -f ${name}.sorted.bam echo ${params.manifest} >> software_versions.INDEX_BAM.txt samtools --version >> software_versions.INDEX_BAM.txt """ -} +} \ No newline at end of file From 9f1fcd0557628f142f917903266f24f6771026e7 Mon Sep 17 00:00:00 2001 From: Jennifer Neumaier Date: Fri, 10 Apr 2026 14:44:01 +0200 Subject: [PATCH 2/2] added fix to handle automatic sorting of bam files were created by STAR alignment --- modules/02_star.nf | 18 +++++++++++++++--- modules/03_index.nf | 12 +----------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/modules/02_star.nf b/modules/02_star.nf index cab7122..9c9b620 100644 --- a/modules/02_star.nf +++ b/modules/02_star.nf @@ -32,7 +32,13 @@ process STAR { --runThreadN ${task.cpus} \ --outFileNamePrefix ${name}. - mv ${name}.Aligned*.out.bam ${name}.bam + # Handle sorting conditionally + if [ "${sort}" = "Unsorted" ]; then + samtools sort -@ ${task.cpus} -o ${name}.Aligned.SamtoolsSorted.out.bam ${name}.Aligned.out.bam + mv ${name}.Aligned.SamtoolsSorted.out.bam ${name}.bam + else + mv ${name}.Aligned.sortedByCoord.out.bam ${name}.bam + fi echo ${params.manifest} >> software_versions.STAR.txt STAR --version >> software_versions.STAR.txt @@ -58,7 +64,7 @@ process STAR_SE { script: two_pass_mode_param = params.star_two_pass_mode ? "--twopassMode Basic" : "" - sort = params.star_sort_by_coordinate ? "SortedByCoordinate" : "" + sort = params.star_sort_by_coordinate ? "SortedByCoordinate" : "Unsorted" """ STAR --genomeDir ${reference} ${two_pass_mode_param} ${params.additional_args} \ --readFilesCommand "gzip -d -c -f" \ @@ -72,7 +78,13 @@ process STAR_SE { --runThreadN ${task.cpus} \ --outFileNamePrefix ${name}. - mv ${name}.Aligned*.out.bam ${name}.bam + # Handle sorting conditionally + if [ "${sort}" = "Unsorted" ]; then + samtools sort -@ ${task.cpus} -o ${name}.Aligned.SamtoolsSorted.out.bam ${name}.Aligned.out.bam + mv ${name}.Aligned.SamtoolsSorted.out.bam ${name}.bam + else + mv ${name}.Aligned.sortedByCoord.out.bam ${name}.bam + fi echo ${params.manifest} >> software_versions.STAR_SE.txt STAR --version >> software_versions.STAR_SE.txt diff --git a/modules/03_index.nf b/modules/03_index.nf index 4ce15bf..1ba4df6 100644 --- a/modules/03_index.nf +++ b/modules/03_index.nf @@ -16,17 +16,7 @@ process INDEX_BAM { file("software_versions.INDEX_BAM.txt") """ - - samtools sort \ - -@ ${task.cpus} \ - -o ${name}.sorted.bam ${bam} - - samtools index \ - -@ ${task.cpus} ${name}.sorted.bam - - mv ${name}.sorted.bam.bai ${name}.bam.bai - - rm -f ${name}.sorted.bam + samtools index -@ ${task.cpus} ${bam} echo ${params.manifest} >> software_versions.INDEX_BAM.txt samtools --version >> software_versions.INDEX_BAM.txt