diff --git a/CHANGELOG.md b/CHANGELOG.md index 9412327f6..af8aa9289 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Enhancements & fixes +- [[#1011](https://github.com/nf-core/rnaseq/issues/1011)] - FastQ files from UMI-tools not being passed to fastp - [PR #1016](https://github.com/nf-core/rnaseq/pull/1016) - Updated pipeline template to [nf-core/tools 2.8](https://github.com/nf-core/tools/releases/tag/2.8) - [PR #1025](https://github.com/nf-core/fetchngs/pull/1025) - Add `public_aws_ecr.config` to source mulled containers when using `public.ecr.aws` Docker Biocontainer registry @@ -14,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | Dependency | Old version | New version | | ---------- | ----------- | ----------- | +| `fastp` | 0.23.2 | 0.23.4 | | `samtools` | 1.16.1 | 1.17 | > **NB:** Dependency has been **updated** if both old and new version information is present. diff --git a/conf/test.config b/conf/test.config index f77abd48b..d0430eacb 100644 --- a/conf/test.config +++ b/conf/test.config @@ -24,16 +24,16 @@ params { input = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/samplesheet/v3.10/samplesheet_test.csv" // Genome references - fasta = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/genome.fasta" - gtf = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/genes.gtf.gz" - gff = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/genes.gff.gz" - transcript_fasta = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/transcriptome.fasta" - additional_fasta = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/gfp.fa.gz" - - bbsplit_fasta_list = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/bbsplit_fasta_list.txt" - hisat2_index = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/hisat2.tar.gz" - salmon_index = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/salmon.tar.gz" - rsem_index = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/rsem.tar.gz" + fasta = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/genome.fasta" + gtf = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/genes.gtf.gz" + gff = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/genes.gff.gz" + transcript_fasta = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/transcriptome.fasta" + additional_fasta = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/gfp.fa.gz" + + bbsplit_fasta_list = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/bbsplit_fasta_list.txt" + hisat2_index = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/hisat2.tar.gz" + salmon_index = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/salmon.tar.gz" + rsem_index = "https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq/reference/rsem.tar.gz" // Other parameters skip_bbsplit = false diff --git a/conf/test_cache.config b/conf/test_cache.config index 7ba43957c..51aad577e 100644 --- a/conf/test_cache.config +++ b/conf/test_cache.config @@ -1,6 +1,6 @@ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - Nextflow config file for running minimal tests + Nextflow config file for running minimal tests using cached / offline test data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Defines input files and everything required to run a fast and simple pipeline test. diff --git a/modules.json b/modules.json index 468cc2b86..b2fe8ca92 100644 --- a/modules.json +++ b/modules.json @@ -7,7 +7,7 @@ "nf-core": { "bbmap/bbsplit": { "branch": "master", - "git_sha": "911696ea0b62df80e900ef244d7867d177971f73", + "git_sha": "e228790f2957152ad2534e39abd7b3878963e89d", "installed_by": ["modules"] }, "cat/fastq": { @@ -27,8 +27,8 @@ }, "fastp": { "branch": "master", - "git_sha": "911696ea0b62df80e900ef244d7867d177971f73", - "installed_by": ["modules", "fastq_fastqc_umitools_fastp"] + "git_sha": "d497a4868ace3302016ea8ed4b395072d5e833cd", + "installed_by": ["fastq_fastqc_umitools_fastp", "modules"] }, "fastqc": { "branch": "master", @@ -52,22 +52,22 @@ }, "hisat2/align": { "branch": "master", - "git_sha": "603ecbd9f45300c9788f197d2a15a005685b4220", + "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1", "installed_by": ["fastq_align_hisat2"] }, "hisat2/build": { "branch": "master", - "git_sha": "911696ea0b62df80e900ef244d7867d177971f73", + "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1", "installed_by": ["modules"] }, "hisat2/extractsplicesites": { "branch": "master", - "git_sha": "911696ea0b62df80e900ef244d7867d177971f73", + "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1", "installed_by": ["modules"] }, "picard/markduplicates": { "branch": "master", - "git_sha": "911696ea0b62df80e900ef244d7867d177971f73", + "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1", "installed_by": ["bam_markduplicates_picard"] }, "preseq/lcextrap": { @@ -166,7 +166,7 @@ }, "samtools/stats": { "branch": "master", - "git_sha": "911696ea0b62df80e900ef244d7867d177971f73", + "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1", "installed_by": ["bam_stats_samtools"] }, "sortmerna": { @@ -176,7 +176,7 @@ }, "star/align": { "branch": "master", - "git_sha": "603ecbd9f45300c9788f197d2a15a005685b4220", + "git_sha": "57d75dbac06812c59798a48585032f6e50bb1914", "installed_by": ["modules"] }, "star/genomegenerate": { @@ -230,7 +230,7 @@ "nf-core": { "bam_dedup_stats_samtools_umitools": { "branch": "master", - "git_sha": "a9784afdd5dcda23b84e64db75dc591065d64653", + "git_sha": "e228790f2957152ad2534e39abd7b3878963e89d", "installed_by": ["subworkflows"] }, "bam_markduplicates_picard": { @@ -245,16 +245,16 @@ }, "bam_sort_stats_samtools": { "branch": "master", - "git_sha": "a9784afdd5dcda23b84e64db75dc591065d64653", + "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1", "installed_by": ["fastq_align_hisat2"] }, "bam_stats_samtools": { "branch": "master", - "git_sha": "a9784afdd5dcda23b84e64db75dc591065d64653", + "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1", "installed_by": [ + "bam_dedup_stats_samtools_umitools", "bam_markduplicates_picard", - "bam_sort_stats_samtools", - "bam_dedup_stats_samtools_umitools" + "bam_sort_stats_samtools" ] }, "bedgraph_bedclip_bedgraphtobigwig": { @@ -269,7 +269,7 @@ }, "fastq_fastqc_umitools_fastp": { "branch": "master", - "git_sha": "a9784afdd5dcda23b84e64db75dc591065d64653", + "git_sha": "48dbb403fb2849b3d2c6c2e3eaaedbcca799428d", "installed_by": ["subworkflows"] }, "fastq_fastqc_umitools_trimgalore": { diff --git a/modules/nf-core/bbmap/bbsplit/main.nf b/modules/nf-core/bbmap/bbsplit/main.nf index 6046184d0..67190ff1d 100644 --- a/modules/nf-core/bbmap/bbsplit/main.nf +++ b/modules/nf-core/bbmap/bbsplit/main.nf @@ -1,5 +1,6 @@ process BBMAP_BBSPLIT { label 'process_high' + label 'error_retry' conda "bioconda::bbmap=39.01" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? diff --git a/modules/nf-core/bbmap/bbsplit/meta.yml b/modules/nf-core/bbmap/bbsplit/meta.yml index 4cdc31a87..caa3dd66c 100644 --- a/modules/nf-core/bbmap/bbsplit/meta.yml +++ b/modules/nf-core/bbmap/bbsplit/meta.yml @@ -30,7 +30,7 @@ input: description: Directory to place generated index pattern: "*" - primary_ref: - type: path + type: file description: Path to the primary reference pattern: "*" - other_ref_names: diff --git a/modules/nf-core/fastp/main.nf b/modules/nf-core/fastp/main.nf index 2ca2d3ee0..831b7f128 100644 --- a/modules/nf-core/fastp/main.nf +++ b/modules/nf-core/fastp/main.nf @@ -2,10 +2,10 @@ process FASTP { tag "$meta.id" label 'process_medium' - conda "bioconda::fastp=0.23.2" + conda "bioconda::fastp=0.23.4" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/fastp:0.23.2--h79da9fb_0' : - 'biocontainers/fastp:0.23.2--h79da9fb_0' }" + 'https://depot.galaxyproject.org/singularity/fastp:0.23.4--h5f740d0_0' : + 'biocontainers/fastp:0.23.4--h5f740d0_0' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/hisat2/align/main.nf b/modules/nf-core/hisat2/align/main.nf index 542815d2c..e69204692 100644 --- a/modules/nf-core/hisat2/align/main.nf +++ b/modules/nf-core/hisat2/align/main.nf @@ -10,8 +10,8 @@ process HISAT2_ALIGN { input: tuple val(meta), path(reads) - path index - path splicesites + tuple val(meta2), path(index) + tuple val(meta3), path(splicesites) output: tuple val(meta), path("*.bam") , emit: bam diff --git a/modules/nf-core/hisat2/align/meta.yml b/modules/nf-core/hisat2/align/meta.yml index 7550aefab..008a9611f 100644 --- a/modules/nf-core/hisat2/align/meta.yml +++ b/modules/nf-core/hisat2/align/meta.yml @@ -25,10 +25,20 @@ input: description: | List of input FastQ files of size 1 and 2 for single-end and paired-end data, respectively. + - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - index: type: file description: HISAT2 genome index file pattern: "*.ht2" + - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - splicesites: type: file description: Splices sites in gtf file @@ -55,3 +65,4 @@ output: authors: - "@ntoda03" + - "@ramprasadn" diff --git a/modules/nf-core/hisat2/build/main.nf b/modules/nf-core/hisat2/build/main.nf index b3475f758..5ad36a548 100644 --- a/modules/nf-core/hisat2/build/main.nf +++ b/modules/nf-core/hisat2/build/main.nf @@ -10,13 +10,13 @@ process HISAT2_BUILD { 'biocontainers/hisat2:2.2.1--h1b792b2_3' }" input: - path fasta - path gtf - path splicesites + tuple val(meta), path(fasta) + tuple val(meta2), path(gtf) + tuple val(meta3), path(splicesites) output: - path "hisat2" , emit: index - path "versions.yml" , emit: versions + tuple val(meta), path("hisat2") , emit: index + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/hisat2/build/meta.yml b/modules/nf-core/hisat2/build/meta.yml index a2e1fd67e..e61bf2a3f 100644 --- a/modules/nf-core/hisat2/build/meta.yml +++ b/modules/nf-core/hisat2/build/meta.yml @@ -15,28 +15,48 @@ tools: licence: ["MIT"] input: + - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - fasta: type: file description: Reference fasta file pattern: "*.{fa,fasta,fna}" + - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - gtf: type: file description: Reference gtf annotation file pattern: "*.{gtf}" + - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - splicesites: type: file description: Splices sites in gtf file pattern: "*.{txt}" output: - - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - index: type: file description: HISAT2 genome index file pattern: "*.ht2" + - versions: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@ntoda03" diff --git a/modules/nf-core/hisat2/extractsplicesites/main.nf b/modules/nf-core/hisat2/extractsplicesites/main.nf index f6d28c1a5..a6e59e202 100644 --- a/modules/nf-core/hisat2/extractsplicesites/main.nf +++ b/modules/nf-core/hisat2/extractsplicesites/main.nf @@ -9,11 +9,11 @@ process HISAT2_EXTRACTSPLICESITES { 'biocontainers/hisat2:2.2.1--h1b792b2_3' }" input: - path gtf + tuple val(meta), path(gtf) output: - path "*.splice_sites.txt", emit: txt - path "versions.yml" , emit: versions + tuple val(meta), path("*.splice_sites.txt"), emit: txt + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/hisat2/extractsplicesites/meta.yml b/modules/nf-core/hisat2/extractsplicesites/meta.yml index 7dc1bac81..f70de082a 100644 --- a/modules/nf-core/hisat2/extractsplicesites/meta.yml +++ b/modules/nf-core/hisat2/extractsplicesites/meta.yml @@ -15,12 +15,22 @@ tools: licence: ["MIT"] input: + - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - gtf: type: file description: Reference gtf annotation file pattern: "*.{gtf}" output: + - meta: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - versions: type: file description: File containing software versions @@ -32,3 +42,4 @@ output: authors: - "@ntoda03" + - "@ramprasadn" diff --git a/modules/nf-core/picard/markduplicates/main.nf b/modules/nf-core/picard/markduplicates/main.nf index 7ba8448f7..facd7efb9 100644 --- a/modules/nf-core/picard/markduplicates/main.nf +++ b/modules/nf-core/picard/markduplicates/main.nf @@ -9,8 +9,8 @@ process PICARD_MARKDUPLICATES { input: tuple val(meta), path(bam) - path fasta - path fai + tuple val(meta2), path(fasta) + tuple val(meta3), path(fai) output: tuple val(meta), path("*.bam") , emit: bam diff --git a/modules/nf-core/picard/markduplicates/meta.yml b/modules/nf-core/picard/markduplicates/meta.yml index 3f2357bbf..f7693d2f0 100644 --- a/modules/nf-core/picard/markduplicates/meta.yml +++ b/modules/nf-core/picard/markduplicates/meta.yml @@ -25,10 +25,20 @@ input: type: file description: BAM file pattern: "*.{bam,cram,sam}" + - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - fasta: type: file description: Reference genome fasta file pattern: "*.{fasta,fa}" + - meta3: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - fai: type: file description: Reference genome fasta index @@ -58,3 +68,4 @@ output: authors: - "@drpatelh" - "@projectoriented" + - "@ramprasadn" diff --git a/modules/nf-core/samtools/stats/main.nf b/modules/nf-core/samtools/stats/main.nf index eb7f098b0..4a2607ded 100644 --- a/modules/nf-core/samtools/stats/main.nf +++ b/modules/nf-core/samtools/stats/main.nf @@ -9,7 +9,7 @@ process SAMTOOLS_STATS { input: tuple val(meta), path(input), path(input_index) - path fasta + tuple val(meta2), path(fasta) output: tuple val(meta), path("*.stats"), emit: stats diff --git a/modules/nf-core/samtools/stats/meta.yml b/modules/nf-core/samtools/stats/meta.yml index 1d68a5d83..90e6345f5 100644 --- a/modules/nf-core/samtools/stats/meta.yml +++ b/modules/nf-core/samtools/stats/meta.yml @@ -30,9 +30,14 @@ input: type: file description: BAI/CRAI file from alignment pattern: "*.{bai,crai}" + - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] - fasta: - type: optional file - description: Reference file the CRAM was created with + type: file + description: Reference file the CRAM was created with (optional) pattern: "*.{fasta,fa}" output: - meta: @@ -51,3 +56,4 @@ output: authors: - "@drpatelh" - "@FriederikeHanssen" + - "@ramprasadn" diff --git a/modules/nf-core/star/align/main.nf b/modules/nf-core/star/align/main.nf index 54d35f7d3..8cb8e9a4d 100644 --- a/modules/nf-core/star/align/main.nf +++ b/modules/nf-core/star/align/main.nf @@ -8,7 +8,7 @@ process STAR_ALIGN { 'biocontainers/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:1df389393721fc66f3fd8778ad938ac711951107-0' }" input: - tuple val(meta), path(reads) + tuple val(meta), path(reads, stageAs: "input*/*") path index path gtf val star_ignore_sjdbgtf @@ -16,12 +16,12 @@ process STAR_ALIGN { val seq_center output: - tuple val(meta), path('*d.out.bam') , emit: bam tuple val(meta), path('*Log.final.out') , emit: log_final tuple val(meta), path('*Log.out') , emit: log_out tuple val(meta), path('*Log.progress.out'), emit: log_progress path "versions.yml" , emit: versions + tuple val(meta), path('*d.out.bam') , optional:true, emit: bam tuple val(meta), path('*sortedByCoord.out.bam') , optional:true, emit: bam_sorted tuple val(meta), path('*toTranscriptome.out.bam'), optional:true, emit: bam_transcript tuple val(meta), path('*Aligned.unsort.out.bam') , optional:true, emit: bam_unsorted @@ -40,20 +40,23 @@ process STAR_ALIGN { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" + def reads1 = [], reads2 = [] + meta.single_end ? [reads].flatten().each{reads1 << it} : reads.eachWithIndex{ v, ix -> ( ix & 1 ? reads2 : reads1) << v } def ignore_gtf = star_ignore_sjdbgtf ? '' : "--sjdbGTFfile $gtf" def seq_platform = seq_platform ? "'PL:$seq_platform'" : "" - def seq_center = seq_center ? "--outSAMattrRGline ID:$prefix 'CN:$seq_center' 'SM:$prefix' $seq_platform " : "--outSAMattrRGline ID:$prefix 'SM:$prefix' $seq_platform " + def seq_center = seq_center ? "'CN:$seq_center'" : "" + def attrRG = args.contains("--outSAMattrRGline") ? "" : "--outSAMattrRGline 'ID:$prefix' $seq_center 'SM:$prefix' $seq_platform" def out_sam_type = (args.contains('--outSAMtype')) ? '' : '--outSAMtype BAM Unsorted' def mv_unsorted_bam = (args.contains('--outSAMtype BAM Unsorted SortedByCoordinate')) ? "mv ${prefix}.Aligned.out.bam ${prefix}.Aligned.unsort.out.bam" : '' """ STAR \\ --genomeDir $index \\ - --readFilesIn $reads \\ + --readFilesIn ${reads1.join(",")} ${reads2.join(",")} \\ --runThreadN $task.cpus \\ --outFileNamePrefix $prefix. \\ $out_sam_type \\ $ignore_gtf \\ - $seq_center \\ + $attrRG \\ $args $mv_unsorted_bam diff --git a/subworkflows/local/prepare_genome.nf b/subworkflows/local/prepare_genome.nf index 52e09c774..b83126cd7 100644 --- a/subworkflows/local/prepare_genome.nf +++ b/subworkflows/local/prepare_genome.nf @@ -222,7 +222,7 @@ workflow PREPARE_GENOME { ch_hisat2_index = Channel.empty() if ('hisat2' in prepare_tool_indices) { if (!splicesites) { - ch_splicesites = HISAT2_EXTRACTSPLICESITES ( ch_gtf ).txt + ch_splicesites = HISAT2_EXTRACTSPLICESITES ( ch_gtf.map { [ [:], it ] } ).txt.map { it[1] } ch_versions = ch_versions.mix(HISAT2_EXTRACTSPLICESITES.out.versions) } else { ch_splicesites = Channel.value(file(splicesites)) @@ -235,7 +235,7 @@ workflow PREPARE_GENOME { ch_hisat2_index = Channel.value(file(hisat2_index)) } } else { - ch_hisat2_index = HISAT2_BUILD ( ch_fasta, ch_gtf, ch_splicesites ).index + ch_hisat2_index = HISAT2_BUILD ( ch_fasta.map { [ [:], it ] }, ch_gtf.map { [ [:], it ] }, ch_splicesites.map { [ [:], it ] } ).index.map { it[1] } ch_versions = ch_versions.mix(HISAT2_BUILD.out.versions) } } diff --git a/subworkflows/local/quantify_rsem.nf b/subworkflows/local/quantify_rsem.nf index e61e8dda1..666af33b1 100644 --- a/subworkflows/local/quantify_rsem.nf +++ b/subworkflows/local/quantify_rsem.nf @@ -10,6 +10,7 @@ workflow QUANTIFY_RSEM { take: reads // channel: [ val(meta), [ reads ] ] index // channel: /path/to/rsem/index/ + fasta // channel: [ val(meta), [ fasta ] ] main: @@ -24,7 +25,7 @@ workflow QUANTIFY_RSEM { // // Sort, index BAM file and run samtools stats, flagstat and idxstats // - BAM_SORT_STATS_SAMTOOLS ( RSEM_CALCULATEEXPRESSION.out.bam_star, [] ) + BAM_SORT_STATS_SAMTOOLS ( RSEM_CALCULATEEXPRESSION.out.bam_star, fasta ) ch_versions = ch_versions.mix(BAM_SORT_STATS_SAMTOOLS.out.versions) // @@ -45,12 +46,12 @@ workflow QUANTIFY_RSEM { bam_genome = RSEM_CALCULATEEXPRESSION.out.bam_genome // channel: [ val(meta), bam ] bam_transcript = RSEM_CALCULATEEXPRESSION.out.bam_transcript // channel: [ val(meta), bam ] - bam = BAM_SORT_STATS_SAMTOOLS.out.bam // channel: [ val(meta), [ bam ] ] - bai = BAM_SORT_STATS_SAMTOOLS.out.bai // channel: [ val(meta), [ bai ] ] - csi = BAM_SORT_STATS_SAMTOOLS.out.csi // channel: [ val(meta), [ csi ] ] - stats = BAM_SORT_STATS_SAMTOOLS.out.stats // channel: [ val(meta), [ stats ] ] - flagstat = BAM_SORT_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] - idxstats = BAM_SORT_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] + bam = BAM_SORT_STATS_SAMTOOLS.out.bam // channel: [ val(meta), [ bam ] ] + bai = BAM_SORT_STATS_SAMTOOLS.out.bai // channel: [ val(meta), [ bai ] ] + csi = BAM_SORT_STATS_SAMTOOLS.out.csi // channel: [ val(meta), [ csi ] ] + stats = BAM_SORT_STATS_SAMTOOLS.out.stats // channel: [ val(meta), [ stats ] ] + flagstat = BAM_SORT_STATS_SAMTOOLS.out.flagstat // channel: [ val(meta), [ flagstat ] ] + idxstats = BAM_SORT_STATS_SAMTOOLS.out.idxstats // channel: [ val(meta), [ idxstats ] ] merged_counts_gene = RSEM_MERGE_COUNTS.out.counts_gene // path: *.gene_counts.tsv merged_tpm_gene = RSEM_MERGE_COUNTS.out.tpm_gene // path: *.gene_tpm.tsv diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf index 6b9e2e7a0..7c07084ff 100644 --- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf +++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf @@ -39,7 +39,7 @@ workflow BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS { } } - BAM_STATS_SAMTOOLS ( ch_bam_bai_dedup, [] ) + BAM_STATS_SAMTOOLS ( ch_bam_bai_dedup, [ [:], [] ] ) ch_versions = ch_versions.mix(BAM_STATS_SAMTOOLS.out.versions) emit: diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/main.nf b/subworkflows/nf-core/bam_sort_stats_samtools/main.nf index 617871fe3..fc1c652b9 100644 --- a/subworkflows/nf-core/bam_sort_stats_samtools/main.nf +++ b/subworkflows/nf-core/bam_sort_stats_samtools/main.nf @@ -9,7 +9,7 @@ include { BAM_STATS_SAMTOOLS } from '../bam_stats_samtools/main' workflow BAM_SORT_STATS_SAMTOOLS { take: ch_bam // channel: [ val(meta), [ bam ] ] - ch_fasta // channel: [ fasta ] + ch_fasta // channel: [ val(meta), path(fasta) ] main: diff --git a/subworkflows/nf-core/bam_stats_samtools/main.nf b/subworkflows/nf-core/bam_stats_samtools/main.nf index c9d7c8b75..44d4c010a 100644 --- a/subworkflows/nf-core/bam_stats_samtools/main.nf +++ b/subworkflows/nf-core/bam_stats_samtools/main.nf @@ -9,7 +9,7 @@ include { SAMTOOLS_FLAGSTAT } from '../../../modules/nf-core/samtools/flagstat/m workflow BAM_STATS_SAMTOOLS { take: ch_bam_bai // channel: [ val(meta), path(bam), path(bai) ] - ch_fasta // channel: [ path(fasta) ] + ch_fasta // channel: [ val(meta), path(fasta) ] main: ch_versions = Channel.empty() diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf index 42638943d..64ec88f23 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf +++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf @@ -77,7 +77,7 @@ workflow FASTQ_FASTQC_UMITOOLS_FASTP { trim_read_count = Channel.empty() if (!skip_trimming) { FASTP ( - reads, + umi_reads, adapter_fasta, save_trimmed_fail, save_merged diff --git a/workflows/rnaseq.nf b/workflows/rnaseq.nf index 9876e09b1..706283a26 100755 --- a/workflows/rnaseq.nf +++ b/workflows/rnaseq.nf @@ -394,7 +394,7 @@ workflow RNASEQ { '', params.seq_center ?: '', is_aws_igenome, - PREPARE_GENOME.out.fasta + PREPARE_GENOME.out.fasta.map { [ [:], it ] } ) ch_genome_bam = ALIGN_STAR.out.bam ch_genome_bam_index = ALIGN_STAR.out.bai @@ -430,7 +430,7 @@ workflow RNASEQ { // Co-ordinate sort, index and run stats on transcriptome BAM BAM_SORT_STATS_SAMTOOLS ( ch_transcriptome_bam, - PREPARE_GENOME.out.fasta + PREPARE_GENOME.out.fasta.map { [ [:], it ] } ) ch_transcriptome_sorted_bam = BAM_SORT_STATS_SAMTOOLS.out.bam ch_transcriptome_sorted_bai = BAM_SORT_STATS_SAMTOOLS.out.bai @@ -504,7 +504,8 @@ workflow RNASEQ { if (!params.skip_alignment && params.aligner == 'star_rsem') { QUANTIFY_RSEM ( ch_filtered_reads, - PREPARE_GENOME.out.rsem_index + PREPARE_GENOME.out.rsem_index, + PREPARE_GENOME.out.fasta.map { [ [:], it ] } ) ch_genome_bam = QUANTIFY_RSEM.out.bam ch_genome_bam_index = QUANTIFY_RSEM.out.bai @@ -537,9 +538,9 @@ workflow RNASEQ { if (!params.skip_alignment && params.aligner == 'hisat2') { FASTQ_ALIGN_HISAT2 ( ch_filtered_reads, - PREPARE_GENOME.out.hisat2_index, - PREPARE_GENOME.out.splicesites, - PREPARE_GENOME.out.fasta + PREPARE_GENOME.out.hisat2_index.map { [ [:], it ] }, + PREPARE_GENOME.out.splicesites.map { [ [:], it ] }, + PREPARE_GENOME.out.fasta.map { [ [:], it ] } ) ch_genome_bam = FASTQ_ALIGN_HISAT2.out.bam ch_genome_bam_index = FASTQ_ALIGN_HISAT2.out.bai @@ -632,8 +633,8 @@ workflow RNASEQ { if (!params.skip_alignment && !params.skip_markduplicates && !params.with_umi) { BAM_MARKDUPLICATES_PICARD ( ch_genome_bam, - PREPARE_GENOME.out.fasta, - PREPARE_GENOME.out.fai + PREPARE_GENOME.out.fasta.map { [ [:], it ] }, + PREPARE_GENOME.out.fai.map { [ [:], it ] } ) ch_genome_bam = BAM_MARKDUPLICATES_PICARD.out.bam ch_genome_bam_index = BAM_MARKDUPLICATES_PICARD.out.bai