diff --git a/modules/nf-core/umicollapse/tests/main.nf.test.snap b/modules/nf-core/umicollapse/tests/main.nf.test.snap index 900ff08fcf75..6bbe1603a517 100644 --- a/modules/nf-core/umicollapse/tests/main.nf.test.snap +++ b/modules/nf-core/umicollapse/tests/main.nf.test.snap @@ -14,6 +14,10 @@ "versions.yml:md5,c1e0275d81b1c97a9344d216f9154996" ] ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, "timestamp": "2024-01-30T10:45:28.352669757" }, "umicollapse fastq tests": { @@ -31,6 +35,10 @@ "versions.yml:md5,c1e0275d81b1c97a9344d216f9154996" ] ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, "timestamp": "2024-01-30T10:45:56.053352008" }, "umicollapse stub tests": { @@ -86,6 +94,10 @@ ] } ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, "timestamp": "2024-01-30T10:46:12.482697713" }, "umicollapse paired tests": { @@ -103,6 +115,10 @@ "versions.yml:md5,c1e0275d81b1c97a9344d216f9154996" ] ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, "timestamp": "2024-01-30T10:45:44.961261065" } } \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_align_star/main.nf b/subworkflows/nf-core/fastq_align_star/main.nf index 8c11057e1c0a..5208042bce8d 100644 --- a/subworkflows/nf-core/fastq_align_star/main.nf +++ b/subworkflows/nf-core/fastq_align_star/main.nf @@ -1,5 +1,7 @@ -include { STAR_ALIGN } from '../../../modules/nf-core/star/align/main' -include { BAM_SORT_STATS_SAMTOOLS } from '../bam_sort_stats_samtools/main' +include { STAR_ALIGN } from '../../../modules/nf-core/star/align/main' +include { BAM_SORT_STATS_SAMTOOLS as BAM_SORT_STATS_SAMTOOLS_GENOME } from '../bam_sort_stats_samtools/main' +include { BAM_SORT_STATS_SAMTOOLS as BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME } from '../bam_sort_stats_samtools/main' + workflow FASTQ_ALIGN_STAR { @@ -11,6 +13,7 @@ workflow FASTQ_ALIGN_STAR { val_seq_platform // string : sequencing platform val_seq_center // string : sequencing center ch_fasta // channel: [ val(meta), path(fasta) ] + ch_transcripts_fasta // channel: [ path(fasta) ] main: @@ -25,25 +28,40 @@ workflow FASTQ_ALIGN_STAR { // // Sort, index BAM file and run samtools stats, flagstat and idxstats // - BAM_SORT_STATS_SAMTOOLS ( STAR_ALIGN.out.bam, ch_fasta ) - ch_versions = ch_versions.mix(BAM_SORT_STATS_SAMTOOLS.out.versions) + BAM_SORT_STATS_SAMTOOLS_GENOME ( STAR_ALIGN.out.bam, ch_fasta ) + ch_versions = ch_versions.mix(BAM_SORT_STATS_SAMTOOLS_GENOME.out.versions) + + // + // Sort, index BAM file and run samtools stats, flagstat and idxstats + // + // Only runs when '--quantMode TranscriptomeSAM' is set in args and + // STAR_ALIGN.out.bam_transcript is populated + // + + BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME ( STAR_ALIGN.out.bam_transcript, ch_transcripts_fasta.map{[[:], it]} ) emit: - orig_bam = STAR_ALIGN.out.bam // channel: [ val(meta), path(bam) ] - log_final = STAR_ALIGN.out.log_final // channel: [ val(meta), path(log_final) ] - log_out = STAR_ALIGN.out.log_out // channel: [ val(meta), path(log_out) ] - log_progress = STAR_ALIGN.out.log_progress // channel: [ val(meta), path(log_progress) ] - bam_sorted = STAR_ALIGN.out.bam_sorted // channel: [ val(meta), path(bam) ] - bam_transcript = STAR_ALIGN.out.bam_transcript // channel: [ val(meta), path(bam) ] - fastq = STAR_ALIGN.out.fastq // channel: [ val(meta), path(fastq) ] - tab = STAR_ALIGN.out.tab // channel: [ val(meta), path(tab) ] - - bam = BAM_SORT_STATS_SAMTOOLS.out.bam // channel: [ val(meta), path(bam) ] - bai = BAM_SORT_STATS_SAMTOOLS.out.bai // channel: [ val(meta), path(bai) ] - stats = BAM_SORT_STATS_SAMTOOLS.out.stats // channel: [ val(meta), path(stats) ] - flagstat = BAM_SORT_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), path(flagstat) ] - idxstats = BAM_SORT_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), path(idxstats) ] - - versions = ch_versions // channel: [ path(versions.yml) ] + orig_bam = STAR_ALIGN.out.bam // channel: [ val(meta), path(bam) ] + log_final = STAR_ALIGN.out.log_final // channel: [ val(meta), path(log_final) ] + log_out = STAR_ALIGN.out.log_out // channel: [ val(meta), path(log_out) ] + log_progress = STAR_ALIGN.out.log_progress // channel: [ val(meta), path(log_progress) ] + bam_sorted = STAR_ALIGN.out.bam_sorted // channel: [ val(meta), path(bam) ] + fastq = STAR_ALIGN.out.fastq // channel: [ val(meta), path(fastq) ] + tab = STAR_ALIGN.out.tab // channel: [ val(meta), path(tab) ] + orig_bam_transcript = STAR_ALIGN.out.bam_transcript // channel: [ val(meta), path(bam) ] + + bam = BAM_SORT_STATS_SAMTOOLS_GENOME.out.bam // channel: [ val(meta), path(bam) ] + bai = BAM_SORT_STATS_SAMTOOLS_GENOME.out.bai // channel: [ val(meta), path(bai) ] + stats = BAM_SORT_STATS_SAMTOOLS_GENOME.out.stats // channel: [ val(meta), path(stats) ] + flagstat = BAM_SORT_STATS_SAMTOOLS_GENOME.out.flagstat // channel: [ val(meta), path(flagstat) ] + idxstats = BAM_SORT_STATS_SAMTOOLS_GENOME.out.idxstats // channel: [ val(meta), path(idxstats) ] + + bam_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.bam // channel: [ val(meta), path(bam) ] + bai_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.bai // channel: [ val(meta), path(bai) ] + stats_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.stats // channel: [ val(meta), path(stats) ] + flagstat_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.flagstat // channel: [ val(meta), path(flagstat) ] + idxstats_transcript = BAM_SORT_STATS_SAMTOOLS_TRANSCRIPTOME.out.idxstats // channel: [ val(meta), path(idxstats) ] + + versions = ch_versions // channel: [ path(versions.yml) ] } diff --git a/subworkflows/nf-core/fastq_align_star/meta.yml b/subworkflows/nf-core/fastq_align_star/meta.yml index aaa95b009eca..796d3e4b6176 100644 --- a/subworkflows/nf-core/fastq_align_star/meta.yml +++ b/subworkflows/nf-core/fastq_align_star/meta.yml @@ -46,6 +46,10 @@ input: type: file description: Reference genome fasta file pattern: "*.{fasta,fa,fna}" + - ch_transcripts_fasta: + type: file + description: Optional reference genome fasta file + pattern: "*.{fasta,fa,fna}" output: - orig_bam: description: | @@ -67,7 +71,7 @@ output: description: | Sorted BAM file of read alignments (optional) Structure: [ val(meta), path(bam) ] - - bam_transcript: + - orig_bam_transcript: description: | Output BAM file of transcriptome alignment (optional) Structure: [ val(meta), path(bam) ] @@ -79,10 +83,6 @@ output: description: | STAR output tab file(s) (optional) Structure: [ val(meta), path(tab) ] - - stats: - description: | - File containing samtools stats output - Structure: [ val(meta), path(stats) ] - bam: description: | BAM file ordered by samtools @@ -91,6 +91,10 @@ output: description: | BAI index of the ordered BAM file Structure: [ val(meta), path(bai) ] + - stats: + description: | + File containing samtools stats output + Structure: [ val(meta), path(stats) ] - flagstat: description: | File containing samtools flagstat output @@ -99,6 +103,26 @@ output: description: | File containing samtools idxstats output Structure: [ val(meta), path(idxstats) ] + - bam_transcript: + description: | + Transcriptome-level BAM file ordered by samtools (optional) + Structure: [ val(meta), path(bam) ] + - bai_transcript: + description: | + Transcriptome-level BAI index of the ordered BAM file (optional) + Structure: [ val(meta), path(bai) ] + - stats_transcript: + description: | + Transcriptome-level file containing samtools stats output (optional) + Structure: [ val(meta), path(stats) ] + - flagstat_transcript: + description: | + Transcriptome-level file containing samtools flagstat output (optional) + Structure: [ val(meta), path(flagstat) ] + - idxstats_transcript: + description: | + Transcriptome-level file containing samtools idxstats output (optional) + Structure: [ val(meta), path(idxstats) ] - versions: type: file description: File containing software versions diff --git a/subworkflows/nf-core/fastq_align_star/tests/main.nf.test b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test new file mode 100644 index 000000000000..e9c6f25ded59 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test @@ -0,0 +1,262 @@ +nextflow_workflow { + + name "Test Subworkflow FASTQ_ALIGN_STAR" + script "../main.nf" + workflow "FASTQ_ALIGN_STAR" + + tag "subworkflows" + tag "subworkflows_nfcore" + tag "subworkflows/fastq_align_star" + tag "star/align" + tag "star/genomegenerate" + tag "rsem/preparereference" + tag "subworkflows/bam_sort_stats_samtools" + + setup { + run("STAR_GENOMEGENERATE") { + script "../../../../modules/nf-core/star/genomegenerate/main.nf" + process { + """ + input[0] = Channel.of([ + [ id:'test_fasta' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[1] = Channel.of([ + [ id:'test_gtf' ], + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + """ + } + } + } + + test("homo_sapiens - fastq - single_end") { + config "./nextflow.config" + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:true ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true) ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = true // star_ignore_sjdbgtf + input[4] = 'illumina' // seq_platform + input[5] = false // seq_center + input[6] = Channel.of([ + [ id:'test_fasta' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[7] = Channel.of([]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out.orig_bam).match('orig_bam_single_end')}, + { assert snapshot(workflow.out.bam_sorted).match('bam_sorted_single_end')}, + { assert snapshot(workflow.out.fastq).match('fastq_single_end')}, + { assert snapshot(workflow.out.tab).match('tab_single_end')}, + { assert snapshot(workflow.out.orig_bam_transcript).match('orig_bam_transcript_single_end')}, + { assert snapshot(workflow.out.bam).match('bam_single_end')}, + { assert snapshot(workflow.out.bai).match('bai_single_end')}, + { assert snapshot(workflow.out.stats).match('stats_single_end')}, + { assert snapshot(workflow.out.flagstat).match('flagstat_single_end')}, + { assert snapshot(workflow.out.idxstats).match('idxstats_single_end')}, + { assert snapshot(workflow.out.bam_transcript).match('bam_transcript_single_end')}, + { assert snapshot(workflow.out.bai_transcript).match('bai_transcript_single_end')}, + { assert snapshot(workflow.out.stats_transcript).match('stats_transcript_single_end')}, + { assert snapshot(workflow.out.flagstat_transcript).match('flagstat_transcript_single_end')}, + { assert snapshot(workflow.out.idxstats_transcript).match('idxstats_transcript_single_end')}, + { assert path(workflow.out.log_out.get(0).get(1)).exists() }, + { assert path(workflow.out.log_final.get(0).get(1)).exists() }, + { assert path(workflow.out.log_progress.get(0).get(1)).exists() } + ) + } + } + + test("homo_sapiens - fastq - paired_end") { + config "./nextflow.config" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = true // star_ignore_sjdbgtf + input[4] = 'illumina' // seq_platform + input[5] = false // seq_center + input[6] = Channel.of([ + [ id:'test_fasta' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[7] = Channel.of([]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out.orig_bam).match('orig_bam_paired_end')}, + { assert snapshot(workflow.out.bam_sorted).match('bam_sorted_paired_end')}, + { assert snapshot(workflow.out.fastq).match('fastq_paired_end')}, + { assert snapshot(workflow.out.tab).match('tab_paired_end')}, + { assert snapshot(workflow.out.orig_bam_transcript).match('orig_bam_transcript_paired_end')}, + { assert snapshot(workflow.out.bam).match('bam_paired_end')}, + { assert snapshot(workflow.out.bai).match('bai_paired_end')}, + { assert snapshot(workflow.out.stats).match('stats_paired_end')}, + { assert snapshot(workflow.out.flagstat).match('flagstat_paired_end')}, + { assert snapshot(workflow.out.idxstats).match('idxstats_paired_end')}, + { assert snapshot(workflow.out.bam_transcript).match('bam_transcript_paired_end')}, + { assert snapshot(workflow.out.bai_transcript).match('bai_transcript_paired_end')}, + { assert snapshot(workflow.out.stats_transcript).match('stats_transcript_paired_end')}, + { assert snapshot(workflow.out.flagstat_transcript).match('flagstat_transcript_paired_end')}, + { assert snapshot(workflow.out.idxstats_transcript).match('idxstats_transcript_paired_end')}, + { assert snapshot(workflow.out.idxstats_transcript).match('versions_paired_end')}, + { assert path(workflow.out.log_out.get(0).get(1)).exists() }, + { assert path(workflow.out.log_final.get(0).get(1)).exists() }, + { assert path(workflow.out.log_progress.get(0).get(1)).exists() } + ) + } + } + + test("homo_sapiens - fastq - paired_end - with_transcriptome") { + config "./with_transcripts.config" + + setup { + run("RSEM_PREPAREREFERENCE") { + script "../../../../modules/nf-core/rsem/preparereference/main.nf" + process { + """ + input[0] = channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkifexists: true)) + input[1] = channel.of(file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkifexists: true)) + """ + } + } + } + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = true // star_ignore_sjdbgtf + input[4] = 'illumina' // seq_platform + input[5] = false // seq_center + input[6] = Channel.of([ + [ id:'test_fasta' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[7] = Channel.of([]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out.orig_bam).match('orig_bam_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.bam_sorted).match('bam_sorted_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.fastq).match('fastq_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.tab).match('tab_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.orig_bam_transcript).match('orig_bam_transcript_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.bam).match('bam_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.bai).match('bai_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.stats).match('stats_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.flagstat).match('flagstat_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.idxstats).match('idxstats_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.bam_transcript).match('bam_transcript_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.bai_transcript).match('bai_transcript_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.stats_transcript).match('stats_transcript_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.flagstat_transcript).match('flagstat_transcript_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.idxstats_transcript).match('idxstats_transcript_paired_end_with_transcriptome')}, + { assert snapshot(workflow.out.idxstats_transcript).match('versions_paired_end_with_transcriptome')}, + { assert path(workflow.out.log_out.get(0).get(1)).exists() }, + { assert path(workflow.out.log_final.get(0).get(1)).exists() }, + { assert path(workflow.out.log_progress.get(0).get(1)).exists() } + ) + } + } + + test("homo_sapiens - fastq - paired_end - transcripts - no_transcriptome") { + config "./with_transcripts.config" + + when { + workflow { + """ + input[0] = Channel.of([ + [ id:'test', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_rnaseq_2.fastq.gz', checkIfExists: true) + ] + ]) + input[1] = STAR_GENOMEGENERATE.out.index + input[2] = Channel.of([ + [ id:'test_gtf' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.gtf', checkIfExists: true) ] + ]) + input[3] = true // star_ignore_sjdbgtf + input[4] = 'illumina' // seq_platform + input[5] = false // seq_center + input[6] = Channel.of([ + [ id:'test_fasta' ], // meta map + [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) ] + ]) + input[7] = Channel.of([]) + """ + } + } + + then { + assertAll( + { assert workflow.success}, + { assert snapshot(workflow.out.orig_bam).match('orig_bam_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.bam_sorted).match('bam_sorted_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.fastq).match('fastq_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.tab).match('tab_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.orig_bam_transcript).match('orig_bam_transcript_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.bam).match('bam_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.bai).match('bai_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.stats).match('stats_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.flagstat).match('flagstat_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.idxstats).match('idxstats_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.bam_transcript).match('bam_transcript_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.bai_transcript).match('bai_transcript_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.stats_transcript).match('stats_transcript_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.flagstat_transcript).match('flagstat_transcript_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.idxstats_transcript).match('idxstats_transcript_paired_end_transcripts_no_transcriptome')}, + { assert snapshot(workflow.out.idxstats_transcript).match('versions_paired_end_transcripts_no_transcriptome')}, + { assert path(workflow.out.log_out.get(0).get(1)).exists() }, + { assert path(workflow.out.log_final.get(0).get(1)).exists() }, + { assert path(workflow.out.log_progress.get(0).get(1)).exists() } + ) + } + } +} diff --git a/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap new file mode 100644 index 000000000000..be4e7ebcbac6 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap @@ -0,0 +1,1010 @@ +{ + "flagstat_transcript_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,a204dee59ef8b7cd0f7d952a80119b77" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.836115665" + }, + "orig_bam_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.out.bam:md5,51d2ef198d5725978a4b6da6fbec17dd" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.493635239" + }, + "tab_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,844af19ab0fc8cd9a3f75228445aca0d" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.62565966" + }, + "stats_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.stats:md5,2b8eb6967b68f03584cc242499658e92" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:01:51.011841774" + }, + "bam_sorted_single_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:36:01.366823434" + }, + "idxstats_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,107ca94dd426cc44db316f0d402307c5" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.799888732" + }, + "fastq_paired_end_with_transcriptome": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.404150611" + }, + "stats_transcript_single_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:36:01.92597042" + }, + "idxstats_transcript_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,4030919b4a05393dcd7e699d72725803" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.869017036" + }, + "flagstat_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,db0e25cd0b37d3030e807846c022199e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.673278468" + }, + "bam_transcript_single_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:36:01.816422587" + }, + "bai_transcript_single_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:36:01.889271918" + }, + "idxstats_transcript_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,4030919b4a05393dcd7e699d72725803" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.933689327" + }, + "idxstats_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,107ca94dd426cc44db316f0d402307c5" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.717133215" + }, + "bai_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,6519f33e95de2585b4a1670b19def5ea" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.691747291" + }, + "stats_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,39273789abce501dc706fa94bbd0079d" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.583114732" + }, + "tab_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.SJ.out.tab:md5,75a516ab950fb958f40b29996474949c" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:01:50.81938497" + }, + "orig_bam_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.out.bam:md5,8bb13b5b1530a4682d662f1a5c40ab88" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.324025875" + }, + "tab_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,844af19ab0fc8cd9a3f75228445aca0d" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.450949052" + }, + "bam_transcript_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.848680274" + }, + "bam_transcript_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,c81bdc2a66fa76625e3633db6458788f" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.760481779" + }, + "bai_transcript_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,c37d8ada9550c35cf5bb5e15cb4f3b1a" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.770738099" + }, + "bai_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,9c1178b622d55094f2f641a4c2d91ffb" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.545934891" + }, + "idxstats_transcript_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.998050296" + }, + "versions_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,4030919b4a05393dcd7e699d72725803" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:51.008404374" + }, + "bam_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam:md5,f5fc79df17f02c00fc2fad42c34e57e8" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:01:50.898635197" + }, + "idxstats_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.idxstats:md5,0d5a12e3e3ffdb15f1c6c50f02f22575" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:01:51.104899639" + }, + "orig_bam_transcript_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.646770561" + }, + "stats_transcript_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,fa2f10820ffe578ebe7d5935155b4366" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.802475225" + }, + "orig_bam_transcript_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.toTranscriptome.out.bam:md5,deb116674bf9a17a8082dd4899b0f11f" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.500316187" + }, + "orig_bam_transcript_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.toTranscriptome.out.bam:md5,deb116674bf9a17a8082dd4899b0f11f" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.46731827" + }, + "orig_bam_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.Aligned.out.bam:md5,8bb13b5b1530a4682d662f1a5c40ab88" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.343819207" + }, + "bam_transcript_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,c81bdc2a66fa76625e3633db6458788f" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.734744774" + }, + "fastq_single_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:36:01.387908106" + }, + "stats_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,39273789abce501dc706fa94bbd0079d" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.71383862" + }, + "flagstat_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,db0e25cd0b37d3030e807846c022199e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.670712229" + }, + "flagstat_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.flagstat:md5,075e7a684a7ceb5fd1dae154f823128a" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:01:51.065241319" + }, + "bam_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,b9908f6e338e81781c9958003e8433de" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.508156221" + }, + "flagstat_transcript_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,a204dee59ef8b7cd0f7d952a80119b77" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.890160347" + }, + "flagstat_transcript_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.97328443" + }, + "versions_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,4030919b4a05393dcd7e699d72725803" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.905277179" + }, + "bam_sorted_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.369745857" + }, + "bam_sorted_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.548813329" + }, + "stats_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,39273789abce501dc706fa94bbd0079d" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.625556349" + }, + "bai_transcript_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,c37d8ada9550c35cf5bb5e15cb4f3b1a" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.80486384" + }, + "orig_bam_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.Aligned.out.bam:md5,cd655e6c7309158d42fcfb202a6100e7" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:01:50.699345543" + }, + "tab_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.SJ.out.tab:md5,844af19ab0fc8cd9a3f75228445aca0d" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.431755269" + }, + "bam_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,d20b61fdcc4170df3e9572ad98917666" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.669688071" + }, + "bam_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,b9908f6e338e81781c9958003e8433de" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.54187242" + }, + "stats_transcript_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.945610051" + }, + "versions_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:38.025358383" + }, + "bai_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,9c1178b622d55094f2f641a4c2d91ffb" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.58446308" + }, + "idxstats_paired_end_with_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.idxstats:md5,107ca94dd426cc44db316f0d402307c5" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.702727344" + }, + "orig_bam_transcript_single_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:36:01.449184828" + }, + "idxstats_transcript_single_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:36:01.992614899" + }, + "bai_transcript_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.897935922" + }, + "flagstat_paired_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.flagstat:md5,db0e25cd0b37d3030e807846c022199e" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.74949925" + }, + "stats_transcript_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.stats:md5,fa2f10820ffe578ebe7d5935155b4366" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.847385522" + }, + "bam_sorted_paired_end_with_transcriptome": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:04:06.3779095" + }, + "bai_single_end": { + "content": [ + [ + [ + { + "id": "test", + "single_end": true + }, + "test.sorted.bam.bai:md5,404b441078f7ebc8a24788e31e188f0c" + ] + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-16T11:01:50.949854813" + }, + "fastq_paired_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:37:37.594559814" + }, + "flagstat_transcript_single_end": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:36:01.971850654" + }, + "fastq_paired_end_transcripts_no_transcriptome": { + "content": [ + [ + + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-02-15T19:39:50.410098606" + } +} \ No newline at end of file diff --git a/tests/subworkflows/nf-core/fastq_align_star/nextflow.config b/subworkflows/nf-core/fastq_align_star/tests/nextflow.config similarity index 75% rename from tests/subworkflows/nf-core/fastq_align_star/nextflow.config rename to subworkflows/nf-core/fastq_align_star/tests/nextflow.config index 03e48ade9f3f..6af49d586a3e 100644 --- a/tests/subworkflows/nf-core/fastq_align_star/nextflow.config +++ b/subworkflows/nf-core/fastq_align_star/tests/nextflow.config @@ -10,11 +10,11 @@ process { ext.args = '--readFilesCommand zcat' } - withName: '.*:BAM_SORT_STATS_SAMTOOLS:SAMTOOLS_.*' { + withName: '.*:BAM_SORT_STATS_SAMTOOLS_.*:SAMTOOLS_.*' { ext.prefix = { "${meta.id}.sorted" } } - withName: '.*:BAM_SORT_STATS_SAMTOOLS:BAM_STATS_SAMTOOLS:.*' { + withName: '.*:BAM_SORT_STATS_SAMTOOLS_.*:BAM_STATS_SAMTOOLS:.*' { ext.prefix = { "${meta.id}.sorted.bam" } } diff --git a/subworkflows/nf-core/fastq_align_star/tests/tags.yml b/subworkflows/nf-core/fastq_align_star/tests/tags.yml new file mode 100644 index 000000000000..a919a2d11ce2 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/tests/tags.yml @@ -0,0 +1,2 @@ +subworkflows/fastq_align_star: + - subworkflows/nf-core/fastq_align_star/** diff --git a/subworkflows/nf-core/fastq_align_star/tests/with_transcripts.config b/subworkflows/nf-core/fastq_align_star/tests/with_transcripts.config new file mode 100644 index 000000000000..62f1525019b5 --- /dev/null +++ b/subworkflows/nf-core/fastq_align_star/tests/with_transcripts.config @@ -0,0 +1,21 @@ +process { + + publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } + + withName: STAR_GENOMEGENERATE { + ext.args = '--genomeSAindexNbases 9' + } + + withName: STAR_ALIGN { + ext.args = '--readFilesCommand zcat --quantMode TranscriptomeSAM' + } + + withName: '.*:BAM_SORT_STATS_SAMTOOLS_.*:SAMTOOLS_.*' { + ext.prefix = { "${meta.id}.sorted" } + } + + withName: '.*:BAM_SORT_STATS_SAMTOOLS_.*:BAM_STATS_SAMTOOLS:.*' { + ext.prefix = { "${meta.id}.sorted.bam" } + } + +} diff --git a/tests/config/pytest_modules.yml b/tests/config/pytest_modules.yml index a6c4ccc32052..4939a6d73933 100644 --- a/tests/config/pytest_modules.yml +++ b/tests/config/pytest_modules.yml @@ -2278,9 +2278,6 @@ subworkflows/fastq_align_dna: subworkflows/fastq_align_hisat2: - subworkflows/nf-core/fastq_align_hisat2/** - tests/subworkflows/nf-core/fastq_align_hisat2/** -subworkflows/fastq_align_star: - - subworkflows/nf-core/fastq_align_star/** - - tests/subworkflows/nf-core/fastq_align_star/** subworkflows/fastq_contam_seqtk_kraken: - subworkflows/nf-core/fastq_contam_seqtk_kraken/** - tests/subworkflows/nf-core/fastq_contam_seqtk_kraken/** diff --git a/tests/subworkflows/nf-core/fastq_align_star/main.nf b/tests/subworkflows/nf-core/fastq_align_star/main.nf deleted file mode 100644 index b2677c1759a7..000000000000 --- a/tests/subworkflows/nf-core/fastq_align_star/main.nf +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { STAR_GENOMEGENERATE } from '../../../../modules/nf-core/star/genomegenerate/main.nf' -include { FASTQ_ALIGN_STAR } from '../../../../subworkflows/nf-core/fastq_align_star/main.nf' - - -workflow test_align_star_single_end { - input = [ - [ id:'test', single_end:true ], // meta map - [ file(params.test_data['homo_sapiens']['illumina']['test_1_fastq_gz'], checkIfExists: true) ] - ] - fasta = [ - [ id:'test_fasta' ], // meta map - [ file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true) ] - ] - gtf = [ - [ id:'test_gtf' ], // meta map - [ file(params.test_data['homo_sapiens']['genome']['genome_gtf'], checkIfExists: true) ] - ] - star_ignore_sjdbgtf = true - seq_platform = 'illumina' - seq_center = false - - STAR_GENOMEGENERATE ( fasta, gtf ) - FASTQ_ALIGN_STAR ( input, STAR_GENOMEGENERATE.out.index, gtf, star_ignore_sjdbgtf, seq_platform, seq_center, fasta ) -} - -workflow test_align_star_paired_end { - input = [ - [ id:'test', single_end:false ], // meta map - [ - file(params.test_data['homo_sapiens']['illumina']['test_1_fastq_gz'], checkIfExists: true), - file(params.test_data['homo_sapiens']['illumina']['test_2_fastq_gz'], checkIfExists: true) - ] - ] - fasta = [ - [ id:'test_fasta' ], // meta map - [ file(params.test_data['homo_sapiens']['genome']['genome_fasta'], checkIfExists: true) ] - ] - gtf = [ - [ id:'test_gtf' ], // meta map - [ file(params.test_data['homo_sapiens']['genome']['genome_gtf'], checkIfExists: true) ] - ] - star_ignore_sjdbgtf = true - seq_platform = 'illumina' - seq_center = false - - STAR_GENOMEGENERATE ( fasta, gtf ) - FASTQ_ALIGN_STAR ( input, STAR_GENOMEGENERATE.out.index, gtf, star_ignore_sjdbgtf, seq_platform, seq_center, fasta ) -} - diff --git a/tests/subworkflows/nf-core/fastq_align_star/test.yml b/tests/subworkflows/nf-core/fastq_align_star/test.yml deleted file mode 100644 index 69caeaf4576a..000000000000 --- a/tests/subworkflows/nf-core/fastq_align_star/test.yml +++ /dev/null @@ -1,125 +0,0 @@ -- name: fastq_align_star fastq_align_star_single_end - command: nextflow run ./tests/subworkflows/nf-core/fastq_align_star -entry test_align_star_single_end -c ./tests/config/nextflow.config -c ./tests/subworkflows/nf-core/fastq_align_star/nextflow.config - tags: - - subworkflows - - subworkflows/fastq_align_star - - subworkflows/bam_sort_stats_samtools - - subworkflows/bam_stats_samtools - # Modules - - star - - star/align - - samtools - - samtools/index - - samtools/sort - - samtools/stats - - samtools/idxstats - - samtools/flagstat - files: - - path: output/star/star/Genome - md5sum: a654229fbca6071dcb6b01ce7df704da - - path: output/star/star/Log.out - - path: output/star/star/SA - md5sum: 8c3edc46697b72c9e92440d4cf43506c - - path: output/star/star/SAindex - md5sum: 2a0c675d8b91d8e5e8c1826d3500482e - - path: output/star/star/chrLength.txt - md5sum: c81f40f27e72606d7d07097c1d56a5b5 - - path: output/star/star/chrName.txt - md5sum: 5ae68a67b70976ee95342a7451cb5af1 - - path: output/star/star/chrNameLength.txt - md5sum: b190587cae0531f3cf25552d8aa674db - - path: output/star/star/chrStart.txt - md5sum: 8d3291e6bcdbe9902fbd7c887494173f - - path: output/star/star/exonGeTrInfo.tab - md5sum: d04497f69d6ef889efd4d34fe63edcc4 - - path: output/star/star/exonInfo.tab - md5sum: 0d560290fab688b7268d88d5494bf9fe - - path: output/star/star/geneInfo.tab - md5sum: 8b608537307443ffaee4927d2b428805 - - path: output/star/star/genomeParameters.txt - md5sum: 3097677f4d8b2cb66770b9e55d343a7f - - path: output/star/star/sjdbInfo.txt - md5sum: 5690ea9d9f09f7ff85b7fd47bd234903 - - path: output/star/star/sjdbList.fromGTF.out.tab - md5sum: 8760c33e966dad0b39f440301ebbdee4 - - path: output/star/star/sjdbList.out.tab - md5sum: 9e4f991abbbfeb3935a2bb21b9e258f1 - - path: output/star/star/transcriptInfo.tab - md5sum: 0c3a5adb49d15e5feff81db8e29f2e36 - - path: output/star/test.Aligned.out.bam - - path: output/star/test.Log.final.out - - path: output/star/test.Log.out - - path: output/star/test.Log.progress.out - - path: output/star/test.SJ.out.tab - # samtools sort - - path: ./output/samtools/test.sorted.bam - - path: ./output/samtools/test.sorted.bam.bai - # samtools stats - - path: ./output/samtools/test.sorted.bam.flagstat - md5sum: 924ce391c186068f996231fdefa42442 - - path: ./output/samtools/test.sorted.bam.idxstats - md5sum: c23c978974e8568a2b2959e6a5965cf2 - - path: ./output/samtools/test.sorted.bam.stats - -- name: fastq_align_star fastq_align_star_paired_end - command: nextflow run ./tests/subworkflows/nf-core/fastq_align_star -entry test_align_star_paired_end -c ./tests/config/nextflow.config -c ./tests/subworkflows/nf-core/fastq_align_star/nextflow.config - tags: - - subworkflows - - subworkflows/fastq_align_star - - subworkflows/bam_sort_stats_samtools - - subworkflows/bam_stats_samtools - # Modules - - star - - star/align - - samtools - - samtools/index - - samtools/sort - - samtools/stats - - samtools/idxstats - - samtools/flagstat - files: - - path: output/star/star/Genome - md5sum: a654229fbca6071dcb6b01ce7df704da - - path: output/star/star/Log.out - - path: output/star/star/SA - md5sum: 8c3edc46697b72c9e92440d4cf43506c - - path: output/star/star/SAindex - md5sum: 2a0c675d8b91d8e5e8c1826d3500482e - - path: output/star/star/chrLength.txt - md5sum: c81f40f27e72606d7d07097c1d56a5b5 - - path: output/star/star/chrName.txt - md5sum: 5ae68a67b70976ee95342a7451cb5af1 - - path: output/star/star/chrNameLength.txt - md5sum: b190587cae0531f3cf25552d8aa674db - - path: output/star/star/chrStart.txt - md5sum: 8d3291e6bcdbe9902fbd7c887494173f - - path: output/star/star/exonGeTrInfo.tab - md5sum: d04497f69d6ef889efd4d34fe63edcc4 - - path: output/star/star/exonInfo.tab - md5sum: 0d560290fab688b7268d88d5494bf9fe - - path: output/star/star/geneInfo.tab - md5sum: 8b608537307443ffaee4927d2b428805 - - path: output/star/star/genomeParameters.txt - md5sum: 3097677f4d8b2cb66770b9e55d343a7f - - path: output/star/star/sjdbInfo.txt - md5sum: 5690ea9d9f09f7ff85b7fd47bd234903 - - path: output/star/star/sjdbList.fromGTF.out.tab - md5sum: 8760c33e966dad0b39f440301ebbdee4 - - path: output/star/star/sjdbList.out.tab - md5sum: 9e4f991abbbfeb3935a2bb21b9e258f1 - - path: output/star/star/transcriptInfo.tab - md5sum: 0c3a5adb49d15e5feff81db8e29f2e36 - - path: output/star/test.Aligned.out.bam - - path: output/star/test.Log.final.out - - path: output/star/test.Log.out - - path: output/star/test.Log.progress.out - - path: output/star/test.SJ.out.tab - # samtools sort - - path: ./output/samtools/test.sorted.bam - - path: ./output/samtools/test.sorted.bam.bai - # samtools stats - - path: ./output/samtools/test.sorted.bam.flagstat - md5sum: c6b56420e8a30bff3487dbd6ec13ba5f - - path: ./output/samtools/test.sorted.bam.idxstats - md5sum: 3f1385e59e45555d2aff101b3d6de896 - - path: ./output/samtools/test.sorted.bam.stats