diff --git a/modules.json b/modules.json
index 5e1789a2..527289bd 100644
--- a/modules.json
+++ b/modules.json
@@ -7,137 +7,137 @@
"nf-core": {
"bowtie/align": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "603ecbd9f45300c9788f197d2a15a005685b4220",
"installed_by": ["modules"]
},
"bowtie/build": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"installed_by": ["modules"]
},
"bowtie2/align": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "fe54581f8bed20e4c4a51c616c93fd3379d89820",
"installed_by": ["modules"]
},
"bowtie2/build": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "6a24fbe314bb2e6fe6306c29a63076ea87e8eb3c",
"installed_by": ["modules"]
},
"bwa/index": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "bfed129da5134b4439b1821c917972570d44d39c",
"installed_by": ["modules"]
},
"cat/fastq": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "5c460c5a4736974abde2843294f35307ee2b0e5e",
"installed_by": ["modules"]
},
"circexplorer2/annotate": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"installed_by": ["modules"]
},
"circexplorer2/parse": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"installed_by": ["modules"]
},
"custom/dumpsoftwareversions": {
"branch": "master",
- "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
+ "git_sha": "05c280924b6c768d484c7c443dad5e605c4ff4b4",
"installed_by": ["modules"]
},
"fastqc": {
"branch": "master",
- "git_sha": "bd8092b67b5103bdd52e300f75889442275c3117",
+ "git_sha": "9a4517e720bc812e95b56d23d15a1653b6db4f53",
"installed_by": ["modules"]
},
"hisat2/align": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "a1881f6374506f9e031b7af814768cdb44a6a7d3",
"installed_by": ["modules"]
},
"hisat2/build": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "f2f48836bf5c59434966a6c3b2211b29363f31ab",
"installed_by": ["modules"]
},
"hisat2/extractsplicesites": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1",
"installed_by": ["modules"]
},
"miranda": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"installed_by": ["modules"]
},
"multiqc": {
"branch": "master",
- "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
+ "git_sha": "a6e11ac655e744f7ebc724be669dd568ffdc0e80",
"installed_by": ["modules"]
},
"samtools/flagstat": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "570ec5bcfe19c49e16c9ca35a7a116563af6cc1c",
"installed_by": ["bam_stats_samtools"]
},
"samtools/idxstats": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "e662ab16e0c11f1e62983e21de9871f59371a639",
"installed_by": ["bam_stats_samtools"]
},
"samtools/index": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
- "installed_by": ["bam_sort_stats_samtools", "modules"]
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
+ "installed_by": ["modules", "bam_sort_stats_samtools"]
},
"samtools/sort": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
- "installed_by": ["bam_sort_stats_samtools", "modules"]
+ "git_sha": "a0f7be95788366c1923171e358da7d049eb440f9",
+ "installed_by": ["modules", "bam_sort_stats_samtools"]
},
"samtools/stats": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "735e1e04e7e01751d2d6e97055bbdb6f70683cc1",
"installed_by": ["bam_stats_samtools"]
},
"samtools/view": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "3ffae3598260a99e8db3207dead9f73f87f90d1f",
"installed_by": ["modules"]
},
"segemehl/align": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"installed_by": ["modules"]
},
"segemehl/index": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"installed_by": ["modules"]
},
"star/align": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "cc08a888069f67cab8120259bddab8032d4c0fe3",
"installed_by": ["modules"]
},
"star/genomegenerate": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "cc08a888069f67cab8120259bddab8032d4c0fe3",
"installed_by": ["modules"]
},
"stringtie/stringtie": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"installed_by": ["modules"]
},
"trimgalore": {
"branch": "master",
- "git_sha": "c8e35eb2055c099720a75538d1b8adb3fb5a464c",
+ "git_sha": "911696ea0b62df80e900ef244d7867d177971f73",
"installed_by": ["modules"]
}
}
@@ -146,12 +146,12 @@
"nf-core": {
"bam_sort_stats_samtools": {
"branch": "master",
- "git_sha": "3911652a6b24249358f79e8b8466338d63efb2a2",
+ "git_sha": "dedc0e31087f3306101c38835d051bf49789445a",
"installed_by": ["subworkflows"]
},
"bam_stats_samtools": {
"branch": "master",
- "git_sha": "92eb5091ae5368a60cda58b3a0ced8b36d715b0f",
+ "git_sha": "dedc0e31087f3306101c38835d051bf49789445a",
"installed_by": ["bam_sort_stats_samtools"]
}
}
diff --git a/modules/nf-core/bowtie/align/main.nf b/modules/nf-core/bowtie/align/main.nf
index 4cb6ca7a..082c0762 100644
--- a/modules/nf-core/bowtie/align/main.nf
+++ b/modules/nf-core/bowtie/align/main.nf
@@ -5,7 +5,7 @@ process BOWTIE_ALIGN {
conda "bioconda::bowtie=1.3.0 bioconda::samtools=1.16.1"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-ffbf83a6b0ab6ec567a336cf349b80637135bca3:c84c7c55c45af231883d9ff4fe706ac44c479c36-0' :
- 'quay.io/biocontainers/mulled-v2-ffbf83a6b0ab6ec567a336cf349b80637135bca3:c84c7c55c45af231883d9ff4fe706ac44c479c36-0' }"
+ 'biocontainers/mulled-v2-ffbf83a6b0ab6ec567a336cf349b80637135bca3:c84c7c55c45af231883d9ff4fe706ac44c479c36-0' }"
input:
tuple val(meta), path(reads)
diff --git a/modules/nf-core/bowtie/build/main.nf b/modules/nf-core/bowtie/build/main.nf
index 85314ec7..6de02e6e 100644
--- a/modules/nf-core/bowtie/build/main.nf
+++ b/modules/nf-core/bowtie/build/main.nf
@@ -5,7 +5,7 @@ process BOWTIE_BUILD {
conda "bioconda::bowtie=1.3.0"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/bowtie:1.3.0--py38hed8969a_1' :
- 'quay.io/biocontainers/bowtie:1.3.0--py38hed8969a_1' }"
+ 'biocontainers/bowtie:1.3.0--py38hed8969a_1' }"
input:
path fasta
diff --git a/modules/nf-core/bowtie2/align/main.nf b/modules/nf-core/bowtie2/align/main.nf
index 3d851866..a77114d2 100644
--- a/modules/nf-core/bowtie2/align/main.nf
+++ b/modules/nf-core/bowtie2/align/main.nf
@@ -5,7 +5,7 @@ process BOWTIE2_ALIGN {
conda "bioconda::bowtie2=2.4.4 bioconda::samtools=1.16.1 conda-forge::pigz=2.6"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-ac74a7f02cebcfcc07d8e8d1d750af9c83b4d45a:a0ffedb52808e102887f6ce600d092675bf3528a-0' :
- 'quay.io/biocontainers/mulled-v2-ac74a7f02cebcfcc07d8e8d1d750af9c83b4d45a:a0ffedb52808e102887f6ce600d092675bf3528a-0' }"
+ 'biocontainers/mulled-v2-ac74a7f02cebcfcc07d8e8d1d750af9c83b4d45a:a0ffedb52808e102887f6ce600d092675bf3528a-0' }"
input:
tuple val(meta) , path(reads)
@@ -14,10 +14,10 @@ process BOWTIE2_ALIGN {
val sort_bam
output:
- tuple val(meta), path("*.bam") , emit: bam
- tuple val(meta), path("*.log") , emit: log
- tuple val(meta), path("*fastq.gz"), emit: fastq, optional:true
- path "versions.yml" , emit: versions
+ tuple val(meta), path("*.{bam,sam}"), emit: aligned
+ tuple val(meta), path("*.log") , emit: log
+ tuple val(meta), path("*fastq.gz") , emit: fastq, optional:true
+ path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
@@ -38,6 +38,8 @@ process BOWTIE2_ALIGN {
}
def samtools_command = sort_bam ? 'sort' : 'view'
+ def extension_pattern = /(--output-fmt|-O)+\s+(\S+)/
+ def extension = (args2 ==~ extension_pattern) ? (args2 =~ extension_pattern)[0][2].toLowerCase() : "bam"
"""
INDEX=`find -L ./ -name "*.rev.1.bt2" | sed "s/\\.rev.1.bt2\$//"`
@@ -51,7 +53,7 @@ process BOWTIE2_ALIGN {
$unaligned \\
$args \\
2> ${prefix}.bowtie2.log \\
- | samtools $samtools_command $args2 --threads $task.cpus -o ${prefix}.bam -
+ | samtools $samtools_command $args2 --threads $task.cpus -o ${prefix}.${extension} -
if [ -f ${prefix}.unmapped.fastq.1.gz ]; then
mv ${prefix}.unmapped.fastq.1.gz ${prefix}.unmapped_1.fastq.gz
@@ -68,4 +70,25 @@ process BOWTIE2_ALIGN {
pigz: \$( pigz --version 2>&1 | sed 's/pigz //g' )
END_VERSIONS
"""
+
+ stub:
+ def args2 = task.ext.args2 ?: ""
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ def extension_pattern = /(--output-fmt|-O)+\s+(\S+)/
+ def extension = (args2 ==~ extension_pattern) ? (args2 =~ extension_pattern)[0][2].toLowerCase() : "bam"
+
+ """
+ touch ${prefix}.${extension}
+ touch ${prefix}.bowtie2.log
+ touch ${prefix}.unmapped_1.fastq.gz
+ touch ${prefix}.unmapped_2.fastq.gz
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ bowtie2: \$(echo \$(bowtie2 --version 2>&1) | sed 's/^.*bowtie2-align-s version //; s/ .*\$//')
+ samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//')
+ pigz: \$( pigz --version 2>&1 | sed 's/pigz //g' )
+ END_VERSIONS
+ """
+
}
diff --git a/modules/nf-core/bowtie2/align/meta.yml b/modules/nf-core/bowtie2/align/meta.yml
index c8e9a001..60d04c12 100644
--- a/modules/nf-core/bowtie2/align/meta.yml
+++ b/modules/nf-core/bowtie2/align/meta.yml
@@ -46,10 +46,10 @@ input:
description: use samtools sort (true) or samtools view (false)
pattern: "true or false"
output:
- - bam:
+ - aligned:
type: file
- description: Output BAM file containing read alignments
- pattern: "*.{bam}"
+ description: Output BAM/SAM file containing read alignments
+ pattern: "*.{bam,sam}"
- versions:
type: file
description: File containing software versions
diff --git a/modules/nf-core/bowtie2/build/main.nf b/modules/nf-core/bowtie2/build/main.nf
index 551893af..069d9c12 100644
--- a/modules/nf-core/bowtie2/build/main.nf
+++ b/modules/nf-core/bowtie2/build/main.nf
@@ -5,7 +5,7 @@ process BOWTIE2_BUILD {
conda "bioconda::bowtie2=2.4.4"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/bowtie2:2.4.4--py39hbb4e92a_0' :
- 'quay.io/biocontainers/bowtie2:2.4.4--py39hbb4e92a_0' }"
+ 'biocontainers/bowtie2:2.4.4--py39hbb4e92a_0' }"
input:
tuple val(meta), path(fasta)
@@ -27,4 +27,16 @@ process BOWTIE2_BUILD {
bowtie2: \$(echo \$(bowtie2 --version 2>&1) | sed 's/^.*bowtie2-align-s version //; s/ .*\$//')
END_VERSIONS
"""
+
+ stub:
+ """
+ mkdir bowtie2
+ touch bowtie2/${fasta.baseName}.{1..4}.bt2
+ touch bowtie2/${fasta.baseName}.rev.{1,2}.bt2
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ bowtie2: \$(echo \$(bowtie2 --version 2>&1) | sed 's/^.*bowtie2-align-s version //; s/ .*\$//')
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/bwa/index/main.nf b/modules/nf-core/bwa/index/main.nf
index 7ccf3110..c30d194d 100644
--- a/modules/nf-core/bwa/index/main.nf
+++ b/modules/nf-core/bwa/index/main.nf
@@ -5,7 +5,7 @@ process BWA_INDEX {
conda "bioconda::bwa=0.7.17"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/bwa:0.7.17--hed695b0_7' :
- 'quay.io/biocontainers/bwa:0.7.17--hed695b0_7' }"
+ 'biocontainers/bwa:0.7.17--hed695b0_7' }"
input:
tuple val(meta), path(fasta)
@@ -18,13 +18,14 @@ process BWA_INDEX {
task.ext.when == null || task.ext.when
script:
- def args = task.ext.args ?: ''
+ def prefix = task.ext.prefix ?: "${fasta.baseName}"
+ def args = task.ext.args ?: ''
"""
mkdir bwa
bwa \\
index \\
$args \\
- -p bwa/${fasta.baseName} \\
+ -p bwa/${prefix} \\
$fasta
cat <<-END_VERSIONS > versions.yml
@@ -34,14 +35,15 @@ process BWA_INDEX {
"""
stub:
+ def prefix = task.ext.prefix ?: "${fasta.baseName}"
"""
mkdir bwa
- touch bwa/genome.amb
- touch bwa/genome.ann
- touch bwa/genome.bwt
- touch bwa/genome.pac
- touch bwa/genome.sa
+ touch bwa/${prefix}.amb
+ touch bwa/${prefix}.ann
+ touch bwa/${prefix}.bwt
+ touch bwa/${prefix}.pac
+ touch bwa/${prefix}.sa
cat <<-END_VERSIONS > versions.yml
"${task.process}":
diff --git a/modules/nf-core/cat/fastq/main.nf b/modules/nf-core/cat/fastq/main.nf
index 8a0b5600..5021e6fc 100644
--- a/modules/nf-core/cat/fastq/main.nf
+++ b/modules/nf-core/cat/fastq/main.nf
@@ -5,7 +5,7 @@ process CAT_FASTQ {
conda "conda-forge::sed=4.7"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/ubuntu:20.04' :
- 'ubuntu:20.04' }"
+ 'nf-core/ubuntu:20.04' }"
input:
tuple val(meta), path(reads, stageAs: "input*/*")
diff --git a/modules/nf-core/cat/fastq/meta.yml b/modules/nf-core/cat/fastq/meta.yml
index c836598e..8a39e309 100644
--- a/modules/nf-core/cat/fastq/meta.yml
+++ b/modules/nf-core/cat/fastq/meta.yml
@@ -1,6 +1,7 @@
name: cat_fastq
description: Concatenates fastq files
keywords:
+ - cat
- fastq
- concatenate
tools:
@@ -16,7 +17,7 @@ input:
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- reads:
- type: list
+ type: file
description: |
List of input FastQ files to be concatenated.
output:
diff --git a/modules/nf-core/circexplorer2/annotate/main.nf b/modules/nf-core/circexplorer2/annotate/main.nf
index 335723a8..c2eda39a 100644
--- a/modules/nf-core/circexplorer2/annotate/main.nf
+++ b/modules/nf-core/circexplorer2/annotate/main.nf
@@ -5,7 +5,7 @@ process CIRCEXPLORER2_ANNOTATE {
conda "bioconda::circexplorer2=2.3.8"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/circexplorer2:2.3.8--pyh864c0ab_1':
- 'quay.io/biocontainers/circexplorer2:2.3.8--pyh864c0ab_1' }"
+ 'biocontainers/circexplorer2:2.3.8--pyh864c0ab_1' }"
input:
tuple val(meta), path(junctions)
diff --git a/modules/nf-core/circexplorer2/parse/main.nf b/modules/nf-core/circexplorer2/parse/main.nf
index 147a73f3..641c3146 100644
--- a/modules/nf-core/circexplorer2/parse/main.nf
+++ b/modules/nf-core/circexplorer2/parse/main.nf
@@ -5,7 +5,7 @@ process CIRCEXPLORER2_PARSE {
conda "bioconda::circexplorer2=2.3.8"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/circexplorer2:2.3.8--pyh864c0ab_1':
- 'quay.io/biocontainers/circexplorer2:2.3.8--pyh864c0ab_1' }"
+ 'biocontainers/circexplorer2:2.3.8--pyh864c0ab_1' }"
input:
tuple val(meta), path(fusions)
diff --git a/modules/nf-core/custom/dumpsoftwareversions/main.nf b/modules/nf-core/custom/dumpsoftwareversions/main.nf
index ebc87273..c9d014b1 100644
--- a/modules/nf-core/custom/dumpsoftwareversions/main.nf
+++ b/modules/nf-core/custom/dumpsoftwareversions/main.nf
@@ -2,10 +2,10 @@ process CUSTOM_DUMPSOFTWAREVERSIONS {
label 'process_single'
// Requires `pyyaml` which does not have a dedicated container but is in the MultiQC container
- conda "bioconda::multiqc=1.14"
+ conda "bioconda::multiqc=1.15"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/multiqc:1.14--pyhdfd78af_0' :
- 'biocontainers/multiqc:1.14--pyhdfd78af_0' }"
+ 'https://depot.galaxyproject.org/singularity/multiqc:1.15--pyhdfd78af_0' :
+ 'biocontainers/multiqc:1.15--pyhdfd78af_0' }"
input:
path versions
diff --git a/modules/nf-core/fastqc/tests/main.nf.test b/modules/nf-core/fastqc/tests/main.nf.test
new file mode 100644
index 00000000..3961de60
--- /dev/null
+++ b/modules/nf-core/fastqc/tests/main.nf.test
@@ -0,0 +1,32 @@
+nextflow_process {
+
+ name "Test Process FASTQC"
+ script "modules/nf-core/fastqc/main.nf"
+ process "FASTQC"
+ tag "fastqc"
+
+ test("Single-Read") {
+
+ when {
+ process {
+ """
+ input[0] = [
+ [ id: 'test', single_end:true ],
+ [
+ file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true)
+ ]
+ ]
+ """
+ }
+ }
+
+ then {
+ assert process.success
+ assert process.out.html.get(0).get(1) ==~ ".*/test_fastqc.html"
+ assert path(process.out.html.get(0).get(1)).getText().contains("
File type | Conventional base calls |
")
+ assert process.out.zip.get(0).get(1) ==~ ".*/test_fastqc.zip"
+ }
+
+ }
+
+}
diff --git a/modules/nf-core/hisat2/align/main.nf b/modules/nf-core/hisat2/align/main.nf
index eefb5819..db8e8bb6 100644
--- a/modules/nf-core/hisat2/align/main.nf
+++ b/modules/nf-core/hisat2/align/main.nf
@@ -6,12 +6,12 @@ process HISAT2_ALIGN {
conda "bioconda::hisat2=2.2.1 bioconda::samtools=1.16.1"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-a97e90b3b802d1da3d6958e0867610c718cb5eb1:2cdf6bf1e92acbeb9b2834b1c58754167173a410-0' :
- 'quay.io/biocontainers/mulled-v2-a97e90b3b802d1da3d6958e0867610c718cb5eb1:2cdf6bf1e92acbeb9b2834b1c58754167173a410-0' }"
+ 'biocontainers/mulled-v2-a97e90b3b802d1da3d6958e0867610c718cb5eb1:2cdf6bf1e92acbeb9b2834b1c58754167173a410-0' }"
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
@@ -33,6 +33,7 @@ process HISAT2_ALIGN {
} else if (meta.strandedness == 'reverse') {
strandedness = meta.single_end ? '--rna-strandness R' : '--rna-strandness RF'
}
+ ss = "$splicesites" ? "--known-splicesite-infile $splicesites" : ''
def seq_center = params.seq_center ? "--rg-id ${prefix} --rg SM:$prefix --rg CN:${params.seq_center.replaceAll('\\s','_')}" : "--rg-id ${prefix} --rg SM:$prefix"
if (meta.single_end) {
def unaligned = params.save_unaligned ? "--un-gz ${prefix}.unmapped.fastq.gz" : ''
@@ -42,7 +43,7 @@ process HISAT2_ALIGN {
-x \$INDEX \\
-U $reads \\
$strandedness \\
- --known-splicesite-infile $splicesites \\
+ $ss \\
--summary-file ${prefix}.hisat2.summary.log \\
--threads $task.cpus \\
$seq_center \\
@@ -65,7 +66,7 @@ process HISAT2_ALIGN {
-1 ${reads[0]} \\
-2 ${reads[1]} \\
$strandedness \\
- --known-splicesite-infile $splicesites \\
+ $ss \\
--summary-file ${prefix}.hisat2.summary.log \\
--threads $task.cpus \\
$seq_center \\
diff --git a/modules/nf-core/hisat2/align/meta.yml b/modules/nf-core/hisat2/align/meta.yml
index 7550aefa..008a9611 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 e0a7f652..90f8efcc 100644
--- a/modules/nf-core/hisat2/build/main.nf
+++ b/modules/nf-core/hisat2/build/main.nf
@@ -7,16 +7,16 @@ process HISAT2_BUILD {
conda "bioconda::hisat2=2.2.1"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/hisat2:2.2.1--h1b792b2_3' :
- 'quay.io/biocontainers/hisat2:2.2.1--h1b792b2_3' }"
+ '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
@@ -37,9 +37,9 @@ process HISAT2_BUILD {
def hisat2_build_memory = params.hisat2_build_memory ? (params.hisat2_build_memory as nextflow.util.MemoryUnit).toGiga() : 0
if (avail_mem >= hisat2_build_memory) {
log.info "[HISAT2 index build] At least ${hisat2_build_memory} GB available, so using splice sites and exons to build HISAT2 index"
- extract_exons = "hisat2_extract_exons.py $gtf > ${gtf.baseName}.exons.txt"
- ss = "--ss $splicesites"
- exon = "--exon ${gtf.baseName}.exons.txt"
+ extract_exons = gtf ? "hisat2_extract_exons.py $gtf > ${gtf.baseName}.exons.txt" : ""
+ ss = splicesites ? "--ss $splicesites" : ""
+ exon = gtf ? "--exon ${gtf.baseName}.exons.txt" : ""
} else {
log.info "[HISAT2 index build] Less than ${hisat2_build_memory} GB available, so NOT using splice sites and exons to build HISAT2 index."
log.info "[HISAT2 index build] Use --hisat2_build_memory [small number] to skip this check."
diff --git a/modules/nf-core/hisat2/build/meta.yml b/modules/nf-core/hisat2/build/meta.yml
index a2e1fd67..e61bf2a3 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 db6cbe6a..a6e59e20 100644
--- a/modules/nf-core/hisat2/extractsplicesites/main.nf
+++ b/modules/nf-core/hisat2/extractsplicesites/main.nf
@@ -6,14 +6,14 @@ process HISAT2_EXTRACTSPLICESITES {
conda "bioconda::hisat2=2.2.1"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/hisat2:2.2.1--h1b792b2_3' :
- 'quay.io/biocontainers/hisat2:2.2.1--h1b792b2_3' }"
+ '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 7dc1bac8..f70de082 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/miranda/main.nf b/modules/nf-core/miranda/main.nf
index 2f32f788..eb7f6e76 100644
--- a/modules/nf-core/miranda/main.nf
+++ b/modules/nf-core/miranda/main.nf
@@ -5,7 +5,7 @@ process MIRANDA {
conda "bioconda::miranda=3.3a"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/miranda:3.3a--h779adbc_3':
- 'quay.io/biocontainers/miranda:3.3a--h779adbc_3' }"
+ 'biocontainers/miranda:3.3a--h779adbc_3' }"
input:
tuple val(meta), path(query)
diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf
index 1fc387be..65d7dd0d 100644
--- a/modules/nf-core/multiqc/main.nf
+++ b/modules/nf-core/multiqc/main.nf
@@ -1,10 +1,10 @@
process MULTIQC {
label 'process_single'
- conda "bioconda::multiqc=1.14"
+ conda "bioconda::multiqc=1.15"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/multiqc:1.14--pyhdfd78af_0' :
- 'biocontainers/multiqc:1.14--pyhdfd78af_0' }"
+ 'https://depot.galaxyproject.org/singularity/multiqc:1.15--pyhdfd78af_0' :
+ 'biocontainers/multiqc:1.15--pyhdfd78af_0' }"
input:
path multiqc_files, stageAs: "?/*"
diff --git a/modules/nf-core/samtools/flagstat/main.nf b/modules/nf-core/samtools/flagstat/main.nf
index 2120cd7d..b75707ec 100644
--- a/modules/nf-core/samtools/flagstat/main.nf
+++ b/modules/nf-core/samtools/flagstat/main.nf
@@ -2,10 +2,10 @@ process SAMTOOLS_FLAGSTAT {
tag "$meta.id"
label 'process_single'
- conda "bioconda::samtools=1.16.1"
+ conda "bioconda::samtools=1.17"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' :
- 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.17--h00cdaf9_0' :
+ 'biocontainers/samtools:1.17--h00cdaf9_0' }"
input:
tuple val(meta), path(bam), path(bai)
@@ -32,4 +32,15 @@ process SAMTOOLS_FLAGSTAT {
samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//')
END_VERSIONS
"""
+
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ """
+ touch ${prefix}.flagstat
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//')
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/samtools/flagstat/meta.yml b/modules/nf-core/samtools/flagstat/meta.yml
index 95269063..954225df 100644
--- a/modules/nf-core/samtools/flagstat/meta.yml
+++ b/modules/nf-core/samtools/flagstat/meta.yml
@@ -14,7 +14,7 @@ tools:
short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.
These files are generated as output by short read aligners like BWA.
homepage: http://www.htslib.org/
- documentation: hhttp://www.htslib.org/doc/samtools.html
+ documentation: http://www.htslib.org/doc/samtools.html
doi: 10.1093/bioinformatics/btp352
licence: ["MIT"]
input:
diff --git a/modules/nf-core/samtools/idxstats/main.nf b/modules/nf-core/samtools/idxstats/main.nf
index a7b87d8b..83c7c34b 100644
--- a/modules/nf-core/samtools/idxstats/main.nf
+++ b/modules/nf-core/samtools/idxstats/main.nf
@@ -2,10 +2,10 @@ process SAMTOOLS_IDXSTATS {
tag "$meta.id"
label 'process_single'
- conda "bioconda::samtools=1.16.1"
+ conda "bioconda::samtools=1.17"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' :
- 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.17--h00cdaf9_0' :
+ 'biocontainers/samtools:1.17--h00cdaf9_0' }"
input:
tuple val(meta), path(bam), path(bai)
@@ -33,4 +33,16 @@ process SAMTOOLS_IDXSTATS {
samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//')
END_VERSIONS
"""
+
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+
+ """
+ touch ${prefix}.idxstats
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//')
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/samtools/idxstats/meta.yml b/modules/nf-core/samtools/idxstats/meta.yml
index 3710ab88..dda87e1e 100644
--- a/modules/nf-core/samtools/idxstats/meta.yml
+++ b/modules/nf-core/samtools/idxstats/meta.yml
@@ -15,7 +15,7 @@ tools:
short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.
These files are generated as output by short read aligners like BWA.
homepage: http://www.htslib.org/
- documentation: hhttp://www.htslib.org/doc/samtools.html
+ documentation: http://www.htslib.org/doc/samtools.html
doi: 10.1093/bioinformatics/btp352
licence: ["MIT"]
input:
diff --git a/modules/nf-core/samtools/index/main.nf b/modules/nf-core/samtools/index/main.nf
index 8b95687a..0b20aa4b 100644
--- a/modules/nf-core/samtools/index/main.nf
+++ b/modules/nf-core/samtools/index/main.nf
@@ -2,10 +2,10 @@ process SAMTOOLS_INDEX {
tag "$meta.id"
label 'process_low'
- conda "bioconda::samtools=1.16.1"
+ conda "bioconda::samtools=1.17"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' :
- 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.17--h00cdaf9_0' :
+ 'biocontainers/samtools:1.17--h00cdaf9_0' }"
input:
tuple val(meta), path(input)
diff --git a/modules/nf-core/samtools/index/meta.yml b/modules/nf-core/samtools/index/meta.yml
index e5cadbc2..8bd2fa6f 100644
--- a/modules/nf-core/samtools/index/meta.yml
+++ b/modules/nf-core/samtools/index/meta.yml
@@ -12,7 +12,7 @@ tools:
short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.
These files are generated as output by short read aligners like BWA.
homepage: http://www.htslib.org/
- documentation: hhttp://www.htslib.org/doc/samtools.html
+ documentation: http://www.htslib.org/doc/samtools.html
doi: 10.1093/bioinformatics/btp352
licence: ["MIT"]
input:
diff --git a/modules/nf-core/samtools/sort/main.nf b/modules/nf-core/samtools/sort/main.nf
index 84c167cd..2b7753fd 100644
--- a/modules/nf-core/samtools/sort/main.nf
+++ b/modules/nf-core/samtools/sort/main.nf
@@ -2,10 +2,10 @@ process SAMTOOLS_SORT {
tag "$meta.id"
label 'process_medium'
- conda "bioconda::samtools=1.16.1"
+ conda "bioconda::samtools=1.17"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' :
- 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.17--h00cdaf9_0' :
+ 'biocontainers/samtools:1.17--h00cdaf9_0' }"
input:
tuple val(meta), path(bam)
@@ -23,7 +23,13 @@ process SAMTOOLS_SORT {
def prefix = task.ext.prefix ?: "${meta.id}"
if ("$bam" == "${prefix}.bam") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!"
"""
- samtools sort $args -@ $task.cpus -o ${prefix}.bam -T $prefix $bam
+ samtools sort \\
+ $args \\
+ -@ $task.cpus \\
+ -o ${prefix}.bam \\
+ -T $prefix \\
+ $bam
+
cat <<-END_VERSIONS > versions.yml
"${task.process}":
samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//')
diff --git a/modules/nf-core/samtools/sort/meta.yml b/modules/nf-core/samtools/sort/meta.yml
index 09289751..07328431 100644
--- a/modules/nf-core/samtools/sort/meta.yml
+++ b/modules/nf-core/samtools/sort/meta.yml
@@ -12,7 +12,7 @@ tools:
short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.
These files are generated as output by short read aligners like BWA.
homepage: http://www.htslib.org/
- documentation: hhttp://www.htslib.org/doc/samtools.html
+ documentation: http://www.htslib.org/doc/samtools.html
doi: 10.1093/bioinformatics/btp352
licence: ["MIT"]
input:
diff --git a/modules/nf-core/samtools/stats/main.nf b/modules/nf-core/samtools/stats/main.nf
index 0a2a3640..4a2607de 100644
--- a/modules/nf-core/samtools/stats/main.nf
+++ b/modules/nf-core/samtools/stats/main.nf
@@ -2,14 +2,14 @@ process SAMTOOLS_STATS {
tag "$meta.id"
label 'process_single'
- conda "bioconda::samtools=1.16.1"
+ conda "bioconda::samtools=1.17"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' :
- 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.17--h00cdaf9_0' :
+ 'biocontainers/samtools:1.17--h00cdaf9_0' }"
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 cac50b1c..90e6345f 100644
--- a/modules/nf-core/samtools/stats/meta.yml
+++ b/modules/nf-core/samtools/stats/meta.yml
@@ -13,7 +13,7 @@ tools:
short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.
These files are generated as output by short read aligners like BWA.
homepage: http://www.htslib.org/
- documentation: hhttp://www.htslib.org/doc/samtools.html
+ documentation: http://www.htslib.org/doc/samtools.html
doi: 10.1093/bioinformatics/btp352
licence: ["MIT"]
input:
@@ -23,16 +23,21 @@ input:
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- input:
- type: file
- description: BAM/CRAM file from alignment
- pattern: "*.{bam,cram}"
+ type: file
+ description: BAM/CRAM file from alignment
+ pattern: "*.{bam,cram}"
- input_index:
- type: file
- description: BAI/CRAI file from alignment
- pattern: "*.{bai,crai}"
+ 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/samtools/view/main.nf b/modules/nf-core/samtools/view/main.nf
index 729c85e5..cb91facf 100644
--- a/modules/nf-core/samtools/view/main.nf
+++ b/modules/nf-core/samtools/view/main.nf
@@ -2,14 +2,14 @@ process SAMTOOLS_VIEW {
tag "$meta.id"
label 'process_low'
- conda "bioconda::samtools=1.16.1"
+ conda "bioconda::samtools=1.17"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' :
- 'quay.io/biocontainers/samtools:1.16.1--h6899075_1' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.17--h00cdaf9_0' :
+ 'biocontainers/samtools:1.17--h00cdaf9_0' }"
input:
tuple val(meta), path(input), path(index)
- path fasta
+ tuple val(meta2), path(fasta)
path qname
output:
diff --git a/modules/nf-core/samtools/view/meta.yml b/modules/nf-core/samtools/view/meta.yml
index a52e4f8d..3b05450b 100644
--- a/modules/nf-core/samtools/view/meta.yml
+++ b/modules/nf-core/samtools/view/meta.yml
@@ -12,7 +12,7 @@ tools:
short DNA sequence read alignments in the SAM, BAM and CRAM formats, written by Heng Li.
These files are generated as output by short read aligners like BWA.
homepage: http://www.htslib.org/
- documentation: hhttp://www.htslib.org/doc/samtools.html
+ documentation: http://www.htslib.org/doc/samtools.html
doi: 10.1093/bioinformatics/btp352
licence: ["MIT"]
input:
@@ -26,12 +26,17 @@ input:
description: BAM/CRAM/SAM file
pattern: "*.{bam,cram,sam}"
- index:
- type: optional file
- description: BAM.BAI/CRAM.CRAI file
- pattern: "*.{.bai,.crai}"
+ type: file
+ description: BAM.BAI/BAM.CSI/CRAM.CRAI file (optional)
+ pattern: "*.{.bai,.csi,.crai}"
+ - meta2:
+ type: map
+ description: |
+ Groovy Map containing reference information
+ e.g. [ id:'test' ]
- 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}"
- qname:
type: file
diff --git a/modules/nf-core/segemehl/align/main.nf b/modules/nf-core/segemehl/align/main.nf
index 3e7fe4c7..768cd384 100644
--- a/modules/nf-core/segemehl/align/main.nf
+++ b/modules/nf-core/segemehl/align/main.nf
@@ -5,7 +5,7 @@ process SEGEMEHL_ALIGN {
conda "bioconda::segemehl=0.3.4"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/segemehl:0.3.4--hc2ea5fd_5':
- 'quay.io/biocontainers/segemehl:0.3.4--hc2ea5fd_5' }"
+ 'biocontainers/segemehl:0.3.4--hc2ea5fd_5' }"
input:
tuple val(meta), path(reads)
diff --git a/modules/nf-core/segemehl/align/meta.yml b/modules/nf-core/segemehl/align/meta.yml
index bb5ac49f..7059cee8 100644
--- a/modules/nf-core/segemehl/align/meta.yml
+++ b/modules/nf-core/segemehl/align/meta.yml
@@ -39,7 +39,7 @@ output:
Groovy Map containing sample information
e.g. [ id:'test', single_end:false ]
- results:
- type: folder
+ type: directory
description: |
Directory containing genomic alignments in SAM format
(please add "-b" flag to task.ext.args for BAM)
diff --git a/modules/nf-core/segemehl/index/main.nf b/modules/nf-core/segemehl/index/main.nf
index f545c448..4a9146fe 100644
--- a/modules/nf-core/segemehl/index/main.nf
+++ b/modules/nf-core/segemehl/index/main.nf
@@ -5,7 +5,7 @@ process SEGEMEHL_INDEX {
conda "bioconda::segemehl=0.3.4"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/segemehl:0.3.4--hc2ea5fd_5':
- 'quay.io/biocontainers/segemehl:0.3.4--hc2ea5fd_5' }"
+ 'biocontainers/segemehl:0.3.4--hc2ea5fd_5' }"
input:
path fasta
diff --git a/modules/nf-core/segemehl/index/meta.yml b/modules/nf-core/segemehl/index/meta.yml
index a154dad7..de23592e 100644
--- a/modules/nf-core/segemehl/index/meta.yml
+++ b/modules/nf-core/segemehl/index/meta.yml
@@ -1,5 +1,6 @@
name: "segemehl_index"
description: Generate genome indices for segemehl align
+keywords:
- index
- circrna
- splicing
diff --git a/modules/nf-core/star/align/main.nf b/modules/nf-core/star/align/main.nf
index 0e3bd713..d0e20384 100644
--- a/modules/nf-core/star/align/main.nf
+++ b/modules/nf-core/star/align/main.nf
@@ -5,30 +5,34 @@ process STAR_ALIGN {
conda "bioconda::star=2.7.10a bioconda::samtools=1.16.1 conda-forge::gawk=5.1.0"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:1df389393721fc66f3fd8778ad938ac711951107-0' :
- 'quay.io/biocontainers/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:1df389393721fc66f3fd8778ad938ac711951107-0' }"
+ 'biocontainers/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:1df389393721fc66f3fd8778ad938ac711951107-0' }"
input:
- tuple val(meta), path(reads)
- path index
- path gtf
+ tuple val(meta), path(reads, stageAs: "input*/*")
+ tuple val(meta2), path(index)
+ tuple val(meta3), path(gtf)
val star_ignore_sjdbgtf
val seq_platform
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
tuple val(meta), path('*fastq.gz') , optional:true, emit: fastq
tuple val(meta), path('*.tab') , optional:true, emit: tab
+ tuple val(meta), path('*.SJ.out.tab') , optional:true, emit: spl_junc_tab
+ tuple val(meta), path('*.ReadsPerGene.out.tab') , optional:true, emit: read_per_gene_tab
tuple val(meta), path('*.out.junction') , optional:true, emit: junction
tuple val(meta), path('*.out.sam') , optional:true, emit: sam
+ tuple val(meta), path('*.wig') , optional:true, emit: wig
+ tuple val(meta), path('*.bg') , optional:true, emit: bedgraph
when:
task.ext.when == null || task.ext.when
@@ -36,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
@@ -81,11 +88,16 @@ process STAR_ALIGN {
touch ${prefix}.sortedByCoord.out.bam
touch ${prefix}.toTranscriptome.out.bam
touch ${prefix}.Aligned.unsort.out.bam
+ touch ${prefix}.Aligned.sortedByCoord.out.bam
touch ${prefix}.unmapped_1.fastq.gz
touch ${prefix}.unmapped_2.fastq.gz
touch ${prefix}.tab
+ touch ${prefix}.SJ.out.tab
+ touch ${prefix}.ReadsPerGene.out.tab
touch ${prefix}.Chimeric.out.junction
touch ${prefix}.out.sam
+ touch ${prefix}.Signal.UniqueMultiple.str1.out.wig
+ touch ${prefix}.Signal.UniqueMultiple.str1.out.bg
cat <<-END_VERSIONS > versions.yml
"${task.process}":
diff --git a/modules/nf-core/star/align/meta.yml b/modules/nf-core/star/align/meta.yml
index 7ee10f1c..3d8fed0c 100644
--- a/modules/nf-core/star/align/meta.yml
+++ b/modules/nf-core/star/align/meta.yml
@@ -25,10 +25,34 @@ 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:'test' ]
- index:
type: directory
description: STAR genome index
pattern: "star"
+ - meta3:
+ type: map
+ description: |
+ Groovy Map containing reference information
+ e.g. [ id:'test' ]
+ - gtf:
+ type: file
+ description: Annotation GTF file
+ pattern: "*.{gtf}"
+ - star_ignore_sjdbgtf:
+ type: boolean
+ description: Ignore annotation GTF file
+ - seq_platform:
+ type: string
+ description: Sequencing platform
+ - seq_center:
+ type: string
+ description: Sequencing center
+
output:
- bam:
type: file
@@ -74,6 +98,14 @@ output:
type: file
description: STAR chimeric junction output file (optional)
pattern: "*.out.junction"
+ - wig:
+ type: file
+ description: STAR output wiggle format file(s) (optional)
+ pattern: "*.wig"
+ - bedgraph:
+ type: file
+ description: STAR output bedGraph format file(s) (optional)
+ pattern: "*.bg"
authors:
- "@kevinmenden"
diff --git a/modules/nf-core/star/genomegenerate/main.nf b/modules/nf-core/star/genomegenerate/main.nf
index 91462489..43424042 100644
--- a/modules/nf-core/star/genomegenerate/main.nf
+++ b/modules/nf-core/star/genomegenerate/main.nf
@@ -5,15 +5,15 @@ process STAR_GENOMEGENERATE {
conda "bioconda::star=2.7.10a bioconda::samtools=1.16.1 conda-forge::gawk=5.1.0"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:1df389393721fc66f3fd8778ad938ac711951107-0' :
- 'quay.io/biocontainers/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:1df389393721fc66f3fd8778ad938ac711951107-0' }"
+ 'biocontainers/mulled-v2-1fa26d1ce03c295fe2fdcf85831a92fbcbd7e8c2:1df389393721fc66f3fd8778ad938ac711951107-0' }"
input:
- path fasta
- path gtf
+ tuple val(meta), path(fasta)
+ tuple val(meta2), path(gtf)
output:
- path "star" , emit: index
- path "versions.yml", emit: versions
+ tuple val(meta), path("star") , emit: index
+ path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
diff --git a/modules/nf-core/star/genomegenerate/meta.yml b/modules/nf-core/star/genomegenerate/meta.yml
index 8181157a..eba2d9cf 100644
--- a/modules/nf-core/star/genomegenerate/meta.yml
+++ b/modules/nf-core/star/genomegenerate/meta.yml
@@ -15,14 +15,29 @@ tools:
doi: 10.1093/bioinformatics/bts635
licence: ["MIT"]
input:
+ - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
- fasta:
type: file
description: Fasta file of the reference genome
+ - meta2:
+ type: map
+ description: |
+ Groovy Map containing reference information
+ e.g. [ id:'test' ]
- gtf:
type: file
description: GTF file of the reference genome
output:
+ - meta:
+ type: map
+ description: |
+ Groovy Map containing sample information
+ e.g. [ id:'test', single_end:false ]
- index:
type: directory
description: Folder containing the star index files
diff --git a/modules/nf-core/stringtie/stringtie/main.nf b/modules/nf-core/stringtie/stringtie/main.nf
index 2d5b035f..d0f8b563 100644
--- a/modules/nf-core/stringtie/stringtie/main.nf
+++ b/modules/nf-core/stringtie/stringtie/main.nf
@@ -5,7 +5,7 @@ process STRINGTIE_STRINGTIE {
conda "bioconda::stringtie=2.2.1"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/stringtie:2.2.1--hecb563c_2' :
- 'quay.io/biocontainers/stringtie:2.2.1--hecb563c_2' }"
+ 'biocontainers/stringtie:2.2.1--hecb563c_2' }"
input:
tuple val(meta), path(bam)
diff --git a/modules/nf-core/trimgalore/main.nf b/modules/nf-core/trimgalore/main.nf
index ab8bb14e..dcb77ae7 100644
--- a/modules/nf-core/trimgalore/main.nf
+++ b/modules/nf-core/trimgalore/main.nf
@@ -5,19 +5,18 @@ process TRIMGALORE {
conda "bioconda::trim-galore=0.6.7"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/trim-galore:0.6.7--hdfd78af_0' :
- 'quay.io/biocontainers/trim-galore:0.6.7--hdfd78af_0' }"
+ 'biocontainers/trim-galore:0.6.7--hdfd78af_0' }"
input:
tuple val(meta), path(reads)
output:
- tuple val(meta), path("*{trimmed,val}*.fq.gz"), emit: reads
- tuple val(meta), path("*report.txt") , emit: log
- path "versions.yml" , emit: versions
-
- tuple val(meta), path("*unpaired*.fq.gz") , emit: unpaired, optional: true
- tuple val(meta), path("*.html") , emit: html , optional: true
- tuple val(meta), path("*.zip") , emit: zip , optional: true
+ tuple val(meta), path("*{3prime,5prime,trimmed,val}*.fq.gz"), emit: reads
+ tuple val(meta), path("*report.txt") , emit: log , optional: true
+ tuple val(meta), path("*unpaired*.fq.gz") , emit: unpaired, optional: true
+ tuple val(meta), path("*.html") , emit: html , optional: true
+ tuple val(meta), path("*.zip") , emit: zip , optional: true
+ path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
@@ -38,10 +37,12 @@ process TRIMGALORE {
// Added soft-links to original fastqs for consistent naming in MultiQC
def prefix = task.ext.prefix ?: "${meta.id}"
if (meta.single_end) {
+ def args_list = args.split("\\s(?=--)").toList()
+ args_list.removeAll { it.toLowerCase().contains('_r2 ') }
"""
[ ! -f ${prefix}.fastq.gz ] && ln -s $reads ${prefix}.fastq.gz
trim_galore \\
- $args \\
+ ${args_list.join(' ')} \\
--cores $cores \\
--gzip \\
${prefix}.fastq.gz
diff --git a/modules/nf-core/trimgalore/meta.yml b/modules/nf-core/trimgalore/meta.yml
index 439f566d..f84c4d77 100644
--- a/modules/nf-core/trimgalore/meta.yml
+++ b/modules/nf-core/trimgalore/meta.yml
@@ -36,7 +36,7 @@ output:
description: |
List of input adapter trimmed FastQ files of size 1 and 2 for
single-end and paired-end data, respectively.
- pattern: "*.{fq.gz}"
+ pattern: "*{3prime,5prime,trimmed,val}*.fq.gz"
- unpaired:
type: file
description: |
diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/main.nf b/subworkflows/nf-core/bam_sort_stats_samtools/main.nf
index 617871fe..fc1c652b 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_sort_stats_samtools/meta.yml b/subworkflows/nf-core/bam_sort_stats_samtools/meta.yml
index 131065be..69c16be4 100644
--- a/subworkflows/nf-core/bam_sort_stats_samtools/meta.yml
+++ b/subworkflows/nf-core/bam_sort_stats_samtools/meta.yml
@@ -1,3 +1,4 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json
name: bam_sort_stats_samtools
description: Sort SAM/BAM/CRAM file
keywords:
@@ -5,12 +6,13 @@ keywords:
- bam
- sam
- cram
-modules:
+components:
- samtools/sort
- samtools/index
- samtools/stats
- samtools/idxstats
- samtools/flagstat
+ - bam_stats_samtools
input:
- meta:
type: map
diff --git a/subworkflows/nf-core/bam_stats_samtools/main.nf b/subworkflows/nf-core/bam_stats_samtools/main.nf
index cfcc48dd..44d4c010 100644
--- a/subworkflows/nf-core/bam_stats_samtools/main.nf
+++ b/subworkflows/nf-core/bam_stats_samtools/main.nf
@@ -8,25 +8,25 @@ include { SAMTOOLS_FLAGSTAT } from '../../../modules/nf-core/samtools/flagstat/m
workflow BAM_STATS_SAMTOOLS {
take:
- bam_bai // channel: [ val(meta), [ bam/cram ], [bai/csi] ]
- fasta // channel: [ fasta ]
+ ch_bam_bai // channel: [ val(meta), path(bam), path(bai) ]
+ ch_fasta // channel: [ val(meta), path(fasta) ]
main:
ch_versions = Channel.empty()
- SAMTOOLS_STATS ( bam_bai, fasta )
+ SAMTOOLS_STATS ( ch_bam_bai, ch_fasta )
ch_versions = ch_versions.mix(SAMTOOLS_STATS.out.versions)
- SAMTOOLS_FLAGSTAT ( bam_bai )
+ SAMTOOLS_FLAGSTAT ( ch_bam_bai )
ch_versions = ch_versions.mix(SAMTOOLS_FLAGSTAT.out.versions)
- SAMTOOLS_IDXSTATS ( bam_bai )
+ SAMTOOLS_IDXSTATS ( ch_bam_bai )
ch_versions = ch_versions.mix(SAMTOOLS_IDXSTATS.out.versions)
emit:
- stats = SAMTOOLS_STATS.out.stats // channel: [ val(meta), [ stats ] ]
- flagstat = SAMTOOLS_FLAGSTAT.out.flagstat // channel: [ val(meta), [ flagstat ] ]
- idxstats = SAMTOOLS_IDXSTATS.out.idxstats // channel: [ val(meta), [ idxstats ] ]
+ stats = SAMTOOLS_STATS.out.stats // channel: [ val(meta), path(stats) ]
+ flagstat = SAMTOOLS_FLAGSTAT.out.flagstat // channel: [ val(meta), path(flagstat) ]
+ idxstats = SAMTOOLS_IDXSTATS.out.idxstats // channel: [ val(meta), path(idxstats) ]
- versions = ch_versions // channel: [ versions.yml ]
+ versions = ch_versions // channel: [ path(versions.yml) ]
}
diff --git a/subworkflows/nf-core/bam_stats_samtools/meta.yml b/subworkflows/nf-core/bam_stats_samtools/meta.yml
index 5252b0e4..87863b11 100644
--- a/subworkflows/nf-core/bam_stats_samtools/meta.yml
+++ b/subworkflows/nf-core/bam_stats_samtools/meta.yml
@@ -1,3 +1,4 @@
+# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/subworkflows/yaml-schema.json
name: bam_stats_samtools
description: Produces comprehensive statistics from SAM/BAM/CRAM file
keywords:
@@ -6,49 +7,35 @@ keywords:
- bam
- sam
- cram
-modules:
+components:
- samtools/stats
- samtools/idxstats
- samtools/flagstat
input:
- - meta:
- type: map
+ - ch_bam_bai:
description: |
- Groovy Map containing sample information
- e.g. [ id:'test', single_end:false ]
- - bam:
- type: file
- description: BAM/CRAM/SAM file
- pattern: "*.{bam,cram,sam}"
- - bai:
- type: file
- description: Index for BAM/CRAM/SAM file
- pattern: "*.{bai,crai,sai}"
- - fasta:
- type: file
- description: Reference genome fasta file
- pattern: "*.{fasta,fa}"
-output:
- - meta:
- type: map
+ The input channel containing the BAM/CRAM and it's index
+ Structure: [ val(meta), path(bam), path(bai) ]
+ - ch_fasta:
description: |
- Groovy Map containing sample information
- e.g. [ id:'test', single_end:false ]
+ Reference genome fasta file
+ Structure: [ path(fasta) ]
+output:
- stats:
- type: file
- description: File containing samtools stats output
- pattern: "*.{stats}"
+ description: |
+ File containing samtools stats output
+ Structure: [ val(meta), path(stats) ]
- flagstat:
- type: file
- description: File containing samtools flagstat output
- pattern: "*.{flagstat}"
+ description: |
+ File containing samtools flagstat output
+ Structure: [ val(meta), path(flagstat) ]
- idxstats:
- type: file
- description: File containing samtools idxstats output
- pattern: "*.{idxstats}"
+ description: |
+ File containing samtools idxstats output
+ Structure: [ val(meta), path(idxstats)]
- versions:
- type: file
- description: File containing software versions
- pattern: "versions.yml"
+ description: |
+ Files containing software versions
+ Structure: [ path(versions.yml) ]
authors:
- "@drpatelh"