diff --git a/CHANGELOG.md b/CHANGELOG.md
index dfeded678..cafb32598 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -95,6 +95,7 @@ Thank you to everyone else that has contributed by reporting bugs, enhancements
- [PR #1326](https://github.com/nf-core/rnaseq/pull/1326) - Move Conda dependencies for local modules to individual environment file
- [PR #1328](https://github.com/nf-core/rnaseq/pull/1328) - Add pipeline level test for STAR-RSEM and HISAT2
- [PR #1329](https://github.com/nf-core/rnaseq/pull/1329) - Remove tags from all nf-test files
+- [PR #1330](https://github.com/nf-core/rnaseq/pull/1330) - Update all nf-core/modules and subworkflows
### Parameters
@@ -114,9 +115,10 @@ Thank you to everyone else that has contributed by reporting bugs, enhancements
| `bioconductor-dupradar` | 1.28.0 | 1.32.0 |
| `bioconductor-summarizedexperiment` | 1.24.0 | 1.32.0 |
| `bioconductor-tximeta` | 1.12.0 | 1.20.1 |
-| `multiqc` | 1.20 | 1.21 |
+| `gffread` | 0.12.1 | 0.12.7 |
+| `multiqc` | 1.20 | 1.22.3 |
| `picard` | 3.0.0 | 3.1.1 |
-| `samtools` | 1.17 | 1.19.2 |
+| `samtools` | 1.17 | 1.20 |
| `sortmerna` | 4.3.4 | 4.3.6 |
| `umi_tools` | 1.14 | 1.15 |
diff --git a/bin/mqc_features_stat.py b/bin/mqc_features_stat.py
index fa69b231c..b0577cd5f 100755
--- a/bin/mqc_features_stat.py
+++ b/bin/mqc_features_stat.py
@@ -21,8 +21,7 @@
# description: '% reads overlapping {ft} features'
# max: 100
# min: 0
-# scale: 'RdYlGn-rev'
-# format: '{{:.2f}}%'"""
+# scale: 'RdYlGn-rev'"""
def mqc_feature_stat(bfile, features, outfile, sname=None):
diff --git a/modules.json b/modules.json
index 0279448ce..4ee9cf73f 100644
--- a/modules.json
+++ b/modules.json
@@ -7,7 +7,7 @@
"nf-core": {
"bbmap/bbsplit": {
"branch": "master",
- "git_sha": "ecc2139bc014be1d0117d6c69458d82fbfa3328f",
+ "git_sha": "2c6b1144ed58b6184ad58fc4e6b6a90219b4bf4f",
"installed_by": ["modules"]
},
"bedtools/genomecov": {
@@ -17,32 +17,33 @@
},
"cat/fastq": {
"branch": "master",
- "git_sha": "0997b47c93c06b49aa7b3fefda87e728312cf2ca",
+ "git_sha": "4fc983ad0b30e6e32696fa7d980c76c7bfe1c03e",
"installed_by": ["modules"]
},
"custom/catadditionalfasta": {
"branch": "master",
- "git_sha": "ba6ec49354837595649acd84e7a867d59bf11ad0",
+ "git_sha": "2c6b1144ed58b6184ad58fc4e6b6a90219b4bf4f",
"installed_by": ["modules"]
},
"custom/getchromsizes": {
"branch": "master",
- "git_sha": "1b0ffa4e5aed5b7e3cd4311af31bd3b2c8345051",
+ "git_sha": "41a4135c502b42ede663af87efa70a96ecbd7cb9",
"installed_by": ["modules"]
},
"custom/tx2gene": {
"branch": "master",
- "git_sha": "ec155021a9104441bf6a9bae3b55d1b5b0bfdb3a",
+ "git_sha": "82024cf6325d2ee194e7f056d841ecad2f6856e9",
"installed_by": ["modules", "quantify_pseudo_alignment"]
},
"dupradar": {
"branch": "master",
"git_sha": "f632a6e25b05497477920183cff33ba72ab7b6fc",
- "installed_by": ["modules"]
+ "installed_by": ["modules"],
+ "patch": "modules/nf-core/dupradar/dupradar.diff"
},
"fastp": {
"branch": "master",
- "git_sha": "95cf5fe0194c7bf5cb0e3027a2eb7e7c89385080",
+ "git_sha": "b90b5cd93149a1b3be263d916c7234fe0708a71c",
"installed_by": ["fastq_fastqc_umitools_fastp", "modules"]
},
"fastqc": {
@@ -52,32 +53,32 @@
},
"fq/subsample": {
"branch": "master",
- "git_sha": "59d1faf07ace4f7a00f7fa7778bce4e1f1dcdd63",
+ "git_sha": "2c6b1144ed58b6184ad58fc4e6b6a90219b4bf4f",
"installed_by": ["fastq_subsample_fq_salmon", "modules"]
},
"gffread": {
"branch": "master",
- "git_sha": "b1b959609bda44341120aed1766329909f54b8d0",
+ "git_sha": "6c996d7fbe0816dcbb68ce587ad5f873313682a1",
"installed_by": ["modules"]
},
"gunzip": {
"branch": "master",
- "git_sha": "3a5fef109d113b4997c9822198664ca5f2716208",
+ "git_sha": "a7231cbccb86535529e33859e05d19ac93f3ea04",
"installed_by": ["modules"]
},
"hisat2/align": {
"branch": "master",
- "git_sha": "400037f54de4b0c42712ec5a499d9fd9e66250d1",
+ "git_sha": "2c6b1144ed58b6184ad58fc4e6b6a90219b4bf4f",
"installed_by": ["fastq_align_hisat2"]
},
"hisat2/build": {
"branch": "master",
- "git_sha": "400037f54de4b0c42712ec5a499d9fd9e66250d1",
+ "git_sha": "2c6b1144ed58b6184ad58fc4e6b6a90219b4bf4f",
"installed_by": ["modules"]
},
"hisat2/extractsplicesites": {
"branch": "master",
- "git_sha": "400037f54de4b0c42712ec5a499d9fd9e66250d1",
+ "git_sha": "2c6b1144ed58b6184ad58fc4e6b6a90219b4bf4f",
"installed_by": ["modules"]
},
"kallisto/index": {
@@ -92,7 +93,7 @@
},
"multiqc": {
"branch": "master",
- "git_sha": "b7ebe95761cd389603f9cc0e0dc384c0f663815a",
+ "git_sha": "314d742bdb357a1df5f9b88427b3b6ac78aa33f7",
"installed_by": ["modules"]
},
"picard/markduplicates": {
@@ -102,7 +103,7 @@
},
"preseq/lcextrap": {
"branch": "master",
- "git_sha": "9a88058962c0ee1715f2ad0e017c37e0cd75e532",
+ "git_sha": "2c6b1144ed58b6184ad58fc4e6b6a90219b4bf4f",
"installed_by": ["modules"]
},
"qualimap/rnaseq": {
@@ -172,17 +173,17 @@
},
"samtools/flagstat": {
"branch": "master",
- "git_sha": "f4596fe0bdc096cf53ec4497e83defdb3a94ff62",
+ "git_sha": "04fbbc7c43cebc0b95d5b126f6d9fe4effa33519",
"installed_by": ["bam_stats_samtools"]
},
"samtools/idxstats": {
"branch": "master",
- "git_sha": "f4596fe0bdc096cf53ec4497e83defdb3a94ff62",
+ "git_sha": "04fbbc7c43cebc0b95d5b126f6d9fe4effa33519",
"installed_by": ["bam_stats_samtools"]
},
"samtools/index": {
"branch": "master",
- "git_sha": "f4596fe0bdc096cf53ec4497e83defdb3a94ff62",
+ "git_sha": "04fbbc7c43cebc0b95d5b126f6d9fe4effa33519",
"installed_by": [
"bam_dedup_stats_samtools_umitools",
"bam_markduplicates_picard",
@@ -191,12 +192,12 @@
},
"samtools/sort": {
"branch": "master",
- "git_sha": "4352dbdb09ec40db71e9b172b97a01dcf5622c26",
+ "git_sha": "04fbbc7c43cebc0b95d5b126f6d9fe4effa33519",
"installed_by": ["bam_sort_stats_samtools"]
},
"samtools/stats": {
"branch": "master",
- "git_sha": "f4596fe0bdc096cf53ec4497e83defdb3a94ff62",
+ "git_sha": "04fbbc7c43cebc0b95d5b126f6d9fe4effa33519",
"installed_by": ["bam_stats_samtools"]
},
"sortmerna": {
@@ -231,7 +232,7 @@
},
"trimgalore": {
"branch": "master",
- "git_sha": "d2c5e76f291379f3dd403e48e46ed7e6ba5da744",
+ "git_sha": "a98418419ae6c9df3cf6cf108d1e1aba71037d5a",
"installed_by": ["fastq_fastqc_umitools_trimgalore"]
},
"tximeta/tximport": {
@@ -275,12 +276,12 @@
"nf-core": {
"bam_dedup_stats_samtools_umitools": {
"branch": "master",
- "git_sha": "f4596fe0bdc096cf53ec4497e83defdb3a94ff62",
+ "git_sha": "8f2062e7b4185590fb9f43c275381a31a6544fc0",
"installed_by": ["subworkflows"]
},
"bam_markduplicates_picard": {
"branch": "master",
- "git_sha": "1943aa60f7490c3d6740e8872e6e69122ccc8087",
+ "git_sha": "04fbbc7c43cebc0b95d5b126f6d9fe4effa33519",
"installed_by": ["subworkflows"]
},
"bam_rseqc": {
@@ -290,12 +291,12 @@
},
"bam_sort_stats_samtools": {
"branch": "master",
- "git_sha": "4352dbdb09ec40db71e9b172b97a01dcf5622c26",
+ "git_sha": "04fbbc7c43cebc0b95d5b126f6d9fe4effa33519",
"installed_by": ["fastq_align_hisat2"]
},
"bam_stats_samtools": {
"branch": "master",
- "git_sha": "f4596fe0bdc096cf53ec4497e83defdb3a94ff62",
+ "git_sha": "04fbbc7c43cebc0b95d5b126f6d9fe4effa33519",
"installed_by": [
"bam_dedup_stats_samtools_umitools",
"bam_markduplicates_picard",
@@ -309,12 +310,12 @@
},
"fastq_align_hisat2": {
"branch": "master",
- "git_sha": "701ae347c4508fba1b7d65262596f278b6a11cb6",
+ "git_sha": "2c6b1144ed58b6184ad58fc4e6b6a90219b4bf4f",
"installed_by": ["subworkflows"]
},
"fastq_fastqc_umitools_fastp": {
"branch": "master",
- "git_sha": "e98edb838fb0072c0783139ed16723bbc5d48d23",
+ "git_sha": "b90b5cd93149a1b3be263d916c7234fe0708a71c",
"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 1abb608c2..57bf6398a 100644
--- a/modules/nf-core/bbmap/bbsplit/main.nf
+++ b/modules/nf-core/bbmap/bbsplit/main.nf
@@ -105,4 +105,23 @@ process BBMAP_BBSPLIT {
END_VERSIONS
"""
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ def other_refs = ''
+ other_ref_names.eachWithIndex { name, index ->
+ other_refs += "echo '' | gzip > ${prefix}_primary_${name}.fastq.gz"
+ }
+ """
+ mkdir bbsplit
+
+ echo '' | gzip > ${prefix}_primary.fastq.gz
+ ${other_refs}
+ touch ${prefix}.stats.txt
+ touch ${prefix}.log
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ bbmap: \$(bbversion.sh | grep -v "Duplicate cpuset")
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/bbmap/bbsplit/tests/main.nf.test b/modules/nf-core/bbmap/bbsplit/tests/main.nf.test
index 0257fedac..b878366b3 100644
--- a/modules/nf-core/bbmap/bbsplit/tests/main.nf.test
+++ b/modules/nf-core/bbmap/bbsplit/tests/main.nf.test
@@ -3,6 +3,70 @@ nextflow_process {
name "Test Process BBMAP_BBSPLIT"
script "../main.nf"
process "BBMAP_BBSPLIT"
+ tag "modules"
+ tag "modules_nfcore"
+ tag "bbmap"
+ tag "bbmap/bbsplit"
+
+ test("sarscov2_se_fastq_fasta_chr22_fasta - index") {
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [[:],[]]
+ input[1] = []
+ input[2] = Channel.of(file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true))
+ input[3] = Channel.of([
+ [ 'human' ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr22/sequence/chr22_23800000-23980000.fa', checkIfExists: true)
+ ])
+ input[4] = true
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert path("${process.out.index[0]}").exists() },
+ { assert path(process.out.log[0][1]).text.contains("No index available") },
+ { assert snapshot(process.out.versions).match() }
+ )
+ }
+ }
+
+ test("sarscov2_se_fastq_fasta_chr22_fasta - index - stub") {
+
+ options "-stub"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [[:],[]]
+ input[1] = []
+ input[2] = Channel.of(file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true))
+ input[3] = Channel.of([
+ [ 'human' ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr22/sequence/chr22_23800000-23980000.fa', checkIfExists: true)
+ ])
+ input[4] = true
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
test("sarscov2_se_fastq_fasta_chr22_fasta") {
@@ -84,4 +148,37 @@ nextflow_process {
)
}
}
+
+ test("sarscov2_se_fastq_fasta_chr22_fasta - stub") {
+
+ options "-stub"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:true ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
+ ])
+ input[1] = []
+ input[2] = Channel.of(file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true))
+ input[3] = Channel.of([
+ [ 'human' ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr22/sequence/chr22_23800000-23980000.fa', checkIfExists: true)
+ ])
+ input[4] = false
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
}
diff --git a/modules/nf-core/bbmap/bbsplit/tests/main.nf.test.snap b/modules/nf-core/bbmap/bbsplit/tests/main.nf.test.snap
index 51b3bee1f..6a4889aaa 100644
--- a/modules/nf-core/bbmap/bbsplit/tests/main.nf.test.snap
+++ b/modules/nf-core/bbmap/bbsplit/tests/main.nf.test.snap
@@ -26,5 +26,231 @@
"nextflow": "23.10.1"
},
"timestamp": "2024-02-01T17:11:22.441753642"
+ },
+ "sarscov2_se_fastq_fasta_chr22_fasta - index": {
+ "content": [
+ [
+ "versions.yml:md5,cb7f0e697ab2537f8ced951bfade90d4"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T16:41:29.784895"
+ },
+ "sarscov2_se_fastq_fasta_chr22_fasta - index - stub": {
+ "content": [
+ {
+ "0": [
+ [
+
+ ]
+ ],
+ "1": [
+ [
+ {
+
+ },
+ [
+ "null_primary.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "null_primary_human.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "2": [
+ [
+ {
+
+ },
+ [
+ "null_primary.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "null_primary_human.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "3": [
+ [
+ {
+
+ },
+ "null.stats.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "4": [
+ [
+ {
+
+ },
+ "null.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "5": [
+ "versions.yml:md5,cb7f0e697ab2537f8ced951bfade90d4"
+ ],
+ "all_fastq": [
+ [
+ {
+
+ },
+ [
+ "null_primary.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "null_primary_human.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "index": [
+ [
+
+ ]
+ ],
+ "log": [
+ [
+ {
+
+ },
+ "null.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "primary_fastq": [
+ [
+ {
+
+ },
+ [
+ "null_primary.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "null_primary_human.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "stats": [
+ [
+ {
+
+ },
+ "null.stats.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,cb7f0e697ab2537f8ced951bfade90d4"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T18:49:27.280432"
+ },
+ "sarscov2_se_fastq_fasta_chr22_fasta - stub": {
+ "content": [
+ {
+ "0": [
+ [
+
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ [
+ "test_primary.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_primary_human.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "2": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ [
+ "test_primary.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_primary_human.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "3": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.stats.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "4": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "5": [
+ "versions.yml:md5,cb7f0e697ab2537f8ced951bfade90d4"
+ ],
+ "all_fastq": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ [
+ "test_primary.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_primary_human.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "index": [
+ [
+
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "primary_fastq": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ [
+ "test_primary.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_primary_human.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "stats": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.stats.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,cb7f0e697ab2537f8ced951bfade90d4"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T16:16:05.793544"
}
-}
+}
\ No newline at end of file
diff --git a/modules/nf-core/cat/fastq/tests/main.nf.test b/modules/nf-core/cat/fastq/tests/main.nf.test
index ab7cdada9..7236c6cd9 100644
--- a/modules/nf-core/cat/fastq/tests/main.nf.test
+++ b/modules/nf-core/cat/fastq/tests/main.nf.test
@@ -1,3 +1,5 @@
+// NOTE The version snaps may not be consistant
+// https://github.com/nf-core/modules/pull/4087#issuecomment-1767948035
nextflow_process {
name "Test Process CAT_FASTQ"
diff --git a/modules/nf-core/custom/catadditionalfasta/environment.yml b/modules/nf-core/custom/catadditionalfasta/environment.yml
index 5e757bf4c..e587338b5 100644
--- a/modules/nf-core/custom/catadditionalfasta/environment.yml
+++ b/modules/nf-core/custom/catadditionalfasta/environment.yml
@@ -6,4 +6,4 @@ channels:
- bioconda
- defaults
dependencies:
- - conda-forge::python=3.9.5"
+ - conda-forge::python=3.9.5
diff --git a/modules/nf-core/custom/catadditionalfasta/main.nf b/modules/nf-core/custom/catadditionalfasta/main.nf
index 7289976e0..88ce4954b 100644
--- a/modules/nf-core/custom/catadditionalfasta/main.nf
+++ b/modules/nf-core/custom/catadditionalfasta/main.nf
@@ -1,7 +1,7 @@
process CUSTOM_CATADDITIONALFASTA {
tag "$meta.id"
- conda "conda-forge::python=3.9.5"
+ conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
'https://depot.galaxyproject.org/singularity/python:3.9--1' :
'biocontainers/python:3.9--1' }"
@@ -21,4 +21,17 @@ process CUSTOM_CATADDITIONALFASTA {
script:
template 'fasta2gtf.py'
+
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ """
+ mkdir out
+ touch out/genome_transcriptome.fasta
+ touch out/genome_transcriptome.gtf
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ python: \$(python --version | grep -v "Python ")
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/custom/catadditionalfasta/templates/fasta2gtf.py b/modules/nf-core/custom/catadditionalfasta/templates/fasta2gtf.py
index 39b1d4b2f..194a04160 100755
--- a/modules/nf-core/custom/catadditionalfasta/templates/fasta2gtf.py
+++ b/modules/nf-core/custom/catadditionalfasta/templates/fasta2gtf.py
@@ -114,16 +114,8 @@ def main() -> None:
fasta_to_gtf("$add_fasta", f"{add_name}.gtf", "$biotype")
# Concatenate new fasta to existing fasta, and the GTF we just generated to the GTF
- genome_name = (
- "$params.genome"
- if "$params.genome" != "null"
- else os.path.splitext(os.path.basename("$fasta"))[0]
- )
- output_prefix = (
- "$task.ext.prefix"
- if "$task.ext.prefix" != "null"
- else f"{genome_name}_{add_name}"
- )
+ genome_name = "$params.genome" if "$params.genome" != "null" else os.path.splitext(os.path.basename("$fasta"))[0]
+ output_prefix = "$task.ext.prefix" if "$task.ext.prefix" != "null" else f"{genome_name}_{add_name}"
os.mkdir("out")
os.system(f"cat $fasta $add_fasta > out/{output_prefix}.fasta")
diff --git a/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test b/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test
index 7cf230bd7..70227f1c5 100644
--- a/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test
+++ b/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test
@@ -31,7 +31,37 @@ nextflow_process {
{ assert snapshot(process.out.versions).match("versions") }
)
}
-
}
+ test("sarscov2 - fastq - gtf - stub") {
+
+ options "-stub"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:false ],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true)
+ ])
+ input[1] = Channel.of([
+ [ id:'test', single_end:false ],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/transcriptome.fasta', checkIfExists: true)
+ ])
+ input[2] = 'test_biotype'
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
}
diff --git a/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test.snap b/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test.snap
index 8f63d9b47..9e49a90c9 100644
--- a/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test.snap
+++ b/modules/nf-core/custom/catadditionalfasta/tests/main.nf.test.snap
@@ -5,6 +5,10 @@
"versions.yml:md5,26f47339777a265af57338ac7f0f8798"
]
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-12-20T20:52:55.242485"
},
"gtf": {
@@ -19,6 +23,10 @@
]
]
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-12-20T19:46:31.839377"
},
"fasta": {
@@ -33,6 +41,63 @@
]
]
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-12-20T19:42:47.12194"
+ },
+ "sarscov2 - fastq - gtf - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "genome_transcriptome.fasta:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "genome_transcriptome.gtf:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ "versions.yml:md5,451e5a1afee71b2b916b6f2ccc47e508"
+ ],
+ "fasta": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "genome_transcriptome.fasta:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "gtf": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "genome_transcriptome.gtf:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,451e5a1afee71b2b916b6f2ccc47e508"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T17:10:38.966949"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/custom/getchromsizes/environment.yml b/modules/nf-core/custom/getchromsizes/environment.yml
index 2a01695f1..2ecd0128f 100644
--- a/modules/nf-core/custom/getchromsizes/environment.yml
+++ b/modules/nf-core/custom/getchromsizes/environment.yml
@@ -4,4 +4,5 @@ channels:
- bioconda
- defaults
dependencies:
- - bioconda::samtools=1.16.1
+ - bioconda::samtools=1.20
+ - bioconda::htslib=1.20
diff --git a/modules/nf-core/custom/getchromsizes/main.nf b/modules/nf-core/custom/getchromsizes/main.nf
index e8084ea2c..581f4b77d 100644
--- a/modules/nf-core/custom/getchromsizes/main.nf
+++ b/modules/nf-core/custom/getchromsizes/main.nf
@@ -4,8 +4,8 @@ process CUSTOM_GETCHROMSIZES {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.16.1--h6899075_1' :
- 'biocontainers/samtools:1.16.1--h6899075_1' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.20--h50ea8bc_0' :
+ 'biocontainers/samtools:1.20--h50ea8bc_0' }"
input:
tuple val(meta), path(fasta)
diff --git a/modules/nf-core/custom/getchromsizes/tests/main.nf.test.snap b/modules/nf-core/custom/getchromsizes/tests/main.nf.test.snap
index 2e560bd32..3c53d4624 100644
--- a/modules/nf-core/custom/getchromsizes/tests/main.nf.test.snap
+++ b/modules/nf-core/custom/getchromsizes/tests/main.nf.test.snap
@@ -22,7 +22,7 @@
],
"3": [
- "versions.yml:md5,45a83c5f3dddbc5dcab30035169f7ce8"
+ "versions.yml:md5,0d5a7c33bddcb1edad6bf0705b258e6f"
],
"fai": [
[
@@ -44,11 +44,15 @@
]
],
"versions": [
- "versions.yml:md5,45a83c5f3dddbc5dcab30035169f7ce8"
+ "versions.yml:md5,0d5a7c33bddcb1edad6bf0705b258e6f"
]
}
],
- "timestamp": "2024-01-17T17:48:35.562918"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T13:22:34.14237"
},
"test_custom_getchromsizes_bgzip": {
"content": [
@@ -78,7 +82,7 @@
]
],
"3": [
- "versions.yml:md5,45a83c5f3dddbc5dcab30035169f7ce8"
+ "versions.yml:md5,0d5a7c33bddcb1edad6bf0705b258e6f"
],
"fai": [
[
@@ -105,10 +109,14 @@
]
],
"versions": [
- "versions.yml:md5,45a83c5f3dddbc5dcab30035169f7ce8"
+ "versions.yml:md5,0d5a7c33bddcb1edad6bf0705b258e6f"
]
}
],
- "timestamp": "2024-01-17T17:49:02.562311"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T13:23:06.241379"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/custom/tx2gene/templates/tx2gene.py b/modules/nf-core/custom/tx2gene/templates/tx2gene.py
index 7fd0de64e..8c2e3b1f4 100755
--- a/modules/nf-core/custom/tx2gene/templates/tx2gene.py
+++ b/modules/nf-core/custom/tx2gene/templates/tx2gene.py
@@ -17,6 +17,7 @@
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
+
def format_yaml_like(data: dict, indent: int = 0) -> str:
"""Formats a dictionary to a YAML-like string.
@@ -36,6 +37,7 @@ def format_yaml_like(data: dict, indent: int = 0) -> str:
yaml_str += f"{spaces}{key}: {value}\\n"
return yaml_str
+
def read_top_transcripts(quant_dir: str, file_pattern: str) -> Set[str]:
"""
Read the top 100 transcripts from the quantification file.
@@ -123,7 +125,12 @@ def parse_attributes(attributes_text: str) -> Dict[str, str]:
def map_transcripts_to_gene(
- quant_type: str, gtf_file: str, quant_dir: str, gene_id: str, extra_id_field: str, output_file: str
+ quant_type: str,
+ gtf_file: str,
+ quant_dir: str,
+ gene_id: str,
+ extra_id_field: str,
+ output_file: str,
) -> bool:
"""
Map transcripts to gene names and write the output to a file.
@@ -156,7 +163,10 @@ def map_transcripts_to_gene(
attr_dict = parse_attributes(cols[8])
if gene_id in attr_dict and transcript_attribute in attr_dict:
# Create a unique identifier for the transcript-gene combination
- transcript_gene_pair = (attr_dict[transcript_attribute], attr_dict[gene_id])
+ transcript_gene_pair = (
+ attr_dict[transcript_attribute],
+ attr_dict[gene_id],
+ )
# Check if the combination has already been seen
if transcript_gene_pair not in seen:
@@ -170,14 +180,14 @@ def map_transcripts_to_gene(
# Main function to parse arguments and call the mapping function
if __name__ == "__main__":
- if '${task.ext.prefix}' != "null":
+ if "${task.ext.prefix}" != "null":
prefix = "${task.ext.prefix}."
- elif '$meta.id' != "null":
- prefix = '${meta.id}.'
+ elif "$meta.id" != "null":
+ prefix = "${meta.id}."
else:
- prefix = ''
+ prefix = ""
- if not map_transcripts_to_gene('$quant_type', '$gtf', 'quants', '$id', '$extra', f"{prefix}tx2gene.tsv"):
+ if not map_transcripts_to_gene("$quant_type", "$gtf", "quants", "$id", "$extra", f"{prefix}tx2gene.tsv"):
logger.error("Failed to map transcripts to genes.")
# Write the versions
diff --git a/modules/nf-core/dupradar/dupradar.diff b/modules/nf-core/dupradar/dupradar.diff
new file mode 100644
index 000000000..c24bc6570
--- /dev/null
+++ b/modules/nf-core/dupradar/dupradar.diff
@@ -0,0 +1,130 @@
+Changes in module 'nf-core/dupradar'
+--- /dev/null
++++ modules/nf-core/dupradar/nextflow.config
+@@ -0,0 +1,35 @@
++if (!params.skip_alignment && !params.skip_qc) {
++ if (!params.skip_dupradar) {
++ process {
++ withName: 'DUPRADAR' {
++ publishDir = [
++ [
++ path: { "${params.outdir}/${params.aligner}/dupradar/scatter_plot" },
++ mode: params.publish_dir_mode,
++ pattern: "*Dens.pdf"
++ ],
++ [
++ path: { "${params.outdir}/${params.aligner}/dupradar/box_plot" },
++ mode: params.publish_dir_mode,
++ pattern: "*Boxplot.pdf"
++ ],
++ [
++ path: { "${params.outdir}/${params.aligner}/dupradar/histogram" },
++ mode: params.publish_dir_mode,
++ pattern: "*Hist.pdf"
++ ],
++ [
++ path: { "${params.outdir}/${params.aligner}/dupradar/gene_data" },
++ mode: params.publish_dir_mode,
++ pattern: "*Matrix.txt"
++ ],
++ [
++ path: { "${params.outdir}/${params.aligner}/dupradar/intercepts_slope" },
++ mode: params.publish_dir_mode,
++ pattern: "*slope.txt"
++ ]
++ ]
++ }
++ }
++ }
++}
+
+--- modules/nf-core/dupradar/tests/main.nf.test.snap
++++ modules/nf-core/dupradar/tests/main.nf.test.snap
+@@ -50,8 +50,8 @@
+ "strandedness": "forward"
+ },
+ [
+- "test_dup_intercept_mqc.txt:md5,d69369924aeb9695b0e97e755e0d9ea3",
+- "test_duprateExpDensCurve_mqc.txt:md5,f4a50dc09de81219ed4449c11153ba6e"
++ "test_dup_intercept_mqc.txt:md5,002855b42a71aa0f407ef7fa19df9ac3",
++ "test_duprateExpDensCurve_mqc.txt:md5,5c6ab345e3e0089d409624d6a4bf4e40"
+ ]
+ ]
+ ]
+@@ -150,8 +150,8 @@
+ "strandedness": "forward"
+ },
+ [
+- "test_dup_intercept_mqc.txt:md5,7b6fb70cbede0d20ffa576a0cc0b249d",
+- "test_duprateExpDensCurve_mqc.txt:md5,49b44937123c14b622f346cb6156dd4f"
++ "test_dup_intercept_mqc.txt:md5,11961f0962ffc70e42aa57a12984e0fc",
++ "test_duprateExpDensCurve_mqc.txt:md5,eb742e354c8d5d6bed8d2ebac087f0ac"
+ ]
+ ]
+ ]
+@@ -357,4 +357,4 @@
+ },
+ "timestamp": "2024-03-07T13:07:43.344100132"
+ }
+-}+}
+
+--- modules/nf-core/dupradar/tests/main.nf.test
++++ modules/nf-core/dupradar/tests/main.nf.test
+@@ -3,10 +3,6 @@
+ name "Test Process DUPRADAR"
+ script "../main.nf"
+ process "DUPRADAR"
+-
+- tag "modules"
+- tag "modules_nfcore"
+- tag "dupradar"
+
+ test("sarscov2 - bam - single_end") {
+
+
+--- modules/nf-core/dupradar/templates/dupradar.r
++++ modules/nf-core/dupradar/templates/dupradar.r
+@@ -88,7 +88,6 @@
+ # max: 100
+ # min: 0
+ # scale: 'RdYlGn-rev'
+-# format: '{:.2f}%'
+ Sample dupRadar_intercept"
+
+ write(line,file=paste0(output_prefix, "_dup_intercept_mqc.txt"),append=TRUE)
+@@ -115,15 +114,15 @@
+ # This plot shows the general linear models - a summary of the gene duplication distributions. \"
+ #pconfig:
+ # title: 'DupRadar General Linear Model'
+-# xLog: True
++# xlog: True
+ # xlab: 'expression (reads/kbp)'
+ # ylab: '% duplicate reads'
+ # ymax: 100
+ # ymin: 0
+ # tt_label: '{point.x:.1f} reads/kbp: {point.y:,.2f}% duplicates'
+-# xPlotLines:
++# x_lines:
+ # - color: 'green'
+-# dashStyle: 'LongDash'
++# dash: 'LongDash'
+ # label:
+ # style: {color: 'green'}
+ # text: '0.5 RPKM'
+@@ -132,7 +131,7 @@
+ # value: 0.5
+ # width: 1
+ # - color: 'red'
+-# dashStyle: 'LongDash'
++# dash: 'LongDash'
+ # label:
+ # style: {color: 'red'}
+ # text: '1 read/bp'
+
+--- modules/nf-core/dupradar/tests/tags.yml
++++ /dev/null
+@@ -1,2 +0,0 @@
+-dupradar:
+- - "modules/nf-core/dupradar/**"
+
+************************************************************
diff --git a/modules/nf-core/dupradar/templates/dupradar.r b/modules/nf-core/dupradar/templates/dupradar.r
index ec20cb851..95e7b4d88 100755
--- a/modules/nf-core/dupradar/templates/dupradar.r
+++ b/modules/nf-core/dupradar/templates/dupradar.r
@@ -88,7 +88,6 @@ line="#id: DupInt
# max: 100
# min: 0
# scale: 'RdYlGn-rev'
-# format: '{:.2f}%'
Sample dupRadar_intercept"
write(line,file=paste0(output_prefix, "_dup_intercept_mqc.txt"),append=TRUE)
@@ -115,15 +114,15 @@ line="#id: dupradar
# This plot shows the general linear models - a summary of the gene duplication distributions. \"
#pconfig:
# title: 'DupRadar General Linear Model'
-# xLog: True
+# xlog: True
# xlab: 'expression (reads/kbp)'
# ylab: '% duplicate reads'
# ymax: 100
# ymin: 0
# tt_label: '{point.x:.1f} reads/kbp: {point.y:,.2f}% duplicates'
-# xPlotLines:
+# x_lines:
# - color: 'green'
-# dashStyle: 'LongDash'
+# dash: 'LongDash'
# label:
# style: {color: 'green'}
# text: '0.5 RPKM'
@@ -132,7 +131,7 @@ line="#id: dupradar
# value: 0.5
# width: 1
# - color: 'red'
-# dashStyle: 'LongDash'
+# dash: 'LongDash'
# label:
# style: {color: 'red'}
# text: '1 read/bp'
diff --git a/modules/nf-core/dupradar/tests/main.nf.test.snap b/modules/nf-core/dupradar/tests/main.nf.test.snap
index e64aa7298..79587a439 100644
--- a/modules/nf-core/dupradar/tests/main.nf.test.snap
+++ b/modules/nf-core/dupradar/tests/main.nf.test.snap
@@ -50,8 +50,8 @@
"strandedness": "forward"
},
[
- "test_dup_intercept_mqc.txt:md5,d69369924aeb9695b0e97e755e0d9ea3",
- "test_duprateExpDensCurve_mqc.txt:md5,f4a50dc09de81219ed4449c11153ba6e"
+ "test_dup_intercept_mqc.txt:md5,002855b42a71aa0f407ef7fa19df9ac3",
+ "test_duprateExpDensCurve_mqc.txt:md5,5c6ab345e3e0089d409624d6a4bf4e40"
]
]
]
@@ -150,8 +150,8 @@
"strandedness": "forward"
},
[
- "test_dup_intercept_mqc.txt:md5,7b6fb70cbede0d20ffa576a0cc0b249d",
- "test_duprateExpDensCurve_mqc.txt:md5,49b44937123c14b622f346cb6156dd4f"
+ "test_dup_intercept_mqc.txt:md5,11961f0962ffc70e42aa57a12984e0fc",
+ "test_duprateExpDensCurve_mqc.txt:md5,eb742e354c8d5d6bed8d2ebac087f0ac"
]
]
]
@@ -357,4 +357,4 @@
},
"timestamp": "2024-03-07T13:07:43.344100132"
}
-}
\ No newline at end of file
+}
diff --git a/modules/nf-core/fastp/main.nf b/modules/nf-core/fastp/main.nf
index 4fc19b744..df60ff61e 100644
--- a/modules/nf-core/fastp/main.nf
+++ b/modules/nf-core/fastp/main.nf
@@ -10,6 +10,7 @@ process FASTP {
input:
tuple val(meta), path(reads)
path adapter_fasta
+ val discard_trimmed_pass
val save_trimmed_fail
val save_merged
@@ -18,9 +19,9 @@ process FASTP {
tuple val(meta), path('*.json') , emit: json
tuple val(meta), path('*.html') , emit: html
tuple val(meta), path('*.log') , emit: log
- path "versions.yml" , emit: versions
tuple val(meta), path('*.fail.fastq.gz') , optional:true, emit: reads_fail
tuple val(meta), path('*.merged.fastq.gz'), optional:true, emit: reads_merged
+ path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
@@ -30,6 +31,8 @@ process FASTP {
def prefix = task.ext.prefix ?: "${meta.id}"
def adapter_list = adapter_fasta ? "--adapter_fasta ${adapter_fasta}" : ""
def fail_fastq = save_trimmed_fail && meta.single_end ? "--failed_out ${prefix}.fail.fastq.gz" : save_trimmed_fail && !meta.single_end ? "--failed_out ${prefix}.paired.fail.fastq.gz --unpaired1 ${prefix}_1.fail.fastq.gz --unpaired2 ${prefix}_2.fail.fastq.gz" : ''
+ def out_fq1 = discard_trimmed_pass ?: ( meta.single_end ? "--out1 ${prefix}.fastp.fastq.gz" : "--out1 ${prefix}_1.fastp.fastq.gz" )
+ def out_fq2 = discard_trimmed_pass ?: "--out2 ${prefix}_2.fastp.fastq.gz"
// Added soft-links to original fastqs for consistent naming in MultiQC
// Use single ended for interleaved. Add --interleaved_in in config.
if ( task.ext.args?.contains('--interleaved_in') ) {
@@ -59,7 +62,7 @@ process FASTP {
fastp \\
--in1 ${prefix}.fastq.gz \\
- --out1 ${prefix}.fastp.fastq.gz \\
+ $out_fq1 \\
--thread $task.cpus \\
--json ${prefix}.fastp.json \\
--html ${prefix}.fastp.html \\
@@ -81,8 +84,8 @@ process FASTP {
fastp \\
--in1 ${prefix}_1.fastq.gz \\
--in2 ${prefix}_2.fastq.gz \\
- --out1 ${prefix}_1.fastp.fastq.gz \\
- --out2 ${prefix}_2.fastp.fastq.gz \\
+ $out_fq1 \\
+ $out_fq2 \\
--json ${prefix}.fastp.json \\
--html ${prefix}.fastp.html \\
$adapter_list \\
@@ -103,10 +106,10 @@ process FASTP {
stub:
def prefix = task.ext.prefix ?: "${meta.id}"
def is_single_output = task.ext.args?.contains('--interleaved_in') || meta.single_end
- def touch_reads = is_single_output ? "${prefix}.fastp.fastq.gz" : "${prefix}_1.fastp.fastq.gz ${prefix}_2.fastp.fastq.gz"
- def touch_merged = (!is_single_output && save_merged) ? "touch ${prefix}.merged.fastq.gz" : ""
+ def touch_reads = (is_single_output && !discard_trimmed_pass) ? "echo '' | gzip > ${prefix}.fastp.fastq.gz" : "echo '' | gzip > ${prefix}_1.fastp.fastq.gz ; echo '' | gzip > ${prefix}_2.fastp.fastq.gz"
+ def touch_merged = (!is_single_output && save_merged) ? "echo '' | gzip > ${prefix}.merged.fastq.gz" : ""
"""
- touch $touch_reads
+ $touch_reads
touch "${prefix}.fastp.json"
touch "${prefix}.fastp.html"
touch "${prefix}.fastp.log"
diff --git a/modules/nf-core/fastp/meta.yml b/modules/nf-core/fastp/meta.yml
index c22a16abd..8dfecc184 100644
--- a/modules/nf-core/fastp/meta.yml
+++ b/modules/nf-core/fastp/meta.yml
@@ -27,12 +27,16 @@ input:
type: file
description: File in FASTA format containing possible adapters to remove.
pattern: "*.{fasta,fna,fas,fa}"
+ - discard_trimmed_pass:
+ type: boolean
+ description: Specify true to not write any reads that pass trimming thresholds. |
+ This can be used to use fastp for the output report only.
- save_trimmed_fail:
type: boolean
description: Specify true to save files that failed to pass trimming thresholds ending in `*.fail.fastq.gz`
- save_merged:
type: boolean
- description: Specify true to save all merged reads to the a file ending in `*.merged.fastq.gz`
+ description: Specify true to save all merged reads to a file ending in `*.merged.fastq.gz`
output:
- meta:
type: map
diff --git a/modules/nf-core/fastp/tests/main.nf.test b/modules/nf-core/fastp/tests/main.nf.test
index 1ffdd75f8..ed5fa5ed6 100644
--- a/modules/nf-core/fastp/tests/main.nf.test
+++ b/modules/nf-core/fastp/tests/main.nf.test
@@ -7,66 +7,32 @@ nextflow_process {
test("test_fastp_single_end") {
when {
- params {
- outdir = "$outputDir"
- }
+
process {
"""
- adapter_fasta = []
- save_trimmed_fail = false
- save_merged = false
-
input[0] = Channel.of([
[ id:'test', single_end:true ],
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = false
+ input[4] = false
"""
}
}
then {
- def html_text = [ "Q20 bases:
12.922000 K (92.984097%)",
- "single end (151 cycles)" ]
- def log_text = [ "Q20 bases: 12922(92.9841%)",
- "reads passed filter: 99" ]
- def read_lines = ["@ERR5069949.2151832 NS500628:121:HK3MMAFX2:2:21208:10793:15304/1",
- "TCATAAACCAAAGCACTCACAGTGTCAACAATTTCAGCAGGACAACGCCGACAAGTTCCGAGGAACATGTCTGGACCTATAGTTTTCATAAGTCTACACACTGAATTGAAATATTCTGGTTCTAGTGTGCCCTTAGTTAGCAATGTGCGT",
- "AAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEE
- { assert path(process.out.reads.get(0).get(1)).linesGzip.contains(read_line) }
- }
- },
- { html_text.each { html_part ->
- { assert path(process.out.html.get(0).get(1)).getText().contains(html_part) }
- }
- },
- { assert snapshot(process.out.json).match("test_fastp_single_end_json") },
- { log_text.each { log_part ->
- { assert path(process.out.log.get(0).get(1)).getText().contains(log_part) }
- }
- },
- {
- assert snapshot(
- (
- [process.out.reads[0][0].toString()] + // meta
- process.out.reads.collect { file(it[1]).getName() } +
- process.out.json.collect { file(it[1]).getName() } +
- process.out.html.collect { file(it[1]).getName() } +
- process.out.log.collect { file(it[1]).getName() } +
- process.out.reads_fail.collect { file(it[1]).getName() } +
- process.out.reads_merged.collect { file(it[1]).getName() }
- ).sort()
- ).match("test_fastp_single_end-_match")
- },
- { assert snapshot(process.out.versions).match("versions_single_end") }
+ { assert snapshot(
+ process.out.reads,
+ process.out.json,
+ process.out.versions).match() },
+ { assert process.out.reads_fail == [] },
+ { assert process.out.reads_merged == [] },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") }
)
}
}
@@ -76,22 +42,16 @@ nextflow_process {
options '-stub'
when {
- params {
- outdir = "$outputDir"
- }
process {
"""
- adapter_fasta = []
- save_trimmed_fail = false
- save_merged = false
-
input[0] = Channel.of([
[ id:'test', single_end:true ],
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = false
+ input[4] = false
"""
}
}
@@ -100,20 +60,7 @@ nextflow_process {
assertAll(
{ assert process.success },
- {
- assert snapshot(
- (
- [process.out.reads[0][0].toString()] + // meta
- process.out.reads.collect { file(it[1]).getName() } +
- process.out.json.collect { file(it[1]).getName() } +
- process.out.html.collect { file(it[1]).getName() } +
- process.out.log.collect { file(it[1]).getName() } +
- process.out.reads_fail.collect { file(it[1]).getName() } +
- process.out.reads_merged.collect { file(it[1]).getName() }
- ).sort()
- ).match("test_fastp_single_end-for_stub_match")
- },
- { assert snapshot(process.out.versions).match("versions_single_end_stub") }
+ { assert snapshot(process.out).match() }
)
}
}
@@ -121,12 +68,11 @@ nextflow_process {
test("test_fastp_paired_end") {
when {
- params {
- outdir = "$outputDir"
- }
+
process {
"""
adapter_fasta = []
+ save_trimmed_pass = true
save_trimmed_fail = false
save_merged = false
@@ -135,93 +81,46 @@ nextflow_process {
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = false
+ input[4] = false
"""
}
}
then {
- def html_text = [ "Q20 bases: | 25.719000 K (93.033098%)",
- "The input has little adapter percentage (~0.000000%), probably it's trimmed before."]
- def log_text = [ "No adapter detected for read1",
- "Q30 bases: 12281(88.3716%)"]
- def json_text = ['"passed_filter_reads": 198']
- def read1_lines = ["@ERR5069949.2151832 NS500628:121:HK3MMAFX2:2:21208:10793:15304/1",
- "TCATAAACCAAAGCACTCACAGTGTCAACAATTTCAGCAGGACAACGCCGACAAGTTCCGAGGAACATGTCTGGACCTATAGTTTTCATAAGTCTACACACTGAATTGAAATATTCTGGTTCTAGTGTGCCCTTAGTTAGCAATGTGCGT",
- "AAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEE
- { assert path(process.out.reads.get(0).get(1).get(0)).linesGzip.contains(read1_line) }
- }
- },
- { read2_lines.each { read2_line ->
- { assert path(process.out.reads.get(0).get(1).get(1)).linesGzip.contains(read2_line) }
- }
- },
- { html_text.each { html_part ->
- { assert path(process.out.html.get(0).get(1)).getText().contains(html_part) }
- }
- },
- { json_text.each { json_part ->
- { assert path(process.out.json.get(0).get(1)).getText().contains(json_part) }
- }
- },
- { log_text.each { log_part ->
- { assert path(process.out.log.get(0).get(1)).getText().contains(log_part) }
- }
- },
- {
- assert snapshot(
- (
- [process.out.reads[0][0].toString()] + // meta
- process.out.reads.collect { it[1].collect { item -> file(item).getName() } } +
- process.out.json.collect { file(it[1]).getName() } +
- process.out.html.collect { file(it[1]).getName() } +
- process.out.log.collect { file(it[1]).getName() } +
- process.out.reads_fail.collect { file(it[1]).getName() } +
- process.out.reads_merged.collect { file(it[1]).getName() }
- ).sort()
- ).match("test_fastp_paired_end_match")
- },
- { assert snapshot(process.out.versions).match("versions_paired_end") }
+ { assert snapshot(
+ process.out.reads,
+ process.out.json,
+ process.out.versions).match() },
+ { assert process.out.reads_fail == [] },
+ { assert process.out.reads_merged == [] },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("Q30 bases: 12281(88.3716%)") },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") }
)
}
}
- test("test_fastp_paired_end-stub") {
+ test("test_fastp_paired_end - stub") {
options '-stub'
when {
- params {
- outdir = "$outputDir"
- }
+
process {
"""
- adapter_fasta = []
- save_trimmed_fail = false
- save_merged = false
-
input[0] = Channel.of([
[ id:'test', single_end:false ], // meta map
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = false
+ input[4] = false
"""
}
}
@@ -229,20 +128,7 @@ nextflow_process {
then {
assertAll(
{ assert process.success },
- {
- assert snapshot(
- (
- [process.out.reads[0][0].toString()] + // meta
- process.out.reads.collect { it[1].collect { item -> file(item).getName() } } +
- process.out.json.collect { file(it[1]).getName() } +
- process.out.html.collect { file(it[1]).getName() } +
- process.out.log.collect { file(it[1]).getName() } +
- process.out.reads_fail.collect { file(it[1]).getName() } +
- process.out.reads_merged.collect { file(it[1]).getName() }
- ).sort()
- ).match("test_fastp_paired_end-for_stub_match")
- },
- { assert snapshot(process.out.versions).match("versions_paired_end-stub") }
+ { assert snapshot(process.out).match() },
)
}
}
@@ -251,92 +137,52 @@ nextflow_process {
config './nextflow.interleaved.config'
when {
- params {
- outdir = "$outputDir"
- }
process {
"""
- adapter_fasta = []
- save_trimmed_fail = false
- save_merged = false
-
input[0] = Channel.of([
[ id:'test', single_end:true ], // meta map
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_interleaved.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = false
+ input[4] = false
"""
}
}
then {
- def html_text = [ "Q20 bases: | 25.719000 K (93.033098%)",
- "paired end (151 cycles + 151 cycles)"]
- def log_text = [ "Q20 bases: 12922(92.9841%)",
- "reads passed filter: 162"]
- def read_lines = [ "@ERR5069949.2151832 NS500628:121:HK3MMAFX2:2:21208:10793:15304/1",
- "TCATAAACCAAAGCACTCACAGTGTCAACAATTTCAGCAGGACAACGCCGACAAGTTCCGAGGAACATGTCTGGACCTATAGTTTTCATAAGTCTACACACTGAATTGAAATATTCTGGTTCTAGTGTGCCCTTAGTTAGCAATGTGCGT",
- "AAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEE
- { assert path(process.out.reads.get(0).get(1)).linesGzip.contains(read_line) }
- }
- },
- { html_text.each { html_part ->
- { assert path(process.out.html.get(0).get(1)).getText().contains(html_part) }
- }
- },
- { assert snapshot(process.out.json).match("fastp test_fastp_interleaved_json") },
- { log_text.each { log_part ->
- { assert path(process.out.log.get(0).get(1)).getText().contains(log_part) }
- }
- },
- {
- assert snapshot(
- (
- [process.out.reads[0][0].toString()] + // meta
- process.out.reads.collect { file(it[1]).getName() } +
- process.out.json.collect { file(it[1]).getName() } +
- process.out.html.collect { file(it[1]).getName() } +
- process.out.log.collect { file(it[1]).getName() } +
- process.out.reads_fail.collect { file(it[1]).getName() } +
- process.out.reads_merged.collect { file(it[1]).getName() }
- ).sort()
- ).match("test_fastp_interleaved-_match")
- },
- { assert snapshot(process.out.versions).match("versions_interleaved") }
+ { assert snapshot(
+ process.out.reads,
+ process.out.json,
+ process.out.versions).match() },
+ { assert process.out.reads_fail == [] },
+ { assert process.out.reads_merged == [] },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 162") },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("paired end (151 cycles + 151 cycles)") }
)
}
}
- test("fastp test_fastp_interleaved-stub") {
+ test("fastp test_fastp_interleaved - stub") {
options '-stub'
config './nextflow.interleaved.config'
when {
- params {
- outdir = "$outputDir"
- }
+
process {
"""
- adapter_fasta = []
- save_trimmed_fail = false
- save_merged = false
-
input[0] = Channel.of([
[ id:'test', single_end:true ], // meta map
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_interleaved.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = false
+ input[4] = false
"""
}
}
@@ -344,20 +190,7 @@ nextflow_process {
then {
assertAll(
{ assert process.success },
- {
- assert snapshot(
- (
- [process.out.reads[0][0].toString()] + // meta
- process.out.reads.collect { file(it[1]).getName() } +
- process.out.json.collect { file(it[1]).getName() } +
- process.out.html.collect { file(it[1]).getName() } +
- process.out.log.collect { file(it[1]).getName() } +
- process.out.reads_fail.collect { file(it[1]).getName() } +
- process.out.reads_merged.collect { file(it[1]).getName() }
- ).sort()
- ).match("test_fastp_interleaved-for_stub_match")
- },
- { assert snapshot(process.out.versions).match("versions_interleaved-stub") }
+ { assert snapshot(process.out).match() },
)
}
}
@@ -365,60 +198,32 @@ nextflow_process {
test("test_fastp_single_end_trim_fail") {
when {
- params {
- outdir = "$outputDir"
- }
+
process {
"""
- adapter_fasta = []
- save_trimmed_fail = true
- save_merged = false
-
input[0] = Channel.of([
[ id:'test', single_end:true ], // meta map
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = true
+ input[4] = false
"""
}
}
then {
- def html_text = [ "Q20 bases: | 12.922000 K (92.984097%)",
- "single end (151 cycles)"]
- def log_text = [ "Q20 bases: 12922(92.9841%)",
- "reads passed filter: 99" ]
- def read_lines = [ "@ERR5069949.2151832 NS500628:121:HK3MMAFX2:2:21208:10793:15304/1",
- "TCATAAACCAAAGCACTCACAGTGTCAACAATTTCAGCAGGACAACGCCGACAAGTTCCGAGGAACATGTCTGGACCTATAGTTTTCATAAGTCTACACACTGAATTGAAATATTCTGGTTCTAGTGTGCCCTTAGTTAGCAATGTGCGT",
- "AAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEE
- { assert path(process.out.reads.get(0).get(1)).linesGzip.contains(read_line) }
- }
- },
- { failed_read_lines.each { failed_read_line ->
- { assert path(process.out.reads_fail.get(0).get(1)).linesGzip.contains(failed_read_line) }
- }
- },
- { html_text.each { html_part ->
- { assert path(process.out.html.get(0).get(1)).getText().contains(html_part) }
- }
- },
- { assert snapshot(process.out.json).match("test_fastp_single_end_trim_fail_json") },
- { log_text.each { log_part ->
- { assert path(process.out.log.get(0).get(1)).getText().contains(log_part) }
- }
- },
- { assert snapshot(process.out.versions).match("versions_single_end_trim_fail") }
+ { assert snapshot(
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.json,
+ process.out.versions).match() },
+ { assert process.out.reads_merged == [] },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") },
)
}
}
@@ -427,77 +232,32 @@ nextflow_process {
config './nextflow.save_failed.config'
when {
- params {
- outdir = "$outputDir"
- }
process {
"""
- adapter_fasta = []
- save_trimmed_fail = true
- save_merged = false
-
input[0] = Channel.of([
[ id:'test', single_end:false ], // meta map
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = true
+ input[4] = false
"""
}
}
then {
- def html_text = [ "Q20 bases: | 25.719000 K (93.033098%)",
- "The input has little adapter percentage (~0.000000%), probably it's trimmed before."]
- def log_text = [ "No adapter detected for read1",
- "Q30 bases: 12281(88.3716%)"]
- def json_text = ['"passed_filter_reads": 162']
- def read1_lines = ["@ERR5069949.2151832 NS500628:121:HK3MMAFX2:2:21208:10793:15304/1",
- "TCATAAACCAAAGCACTCACAGTGTCAACAATTTCAGCAGGACAACGCCGACAAGTTCCGAGGAACATGTCTGGACCTATAGTTTTCATAAGTCTACACACTGAATTGAAATATTCTGGTTCTAGTGTGCCCTTAGTTAGCAATGTGCGT",
- "AAAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEEEEE
- { assert path(process.out.reads.get(0).get(1).get(0)).linesGzip.contains(read1_line) }
- }
- },
- { read2_lines.each { read2_line ->
- { assert path(process.out.reads.get(0).get(1).get(1)).linesGzip.contains(read2_line) }
- }
- },
- { failed_read2_lines.each { failed_read2_line ->
- { assert path(process.out.reads_fail.get(0).get(1).get(2)).linesGzip.contains(failed_read2_line) }
- }
- },
- { html_text.each { html_part ->
- { assert path(process.out.html.get(0).get(1)).getText().contains(html_part) }
- }
- },
- { json_text.each { json_part ->
- { assert path(process.out.json.get(0).get(1)).getText().contains(json_part) }
- }
- },
- { log_text.each { log_part ->
- { assert path(process.out.log.get(0).get(1)).getText().contains(log_part) }
- }
- },
- { assert snapshot(process.out.versions).match("versions_paired_end_trim_fail") }
+ { assert snapshot(
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.json,
+ process.out.versions).match() },
+ { assert process.out.reads_merged == [] },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 162") },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") }
)
}
}
@@ -505,90 +265,32 @@ nextflow_process {
test("test_fastp_paired_end_merged") {
when {
- params {
- outdir = "$outputDir"
- }
process {
"""
- adapter_fasta = []
- save_trimmed_fail = false
- save_merged = true
input[0] = Channel.of([
[ id:'test', single_end:false ], // meta map
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = false
+ input[4] = true
"""
}
}
then {
- def html_text = [ ""]
- def log_text = [ "Merged and filtered:",
- "total reads: 75",
- "total bases: 13683"]
- def json_text = ['"merged_and_filtered": {', '"total_reads": 75', '"total_bases": 13683']
- def read1_lines = [ "@ERR5069949.1066259 NS500628:121:HK3MMAFX2:1:11312:18369:8333/1",
- "CCTTATGACAGCAAGAACTGTGTATGATGATGGTGCTAGGAGAGTGTGGACACTTATGAATGTCTTGACACTCGTTTATAAAGTTTATTATGGTAATGCTTTAGATCAAGCCATTTCCATGTGGGCTCTTATAATCTCTGTTACTTC",
- "AAAAAEAEEAEEEEEEEEEEEEEEEEAEEEEAEEEEEEEEAEEEEEEEEEEEEEEEEE/EAEEEEEE/6EEEEEEEEEEAEEAEEE/EE/AEEAEEEEEAEEEA/EEAAEAE
- { assert path(process.out.reads.get(0).get(1).get(0)).linesGzip.contains(read1_line) }
- }
- },
- { read2_lines.each { read2_line ->
- { assert path(process.out.reads.get(0).get(1).get(1)).linesGzip.contains(read2_line) }
- }
- },
- { read_merged_lines.each { read_merged_line ->
- { assert path(process.out.reads_merged.get(0).get(1)).linesGzip.contains(read_merged_line) }
- }
- },
- { html_text.each { html_part ->
- { assert path(process.out.html.get(0).get(1)).getText().contains(html_part) }
- }
- },
- { json_text.each { json_part ->
- { assert path(process.out.json.get(0).get(1)).getText().contains(json_part) }
- }
- },
- { log_text.each { log_part ->
- { assert path(process.out.log.get(0).get(1)).getText().contains(log_part) }
- }
- },
- {
- assert snapshot(
- (
- [process.out.reads[0][0].toString()] + // meta
- process.out.reads.collect { it[1].collect { item -> file(item).getName() } } +
- process.out.json.collect { file(it[1]).getName() } +
- process.out.html.collect { file(it[1]).getName() } +
- process.out.log.collect { file(it[1]).getName() } +
- process.out.reads_fail.collect { file(it[1]).getName() } +
- process.out.reads_merged.collect { file(it[1]).getName() }
- ).sort()
- ).match("test_fastp_paired_end_merged_match")
- },
- { assert snapshot(process.out.versions).match("versions_paired_end_merged") }
+ { assert snapshot(
+ process.out.reads,
+ process.out.reads_merged,
+ process.out.json,
+ process.out.versions).match() },
+ { assert process.out.reads_fail == [] },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("total reads: 75") },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") }
)
}
}
@@ -598,23 +300,17 @@ nextflow_process {
options '-stub'
when {
- params {
- outdir = "$outputDir"
- }
process {
"""
- adapter_fasta = []
- save_trimmed_fail = false
- save_merged = true
-
input[0] = Channel.of([
[ id:'test', single_end:false ], // meta map
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = false
+ input[3] = false
+ input[4] = true
"""
}
}
@@ -622,101 +318,171 @@ nextflow_process {
then {
assertAll(
{ assert process.success },
- {
- assert snapshot(
- (
- [process.out.reads[0][0].toString()] + // meta
- process.out.reads.collect { it[1].collect { item -> file(item).getName() } } +
- process.out.json.collect { file(it[1]).getName() } +
- process.out.html.collect { file(it[1]).getName() } +
- process.out.log.collect { file(it[1]).getName() } +
- process.out.reads_fail.collect { file(it[1]).getName() } +
- process.out.reads_merged.collect { file(it[1]).getName() }
- ).sort()
- ).match("test_fastp_paired_end_merged-for_stub_match")
- },
- { assert snapshot(process.out.versions).match("versions_paired_end_merged_stub") }
+ { assert snapshot(process.out).match() },
)
}
}
test("test_fastp_paired_end_merged_adapterlist") {
+ when {
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:false ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
+ ])
+ input[1] = Channel.of([ file(params.modules_testdata_base_path + 'delete_me/fastp/adapters.fasta', checkIfExists: true) ])
+ input[2] = false
+ input[3] = false
+ input[4] = true
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(
+ process.out.reads,
+ process.out.reads_merged,
+ process.out.json,
+ process.out.versions).match() },
+ { assert process.out.reads_fail == [] },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("total bases: 13683") },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("") }
+ )
+ }
+ }
+
+ test("test_fastp_single_end_qc_only") {
+
+ when {
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:true ],
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ]
+ ])
+ input[1] = []
+ input[2] = true
+ input[3] = false
+ input[4] = false
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.json,
+ process.out.versions).match() },
+ { assert process.out.reads == [] },
+ { assert process.out.reads_fail == [] },
+ { assert process.out.reads_merged == [] },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") },
+ )
+ }
+ }
+
+ test("test_fastp_single_end_qc_only-stub") {
+
+ options '-stub'
+
+ when {
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:true ],
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ]
+ ])
+ input[1] = []
+ input[2] = true
+ input[3] = false
+ input[4] = false
+ """
+ }
+ }
+
+ then {
+
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() },
+ )
+ }
+ }
+
+ test("test_fastp_paired_end_qc_only") {
+
when {
params {
outdir = "$outputDir"
}
process {
"""
- adapter_fasta = Channel.of([ file(params.modules_testdata_base_path + 'delete_me/fastp/adapters.fasta', checkIfExists: true) ])
- save_trimmed_fail = false
- save_merged = true
-
input[0] = Channel.of([
[ id:'test', single_end:false ], // meta map
[ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
])
- input[1] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = true
+ input[3] = false
+ input[4] = false
"""
}
}
then {
- def html_text = [ " "]
- def log_text = [ "Merged and filtered:",
- "total reads: 75",
- "total bases: 13683"]
- def json_text = ['"merged_and_filtered": {', '"total_reads": 75', '"total_bases": 13683',"--adapter_fasta"]
- def read1_lines = ["@ERR5069949.1066259 NS500628:121:HK3MMAFX2:1:11312:18369:8333/1",
- "CCTTATGACAGCAAGAACTGTGTATGATGATGGTGCTAGGAGAGTGTGGACACTTATGAATGTCTTGACACTCGTTTATAAAGTTTATTATGGTAATGCTTTAGATCAAGCCATTTCCATGTGGGCTCTTATAATCTCTGTTACTTC",
- "AAAAAEAEEAEEEEEEEEEEEEEEEEAEEEEAEEEEEEEEAEEEEEEEEEEEEEEEEE/EAEEEEEE/6EEEEEEEEEEAEEAEEE/EE/AEEAEEEEEAEEEA/EEAAEAE
- { assert path(process.out.reads.get(0).get(1).get(0)).linesGzip.contains(read1_line) }
- }
- },
- { read2_lines.each { read2_line ->
- { assert path(process.out.reads.get(0).get(1).get(1)).linesGzip.contains(read2_line) }
- }
- },
- { read_merged_lines.each { read_merged_line ->
- { assert path(process.out.reads_merged.get(0).get(1)).linesGzip.contains(read_merged_line) }
- }
- },
- { html_text.each { html_part ->
- { assert path(process.out.html.get(0).get(1)).getText().contains(html_part) }
- }
- },
- { json_text.each { json_part ->
- { assert path(process.out.json.get(0).get(1)).getText().contains(json_part) }
- }
- },
- { log_text.each { log_part ->
- { assert path(process.out.log.get(0).get(1)).getText().contains(log_part) }
- }
- },
- { assert snapshot(process.out.versions).match("versions_paired_end_merged_adapterlist") }
+ { assert snapshot(process.out).match() },
)
}
}
-}
+}
\ No newline at end of file
diff --git a/modules/nf-core/fastp/tests/main.nf.test.snap b/modules/nf-core/fastp/tests/main.nf.test.snap
index 3e8762889..b609b9a2a 100644
--- a/modules/nf-core/fastp/tests/main.nf.test.snap
+++ b/modules/nf-core/fastp/tests/main.nf.test.snap
@@ -1,330 +1,966 @@
{
- "fastp test_fastp_interleaved_json": {
+ "test_fastp_paired_end_qc_only-stub": {
"content": [
- [
- [
- {
- "id": "test",
- "single_end": true
- },
- "test.fastp.json:md5,b24e0624df5cc0b11cd5ba21b726fb22"
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "3": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "4": [
+
+ ],
+ "5": [
+
+ ],
+ "6": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ],
+ "html": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "json": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "reads": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "reads_fail": [
+
+ ],
+ "reads_merged": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
- ]
+ }
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T16:19:15.063001"
+ "timestamp": "2024-06-08T05:42:26.603745039"
},
- "test_fastp_paired_end_merged-for_stub_match": {
+ "test_fastp_paired_end": {
"content": [
[
[
- "test_1.fastp.fastq.gz",
- "test_2.fastp.fastq.gz"
- ],
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "test.merged.fastq.gz",
- "{id=test, single_end=false}"
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-01-17T18:10:13.467574"
- },
- "versions_interleaved": {
- "content": [
- [
- "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-02-01T11:56:24.615634793"
- },
- "test_fastp_single_end_json": {
- "content": [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7",
+ "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39"
+ ]
+ ]
+ ],
[
[
{
"id": "test",
- "single_end": true
+ "single_end": false
},
- "test.fastp.json:md5,c852d7a6dba5819e4ac8d9673bedcacc"
+ "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd"
]
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-03-18T16:18:43.526412"
- },
- "versions_paired_end": {
- "content": [
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:55:42.333545689"
+ "timestamp": "2024-06-10T13:02:09.747686552"
},
- "test_fastp_paired_end_match": {
+ "fastp test_fastp_interleaved - stub": {
"content": [
- [
- [
- "test_1.fastp.fastq.gz",
- "test_2.fastp.fastq.gz"
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
],
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "{id=test, single_end=false}"
- ]
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "3": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "4": [
+
+ ],
+ "5": [
+
+ ],
+ "6": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ],
+ "html": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "json": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "reads": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ],
+ "reads_fail": [
+
+ ],
+ "reads_merged": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ]
+ }
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T12:03:06.431833729"
+ "timestamp": "2024-06-10T13:03:09.374379128"
},
- "test_fastp_interleaved-_match": {
+ "test_fastp_paired_end_merged_adapterlist": {
"content": [
[
- "test.fastp.fastq.gz",
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "{id=test, single_end=true}"
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-03-18T16:19:15.111894"
- },
- "test_fastp_paired_end_merged_match": {
- "content": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672",
+ "test_2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba"
+ ]
+ ]
+ ],
[
[
- "test_1.fastp.fastq.gz",
- "test_2.fastp.fastq.gz"
- ],
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "test.merged.fastq.gz",
- "{id=test, single_end=false}"
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-02-01T12:08:44.496251446"
- },
- "versions_single_end_stub": {
- "content": [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5"
+ ]
+ ],
[
- "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-02-01T11:55:27.354051299"
- },
- "versions_interleaved-stub": {
- "content": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,5914ca3f21ce162123a824e33e8564f6"
+ ]
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:56:46.535528418"
+ "timestamp": "2024-06-10T13:04:47.637461379"
},
- "versions_single_end_trim_fail": {
+ "test_fastp_single_end_qc_only": {
"content": [
+ [
+
+ ],
+ [
+
+ ],
+ [
+
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,5cc5f01e449309e0e689ed6f51a2294a"
+ ]
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:59:03.724591407"
+ "timestamp": "2024-06-10T20:11:50.885505279"
},
- "test_fastp_paired_end-for_stub_match": {
+ "test_fastp_single_end-stub": {
"content": [
- [
- [
- "test_1.fastp.fastq.gz",
- "test_2.fastp.fastq.gz"
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
],
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "{id=test, single_end=false}"
- ]
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "3": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "4": [
+
+ ],
+ "5": [
+
+ ],
+ "6": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ],
+ "html": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "json": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "reads": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ],
+ "reads_fail": [
+
+ ],
+ "reads_merged": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ]
+ }
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-01-17T18:07:15.398827"
+ "timestamp": "2024-06-10T13:01:55.987280865"
},
- "versions_paired_end-stub": {
+ "test_fastp_paired_end_trim_fail": {
"content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,6ff32a64c5188b9a9192be1398c262c7",
+ "test_2.fastp.fastq.gz:md5,db0cb7c9977e94ac2b4b446ebd017a8a"
+ ]
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test.paired.fail.fastq.gz:md5,409b687c734cedd7a1fec14d316e1366",
+ "test_1.fail.fastq.gz:md5,4f273cf3159c13f79e8ffae12f5661f6",
+ "test_2.fail.fastq.gz:md5,f97b9edefb5649aab661fbc9e71fc995"
+ ]
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,4c3268ddb50ea5b33125984776aa3519"
+ ]
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:56:06.50017282"
+ "timestamp": "2024-06-10T13:03:46.458766801"
},
- "versions_single_end": {
+ "test_fastp_paired_end - stub": {
"content": [
- [
- "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
- ]
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "3": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "4": [
+
+ ],
+ "5": [
+
+ ],
+ "6": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ],
+ "html": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "json": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "reads": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "reads_fail": [
+
+ ],
+ "reads_merged": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ]
+ }
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:55:07.67921647"
+ "timestamp": "2024-06-08T05:36:36.446112695"
},
- "versions_paired_end_merged_stub": {
+ "test_fastp_paired_end_merged": {
"content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672",
+ "test_2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba"
+ ]
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,b712fd68ed0322f4bec49ff2a5237fcc"
+ ]
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:59:47.350653154"
+ "timestamp": "2024-06-10T13:04:09.964580373"
},
- "test_fastp_interleaved-for_stub_match": {
+ "test_fastp_single_end": {
"content": [
[
- "test.fastp.fastq.gz",
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "{id=test, single_end=true}"
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-01-17T18:08:06.127974"
- },
- "versions_paired_end_trim_fail": {
- "content": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,c852d7a6dba5819e4ac8d9673bedcacc"
+ ]
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:59:18.140484878"
+ "timestamp": "2024-06-10T13:01:34.044931225"
},
- "test_fastp_single_end-for_stub_match": {
+ "test_fastp_paired_end_merged-stub": {
"content": [
- [
- "test.fastp.fastq.gz",
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "{id=test, single_end=true}"
- ]
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "3": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "4": [
+
+ ],
+ "5": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ],
+ "6": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ],
+ "html": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "json": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "reads": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "reads_fail": [
+
+ ],
+ "reads_merged": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ]
+ }
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-01-17T18:06:00.244202"
+ "timestamp": "2024-06-08T05:39:42.022707162"
},
- "test_fastp_single_end-_match": {
+ "test_fastp_single_end_qc_only-stub": {
"content": [
- [
- "test.fastp.fastq.gz",
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "{id=test, single_end=true}"
- ]
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "3": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "4": [
+
+ ],
+ "5": [
+
+ ],
+ "6": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ],
+ "html": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.html:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "json": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "reads": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "reads_fail": [
+
+ ],
+ "reads_merged": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ]
+ }
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T16:18:43.580336"
+ "timestamp": "2024-06-10T13:05:31.722431847"
},
- "versions_paired_end_merged_adapterlist": {
+ "fastp test_fastp_interleaved": {
"content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,217d62dc13a23e92513a1bd8e1bcea39"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,b24e0624df5cc0b11cd5ba21b726fb22"
+ ]
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T12:05:37.845370554"
+ "timestamp": "2024-06-07T22:35:04.608948751"
},
- "versions_paired_end_merged": {
+ "test_fastp_single_end_trim_fail": {
"content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fail.fastq.gz:md5,3e4aaadb66a5b8fc9b881bf39c227abd"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,9a7ee180f000e8d00c7fb67f06293eb5"
+ ]
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:59:32.860543858"
+ "timestamp": "2024-06-10T13:03:23.130471376"
},
- "test_fastp_single_end_trim_fail_json": {
+ "test_fastp_paired_end_qc_only": {
"content": [
+ [
+
+ ],
+ [
+
+ ],
+ [
+
+ ],
[
[
{
"id": "test",
- "single_end": true
+ "single_end": false
},
- "test.fastp.json:md5,9a7ee180f000e8d00c7fb67f06293eb5"
+ "test.fastp.json:md5,623064a45912dac6f2b64e3f2e9901df"
]
+ ],
+ [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-01-17T18:08:41.942317"
+ "timestamp": "2024-06-10T20:12:14.00927619"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/fq/subsample/main.nf b/modules/nf-core/fq/subsample/main.nf
index f3d8cc78d..a8e647bb1 100644
--- a/modules/nf-core/fq/subsample/main.nf
+++ b/modules/nf-core/fq/subsample/main.nf
@@ -52,4 +52,16 @@ process FQ_SUBSAMPLE {
fq: \$(echo \$(fq subsample --version | sed 's/fq-subsample //g'))
END_VERSIONS
"""
+
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ """
+ echo '' | gzip > ${prefix}_R1.fastq.gz
+ echo '' | gzip > ${prefix}_R2.fastq.gz
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ fq: \$(echo \$(fq subsample --version | sed 's/fq-subsample //g'))
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/fq/subsample/tests/main.nf.test b/modules/nf-core/fq/subsample/tests/main.nf.test
index c2817748c..13bb75945 100644
--- a/modules/nf-core/fq/subsample/tests/main.nf.test
+++ b/modules/nf-core/fq/subsample/tests/main.nf.test
@@ -24,10 +24,9 @@ nextflow_process {
then {
assertAll (
{ assert !process.success },
- { assert snapshot(process.out).match() },
+ { assert snapshot(process.out).match() }
)
}
-
}
test("test_fq_subsample_probability") {
@@ -50,10 +49,35 @@ nextflow_process {
then {
assertAll (
{ assert process.success },
- { assert snapshot(process.out).match() },
+ { assert snapshot(process.out).match() }
)
}
+ }
+
+ test("test_fq_subsample_probability - stub") {
+ config "./nextflow_probability.config"
+ options "-stub"
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:false ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)]
+ ])
+ """
+ }
+ }
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
}
test("test_fq_subsample_record_count") {
@@ -76,10 +100,35 @@ nextflow_process {
then {
assertAll (
{ assert process.success },
- { assert snapshot(process.out).match() },
+ { assert snapshot(process.out).match() }
)
}
+ }
+
+ test("test_fq_subsample_record_count - stub") {
+ config "./nextflow_record_count.config"
+ options "-stub"
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:false ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true)]
+ ])
+ """
+ }
+ }
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
}
test("test_fq_subsample_single") {
@@ -101,10 +150,34 @@ nextflow_process {
then {
assertAll (
{ assert process.success },
- { assert snapshot(process.out).match() },
+ { assert snapshot(process.out).match() }
)
}
+ }
+
+ test("test_fq_subsample_single - stub") {
+ config "./nextflow.config"
+ options "-stub"
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:false ], // meta map
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
+ ])
+ """
+ }
+ }
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
}
test("test_fq_subsample_no_input") {
@@ -117,7 +190,7 @@ nextflow_process {
"""
input[0] = Channel.of([
[ id:'test', single_end:false ], // meta map
- [ ]
+ []
])
"""
}
@@ -126,10 +199,8 @@ nextflow_process {
then {
assertAll (
{ assert !process.success },
- { assert snapshot(process.out).match() },
+ { assert snapshot(process.out).match() }
)
}
-
}
-
}
\ No newline at end of file
diff --git a/modules/nf-core/fq/subsample/tests/main.nf.test.snap b/modules/nf-core/fq/subsample/tests/main.nf.test.snap
index 1e47918a8..739c626d7 100644
--- a/modules/nf-core/fq/subsample/tests/main.nf.test.snap
+++ b/modules/nf-core/fq/subsample/tests/main.nf.test.snap
@@ -1,4 +1,45 @@
{
+ "test_fq_subsample_probability - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ],
+ "fastq": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T08:26:12.163153"
+ },
"test_fq_subsample_probability": {
"content": [
{
@@ -34,8 +75,94 @@
]
}
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2024-01-17T17:57:15.446336"
},
+ "test_fq_subsample_single - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ],
+ "fastq": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T08:26:55.736374"
+ },
+ "test_fq_subsample_no_args - sub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ],
+ "fastq": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T08:25:42.190405"
+ },
"test_fq_subsample_record_count": {
"content": [
{
@@ -71,8 +198,53 @@
]
}
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2024-01-17T17:57:23.920058"
},
+ "stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ],
+ "fastq": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T17:16:10.090213"
+ },
"test_fq_subsample_single": {
"content": [
{
@@ -102,6 +274,10 @@
]
}
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2024-01-17T17:57:31.908993"
},
"test_fq_subsample_no_args": {
@@ -121,6 +297,10 @@
]
}
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-10-17T11:17:09.761156"
},
"test_fq_subsample_no_input": {
@@ -140,6 +320,92 @@
]
}
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-10-17T11:17:37.555824"
+ },
+ "test_fq_subsample_record_count - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ],
+ "fastq": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T08:26:33.873553"
+ },
+ "test_fq_subsample_no_input - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ],
+ "fastq": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_R1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_R2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ffbf935bd0de512fbc9e83b187bf924f"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T08:27:21.793136"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/gffread/environment.yml b/modules/nf-core/gffread/environment.yml
index 5398f71c5..c6df58ad0 100644
--- a/modules/nf-core/gffread/environment.yml
+++ b/modules/nf-core/gffread/environment.yml
@@ -4,4 +4,4 @@ channels:
- bioconda
- defaults
dependencies:
- - bioconda::gffread=0.12.1
+ - bioconda::gffread=0.12.7
diff --git a/modules/nf-core/gffread/main.nf b/modules/nf-core/gffread/main.nf
index d8a473e0a..da55cbab7 100644
--- a/modules/nf-core/gffread/main.nf
+++ b/modules/nf-core/gffread/main.nf
@@ -1,32 +1,57 @@
process GFFREAD {
- tag "$gff"
+ tag "$meta.id"
label 'process_low'
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/gffread:0.12.1--h8b12597_0' :
- 'biocontainers/gffread:0.12.1--h8b12597_0' }"
+ 'https://depot.galaxyproject.org/singularity/gffread:0.12.7--hdcf5f25_4' :
+ 'biocontainers/gffread:0.12.7--hdcf5f25_4' }"
input:
- path gff
+ tuple val(meta), path(gff)
+ path fasta
output:
- path "*.gtf" , emit: gtf , optional: true
- path "*.gff3" , emit: gffread_gff , optional: true
- path "versions.yml" , emit: versions
+ tuple val(meta), path("*.gtf") , emit: gtf , optional: true
+ tuple val(meta), path("*.gff3") , emit: gffread_gff , optional: true
+ tuple val(meta), path("*.fasta"), emit: gffread_fasta , optional: true
+ path "versions.yml" , emit: versions
when:
task.ext.when == null || task.ext.when
script:
- def args = task.ext.args ?: ''
- def prefix = task.ext.prefix ?: "${gff.baseName}"
- def extension = args.contains("-T") ? 'gtf' : 'gffread.gff3'
+ def args = task.ext.args ?: ''
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ def extension = args.contains("-T") ? 'gtf' : ( ( ['-w', '-x', '-y' ].any { args.contains(it) } ) ? 'fasta' : 'gff3' )
+ def fasta_arg = fasta ? "-g $fasta" : ''
+ def output_name = "${prefix}.${extension}"
+ def output = extension == "fasta" ? "$output_name" : "-o $output_name"
+ def args_sorted = args.replaceAll(/(.*)(-[wxy])(.*)/) { all, pre, param, post -> "$pre $post $param" }.trim()
+ // args_sorted = Move '-w', '-x', and '-y' to the end of the args string as gffread expects the file name after these parameters
+ if ( "$output_name" in [ "$gff", "$fasta" ] ) error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!"
"""
gffread \\
$gff \\
- $args \\
- -o ${prefix}.${extension}
+ $fasta_arg \\
+ $args_sorted \\
+ $output
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ gffread: \$(gffread --version 2>&1)
+ END_VERSIONS
+ """
+
+ stub:
+ def args = task.ext.args ?: ''
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ def extension = args.contains("-T") ? 'gtf' : ( ( ['-w', '-x', '-y' ].any { args.contains(it) } ) ? 'fasta' : 'gff3' )
+ def output_name = "${prefix}.${extension}"
+ if ( "$output_name" in [ "$gff", "$fasta" ] ) error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!"
+ """
+ touch $output_name
+
cat <<-END_VERSIONS > versions.yml
"${task.process}":
gffread: \$(gffread --version 2>&1)
diff --git a/modules/nf-core/gffread/meta.yml b/modules/nf-core/gffread/meta.yml
index d38cbcda9..c06028208 100644
--- a/modules/nf-core/gffread/meta.yml
+++ b/modules/nf-core/gffread/meta.yml
@@ -13,11 +13,25 @@ tools:
doi: 10.12688/f1000research.23297.1
licence: ["MIT"]
input:
+ - meta:
+ type: map
+ description: |
+ Groovy Map containing meta data
+ e.g. [ id:'test' ]
- gff:
type: file
description: A reference file in either the GFF3, GFF2 or GTF format.
pattern: "*.{gff, gtf}"
+ - fasta:
+ type: file
+ description: A multi-fasta file with the genomic sequences
+ pattern: "*.{fasta,fa,faa,fas,fsa}"
output:
+ - meta:
+ type: map
+ description: |
+ Groovy Map containing meta data
+ e.g. [ id:'test' ]
- gtf:
type: file
description: GTF file resulting from the conversion of the GFF input file if '-T' argument is present
@@ -25,7 +39,11 @@ output:
- gffread_gff:
type: file
description: GFF3 file resulting from the conversion of the GFF input file if '-T' argument is absent
- pattern: "*.{gff3}"
+ pattern: "*.gff3"
+ - gffread_fasta:
+ type: file
+ description: Fasta file produced when either of '-w', '-x', '-y' parameters is present
+ pattern: "*.fasta"
- versions:
type: file
description: File containing software versions
@@ -34,3 +52,4 @@ authors:
- "@edmundmiller"
maintainers:
- "@edmundmiller"
+ - "@gallvp"
diff --git a/modules/nf-core/gffread/tests/main.nf.test b/modules/nf-core/gffread/tests/main.nf.test
index 82bb66925..e03820f4d 100644
--- a/modules/nf-core/gffread/tests/main.nf.test
+++ b/modules/nf-core/gffread/tests/main.nf.test
@@ -14,7 +14,11 @@ nextflow_process {
}
process {
"""
- input[0] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ input[0] = [
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ ]
+ input[1] = []
"""
}
}
@@ -22,11 +26,40 @@ nextflow_process {
then {
assertAll (
{ assert process.success },
- { assert snapshot(
- process.out.gtf,
- process.out.versions
- ).match() },
- { assert process.out.gffread_gff == [] }
+ { assert snapshot(process.out).match() },
+ { assert process.out.gffread_gff == [] },
+ { assert process.out.gffread_fasta == [] }
+ )
+ }
+
+ }
+
+ test("sarscov2-gff3-gtf-stub") {
+
+ options '-stub'
+ config "./nextflow.config"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ ]
+ input[1] = []
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(process.out).match() },
+ { assert process.out.gffread_gff == [] },
+ { assert process.out.gffread_fasta == [] }
)
}
@@ -42,7 +75,42 @@ nextflow_process {
}
process {
"""
- input[0] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ input[0] = [
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ ]
+ input[1] = []
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(process.out).match() },
+ { assert process.out.gtf == [] },
+ { assert process.out.gffread_fasta == [] }
+ )
+ }
+
+ }
+
+ test("sarscov2-gff3-gff3-stub") {
+
+ options '-stub'
+ config "./nextflow-gff3.config"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ ]
+ input[1] = []
"""
}
}
@@ -50,11 +118,99 @@ nextflow_process {
then {
assertAll (
{ assert process.success },
- { assert snapshot(
- process.out.gffread_gff,
- process.out.versions
- ).match() },
+ { assert snapshot(process.out).match() },
{ assert process.out.gtf == [] },
+ { assert process.out.gffread_fasta == [] }
+ )
+ }
+
+ }
+
+ test("sarscov2-gff3-fasta") {
+
+ config "./nextflow-fasta.config"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ ]
+ input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true)
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(process.out).match() },
+ { assert process.out.gtf == [] },
+ { assert process.out.gffread_gff == [] }
+ )
+ }
+
+ }
+
+ test("sarscov2-gff3-fasta-stub") {
+
+ options '-stub'
+ config "./nextflow-fasta.config"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ ]
+ input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true)
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert process.success },
+ { assert snapshot(process.out).match() },
+ { assert process.out.gtf == [] },
+ { assert process.out.gffread_gff == [] }
+ )
+ }
+
+ }
+
+ test("sarscov2-gff3-fasta-fail-catch") {
+
+ options '-stub'
+ config "./nextflow-fasta.config"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = [
+ [id: 'genome'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gff3", checkIfExists: true)
+ ]
+ input[1] = file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true)
+ """
+ }
+ }
+
+ then {
+ assertAll (
+ { assert ! process.success },
+ { assert process.stdout.toString().contains("Input and output names are the same") }
)
}
diff --git a/modules/nf-core/gffread/tests/main.nf.test.snap b/modules/nf-core/gffread/tests/main.nf.test.snap
index 00a11a406..15262320d 100644
--- a/modules/nf-core/gffread/tests/main.nf.test.snap
+++ b/modules/nf-core/gffread/tests/main.nf.test.snap
@@ -1,24 +1,272 @@
{
"sarscov2-gff3-gtf": {
"content": [
- [
- "genome.gtf:md5,2394072d7d31530dfd590c4a117bf6e3"
- ],
- [
- "versions.yml:md5,a71b6cdfa528dd206a238ec64bae13d6"
- ]
+ {
+ "0": [
+ [
+ {
+ "id": "test"
+ },
+ "test.gtf:md5,1ea0ae98d3388e0576407dc4a24ef428"
+ ]
+ ],
+ "1": [
+
+ ],
+ "2": [
+
+ ],
+ "3": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ],
+ "gffread_fasta": [
+
+ ],
+ "gffread_gff": [
+
+ ],
+ "gtf": [
+ [
+ {
+ "id": "test"
+ },
+ "test.gtf:md5,1ea0ae98d3388e0576407dc4a24ef428"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ]
+ }
],
- "timestamp": "2024-01-23T20:00:32.688779117"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "23.10.1"
+ },
+ "timestamp": "2024-04-09T10:48:56.496187"
},
"sarscov2-gff3-gff3": {
"content": [
- [
- "genome.gffread.gff3:md5,a7d40d99dcddac23ac673c473279ea2d"
- ],
- [
- "versions.yml:md5,a71b6cdfa528dd206a238ec64bae13d6"
- ]
+ {
+ "0": [
+
+ ],
+ "1": [
+ [
+ {
+ "id": "test"
+ },
+ "test.gff3:md5,c4e5da6267c6bee5899a2c204ae1ad91"
+ ]
+ ],
+ "2": [
+
+ ],
+ "3": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ],
+ "gffread_fasta": [
+
+ ],
+ "gffread_gff": [
+ [
+ {
+ "id": "test"
+ },
+ "test.gff3:md5,c4e5da6267c6bee5899a2c204ae1ad91"
+ ]
+ ],
+ "gtf": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ]
+ }
],
- "timestamp": "2024-01-23T20:07:11.457356625"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "23.10.1"
+ },
+ "timestamp": "2024-04-09T10:49:00.892782"
+ },
+ "sarscov2-gff3-gtf-stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test"
+ },
+ "test.gtf:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+
+ ],
+ "2": [
+
+ ],
+ "3": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ],
+ "gffread_fasta": [
+
+ ],
+ "gffread_gff": [
+
+ ],
+ "gtf": [
+ [
+ {
+ "id": "test"
+ },
+ "test.gtf:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "23.10.1"
+ },
+ "timestamp": "2024-04-09T11:11:26.975666"
+ },
+ "sarscov2-gff3-fasta-stub": {
+ "content": [
+ {
+ "0": [
+
+ ],
+ "1": [
+
+ ],
+ "2": [
+ [
+ {
+ "id": "test"
+ },
+ "test.fasta:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "3": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ],
+ "gffread_fasta": [
+ [
+ {
+ "id": "test"
+ },
+ "test.fasta:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "gffread_gff": [
+
+ ],
+ "gtf": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "23.10.1"
+ },
+ "timestamp": "2024-04-09T11:11:44.34792"
+ },
+ "sarscov2-gff3-gff3-stub": {
+ "content": [
+ {
+ "0": [
+
+ ],
+ "1": [
+ [
+ {
+ "id": "test"
+ },
+ "test.gff3:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+
+ ],
+ "3": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ],
+ "gffread_fasta": [
+
+ ],
+ "gffread_gff": [
+ [
+ {
+ "id": "test"
+ },
+ "test.gff3:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "gtf": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "23.10.1"
+ },
+ "timestamp": "2024-04-09T11:11:35.221671"
+ },
+ "sarscov2-gff3-fasta": {
+ "content": [
+ {
+ "0": [
+
+ ],
+ "1": [
+
+ ],
+ "2": [
+ [
+ {
+ "id": "test"
+ },
+ "test.fasta:md5,5f8108fb51739a0588ccf0a251de919a"
+ ]
+ ],
+ "3": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ],
+ "gffread_fasta": [
+ [
+ {
+ "id": "test"
+ },
+ "test.fasta:md5,5f8108fb51739a0588ccf0a251de919a"
+ ]
+ ],
+ "gffread_gff": [
+
+ ],
+ "gtf": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,05f671c6c6e530acedad0af0a5948dbd"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "23.10.1"
+ },
+ "timestamp": "2024-04-09T10:54:02.88143"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/gffread/tests/nextflow-fasta.config b/modules/nf-core/gffread/tests/nextflow-fasta.config
new file mode 100644
index 000000000..ac6cb1484
--- /dev/null
+++ b/modules/nf-core/gffread/tests/nextflow-fasta.config
@@ -0,0 +1,5 @@
+process {
+ withName: GFFREAD {
+ ext.args = '-w -S'
+ }
+}
diff --git a/modules/nf-core/gunzip/main.nf b/modules/nf-core/gunzip/main.nf
index 468a6f287..4ae609fb1 100644
--- a/modules/nf-core/gunzip/main.nf
+++ b/modules/nf-core/gunzip/main.nf
@@ -18,8 +18,11 @@ process GUNZIP {
task.ext.when == null || task.ext.when
script:
- def args = task.ext.args ?: ''
- gunzip = archive.toString() - '.gz'
+ def args = task.ext.args ?: ''
+ def extension = ( archive.toString() - '.gz' ).tokenize('.')[-1]
+ def name = archive.toString() - '.gz' - ".$extension"
+ def prefix = task.ext.prefix ?: name
+ gunzip = prefix + ".$extension"
"""
# Not calling gunzip itself because it creates files
# with the original group ownership rather than the
@@ -37,7 +40,11 @@ process GUNZIP {
"""
stub:
- gunzip = archive.toString() - '.gz'
+ def args = task.ext.args ?: ''
+ def extension = ( archive.toString() - '.gz' ).tokenize('.')[-1]
+ def name = archive.toString() - '.gz' - ".$extension"
+ def prefix = task.ext.prefix ?: name
+ gunzip = prefix + ".$extension"
"""
touch $gunzip
cat <<-END_VERSIONS > versions.yml
diff --git a/modules/nf-core/gunzip/meta.yml b/modules/nf-core/gunzip/meta.yml
index 231034f2f..f32973a0a 100644
--- a/modules/nf-core/gunzip/meta.yml
+++ b/modules/nf-core/gunzip/meta.yml
@@ -37,3 +37,4 @@ maintainers:
- "@joseespinosa"
- "@drpatelh"
- "@jfy133"
+ - "@gallvp"
diff --git a/modules/nf-core/gunzip/tests/main.nf.test b/modules/nf-core/gunzip/tests/main.nf.test
index 5ebf7ca24..384edf226 100644
--- a/modules/nf-core/gunzip/tests/main.nf.test
+++ b/modules/nf-core/gunzip/tests/main.nf.test
@@ -30,4 +30,89 @@ nextflow_process {
}
+ test("Should run without failures - prefix") {
+
+ config './nextflow.config'
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id: 'test' ],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
+ ]
+ )
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+
+ }
+
+ test("Should run without failures - stub") {
+
+ options '-stub'
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
+ ]
+ )
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+
+ }
+
+ test("Should run without failures - prefix - stub") {
+
+ options '-stub'
+ config './nextflow.config'
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id: 'test' ],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)
+ ]
+ )
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+
+ }
+
}
diff --git a/modules/nf-core/gunzip/tests/main.nf.test.snap b/modules/nf-core/gunzip/tests/main.nf.test.snap
index 720fd9ff4..069967e76 100644
--- a/modules/nf-core/gunzip/tests/main.nf.test.snap
+++ b/modules/nf-core/gunzip/tests/main.nf.test.snap
@@ -1,4 +1,70 @@
{
+ "Should run without failures - prefix - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test"
+ },
+ "test.xyz.fastq:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,54376d32aca20e937a4ec26dac228e84"
+ ],
+ "gunzip": [
+ [
+ {
+ "id": "test"
+ },
+ "test.xyz.fastq:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,54376d32aca20e937a4ec26dac228e84"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-25T11:35:10.861293"
+ },
+ "Should run without failures - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ [
+
+ ],
+ "test_1.fastq:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,54376d32aca20e937a4ec26dac228e84"
+ ],
+ "gunzip": [
+ [
+ [
+
+ ],
+ "test_1.fastq:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,54376d32aca20e937a4ec26dac228e84"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-25T11:35:05.857145"
+ },
"Should run without failures": {
"content": [
{
@@ -26,6 +92,43 @@
]
}
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-10-17T15:35:37.690477896"
+ },
+ "Should run without failures - prefix": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test"
+ },
+ "test.xyz.fastq:md5,4161df271f9bfcd25d5845a1e220dbec"
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,54376d32aca20e937a4ec26dac228e84"
+ ],
+ "gunzip": [
+ [
+ {
+ "id": "test"
+ },
+ "test.xyz.fastq:md5,4161df271f9bfcd25d5845a1e220dbec"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,54376d32aca20e937a4ec26dac228e84"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-25T11:33:32.921739"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/gunzip/tests/nextflow.config b/modules/nf-core/gunzip/tests/nextflow.config
new file mode 100644
index 000000000..dec776425
--- /dev/null
+++ b/modules/nf-core/gunzip/tests/nextflow.config
@@ -0,0 +1,5 @@
+process {
+ withName: GUNZIP {
+ ext.prefix = { "${meta.id}.xyz" }
+ }
+}
diff --git a/modules/nf-core/hisat2/align/main.nf b/modules/nf-core/hisat2/align/main.nf
index 2289a9fc0..ea186f62a 100644
--- a/modules/nf-core/hisat2/align/main.nf
+++ b/modules/nf-core/hisat2/align/main.nf
@@ -90,4 +90,23 @@ process HISAT2_ALIGN {
END_VERSIONS
"""
}
+
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ def unaligned = params.save_unaligned ? "echo '' | gzip > ${prefix}.unmapped_1.fastq.gz \n echo '' | gzip > ${prefix}.unmapped_2.fastq.gz" : ''
+ def VERSION = '2.2.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
+ """
+ ${unaligned}
+
+ touch ${prefix}.hisat2.summary.log
+ touch ${prefix}.bam
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ hisat2: $VERSION
+ samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//')
+ END_VERSIONS
+ """
+
+
}
diff --git a/modules/nf-core/hisat2/align/tests/main.nf.test b/modules/nf-core/hisat2/align/tests/main.nf.test
index 251fd711e..8193c82d8 100644
--- a/modules/nf-core/hisat2/align/tests/main.nf.test
+++ b/modules/nf-core/hisat2/align/tests/main.nf.test
@@ -62,6 +62,63 @@ nextflow_process {
}
}
+ test("Single-End - stub") {
+ options "-stub"
+
+ setup {
+ run("HISAT2_EXTRACTSPLICESITES") {
+ script "../../extractsplicesites/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true)
+ ])
+ """
+ }
+ }
+
+ run("HISAT2_BUILD") {
+ script "../../build/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
+ ])
+ input[1] = Channel.of([ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true)
+ ])
+ input[2] = HISAT2_EXTRACTSPLICESITES.out.txt
+ """
+ }
+ }
+ }
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:true ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true)]
+ ])
+ input[1] = HISAT2_BUILD.out.index
+ input[2] = HISAT2_EXTRACTSPLICESITES.out.txt
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
+
test("Paired-End") {
setup {
@@ -121,6 +178,64 @@ nextflow_process {
}
}
+ test("Paired-End - stub") {
+ options "-stub"
+
+ setup {
+ run("HISAT2_EXTRACTSPLICESITES") {
+ script "../../extractsplicesites/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true)
+ ])
+ """
+ }
+ }
+
+ run("HISAT2_BUILD") {
+ script "../../build/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
+ ])
+ input[1] = Channel.of([ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true)
+ ])
+ input[2] = HISAT2_EXTRACTSPLICESITES.out.txt
+ """
+ }
+ }
+ }
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:false ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
+ ])
+ input[1] = HISAT2_BUILD.out.index
+ input[2] = HISAT2_EXTRACTSPLICESITES.out.txt
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
+
test("Single-End No Splice Sites") {
setup {
@@ -165,6 +280,49 @@ nextflow_process {
}
}
+ test("Single-End No Splice Sites - stub") {
+ options "-stub"
+
+ setup {
+ run("HISAT2_BUILD") {
+ script "../../build/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
+ ])
+ input[1] = [[:],[]]
+ input[2] = [[:],[]]
+ """
+ }
+ }
+ }
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:true ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ]
+ ])
+ input[1] = HISAT2_BUILD.out.index
+ input[2] = [[:],[]]
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
+
test("Paired-End No Splice Sites") {
setup {
@@ -209,4 +367,48 @@ nextflow_process {
)
}
}
+
+ test("Paired-End No Splice Sites - stub") {
+ options "-stub"
+
+ setup {
+ run("HISAT2_BUILD") {
+ script "../../build/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
+ ])
+ input[1] = [[:],[]]
+ input[2] = [[:],[]]
+ """
+ }
+ }
+ }
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:false ], // meta map
+ [ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true),
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ]
+ ])
+ input[1] = HISAT2_BUILD.out.index
+ input[2] = [[:],[]]
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
}
diff --git a/modules/nf-core/hisat2/align/tests/main.nf.test.snap b/modules/nf-core/hisat2/align/tests/main.nf.test.snap
index a80fa3c50..ff670d452 100644
--- a/modules/nf-core/hisat2/align/tests/main.nf.test.snap
+++ b/modules/nf-core/hisat2/align/tests/main.nf.test.snap
@@ -5,21 +5,129 @@
"versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
]
],
- "timestamp": "2023-10-16T15:14:50.269895296"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:08:33.735489"
},
- "se_no_ss_summary": {
+ "Paired-End - stub": {
"content": [
- [
- [
- {
- "id": "test",
- "single_end": true
- },
- "test.hisat2.summary.log:md5,7b8a9e61b7646da1089b041333c41a87"
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+
+ ],
+ "3": [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
+ ],
+ "bam": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "fastq": [
+
+ ],
+ "summary": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
]
- ]
+ }
],
- "timestamp": "2023-10-16T15:15:22.897386626"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:14.35626"
+ },
+ "Single-End - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+
+ ],
+ "3": [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
+ ],
+ "bam": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "fastq": [
+
+ ],
+ "summary": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:08:47.404885"
},
"pe_no_ss_versions": {
"content": [
@@ -27,15 +135,70 @@
"versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
]
],
- "timestamp": "2023-10-16T15:15:42.583699978"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:52.076955"
},
- "se_no_ss_versions": {
+ "Paired-End No Splice Sites - stub": {
"content": [
- [
- "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
- ]
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+
+ ],
+ "3": [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
+ ],
+ "bam": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "fastq": [
+
+ ],
+ "summary": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
+ ]
+ }
],
- "timestamp": "2023-10-16T15:15:22.909407356"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:10:03.739697"
},
"pe_no_ss_summary": {
"content": [
@@ -49,7 +212,11 @@
]
]
],
- "timestamp": "2023-10-16T15:15:42.569775538"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:52.068244"
},
"pe_no_ss_fastq": {
"content": [
@@ -57,7 +224,11 @@
]
],
- "timestamp": "2023-10-16T15:15:42.576881608"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:52.072985"
},
"se_summary": {
"content": [
@@ -71,7 +242,11 @@
]
]
],
- "timestamp": "2023-10-16T15:14:50.252466896"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:08:33.727355"
},
"pe_summary": {
"content": [
@@ -85,7 +260,11 @@
]
]
],
- "timestamp": "2023-10-16T15:15:09.881690889"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:01.495439"
},
"pe_fastq": {
"content": [
@@ -93,23 +272,124 @@
]
],
- "timestamp": "2023-10-16T15:15:09.888696129"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:01.500755"
},
- "se_no_ss_fastq": {
+ "se_fastq": {
"content": [
[
]
],
- "timestamp": "2023-10-16T15:15:22.904010016"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:08:33.732523"
},
- "se_fastq": {
+ "se_no_ss_summary": {
+ "content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.hisat2.summary.log:md5,7b8a9e61b7646da1089b041333c41a87"
+ ]
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:26.851884"
+ },
+ "se_no_ss_versions": {
+ "content": [
+ [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:26.89234"
+ },
+ "se_no_ss_fastq": {
"content": [
[
]
],
- "timestamp": "2023-10-16T15:14:50.264366105"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:26.871369"
+ },
+ "Single-End No Splice Sites - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+
+ ],
+ "3": [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
+ ],
+ "bam": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "fastq": [
+
+ ],
+ "summary": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.hisat2.summary.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:39.544807"
},
"pe_versions": {
"content": [
@@ -117,6 +397,10 @@
"versions.yml:md5,ceb638f44ebdaf09ba1f5c5c409585e2"
]
],
- "timestamp": "2023-10-16T15:15:09.894683308"
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-21T09:09:01.506346"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/hisat2/build/main.nf b/modules/nf-core/hisat2/build/main.nf
index 766e8731d..17d8fdd5b 100644
--- a/modules/nf-core/hisat2/build/main.nf
+++ b/modules/nf-core/hisat2/build/main.nf
@@ -61,4 +61,15 @@ process HISAT2_BUILD {
hisat2: $VERSION
END_VERSIONS
"""
+
+ stub:
+ def VERSION = '2.2.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
+ """
+ mkdir hisat2
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ hisat2: $VERSION
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/hisat2/build/tests/main.nf.test b/modules/nf-core/hisat2/build/tests/main.nf.test
index 240b73de1..bd8e9dae0 100644
--- a/modules/nf-core/hisat2/build/tests/main.nf.test
+++ b/modules/nf-core/hisat2/build/tests/main.nf.test
@@ -45,4 +45,49 @@ nextflow_process {
)
}
}
-}
+
+ test("Should run without failures - stub") {
+
+ options "-stub"
+
+ setup {
+ run("HISAT2_EXTRACTSPLICESITES") {
+ script "../../extractsplicesites/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true)
+ ])
+ """
+ }
+ }
+ }
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
+ ])
+ input[1] = Channel.of([ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true)
+ ])
+ input[2] = HISAT2_EXTRACTSPLICESITES.out.txt
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
+}
\ No newline at end of file
diff --git a/modules/nf-core/hisat2/build/tests/main.nf.test.snap b/modules/nf-core/hisat2/build/tests/main.nf.test.snap
index c7d364dbc..0e3b5c57f 100644
--- a/modules/nf-core/hisat2/build/tests/main.nf.test.snap
+++ b/modules/nf-core/hisat2/build/tests/main.nf.test.snap
@@ -1,4 +1,64 @@
{
+ "test - stub": {
+ "content": [
+ {
+ "0": [
+
+ ],
+ "1": [
+
+ ],
+ "index": [
+
+ ],
+ "versions": [
+
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T17:29:31.567024"
+ },
+ "Should run without failures - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "genome"
+ },
+ [
+
+ ]
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,e36ef3cd73d19ccf2378c9358fe942c0"
+ ],
+ "index": [
+ [
+ {
+ "id": "genome"
+ },
+ [
+
+ ]
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,e36ef3cd73d19ccf2378c9358fe942c0"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T18:18:08.896422"
+ },
"Should run without failures": {
"content": [
{
@@ -44,6 +104,10 @@
]
}
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-10-16T14:42:22.381609786"
}
-}
\ No newline at end of file
+}
diff --git a/modules/nf-core/hisat2/extractsplicesites/main.nf b/modules/nf-core/hisat2/extractsplicesites/main.nf
index b0c8513aa..588a9947a 100644
--- a/modules/nf-core/hisat2/extractsplicesites/main.nf
+++ b/modules/nf-core/hisat2/extractsplicesites/main.nf
@@ -28,4 +28,15 @@ process HISAT2_EXTRACTSPLICESITES {
hisat2: $VERSION
END_VERSIONS
"""
+
+ stub:
+ def VERSION = '2.2.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions.
+ """
+ touch ${gtf.baseName}.splice_sites.txt
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ hisat2: $VERSION
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test
index 10b8cf8e8..a9f93ec52 100644
--- a/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test
+++ b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test
@@ -28,4 +28,30 @@ nextflow_process {
)
}
}
+
+ test("test - stub") {
+
+ options "-stub"
+
+ when {
+ params {
+ outdir = "$outputDir"
+ }
+ process {
+ """
+ input[0] = Channel.of([
+ [id:'genome'],
+ file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.gtf', checkIfExists: true)
+ ])
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
}
diff --git a/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test.snap b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test.snap
index 17f1c8ebf..1dcd8af23 100644
--- a/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test.snap
+++ b/modules/nf-core/hisat2/extractsplicesites/tests/main.nf.test.snap
@@ -1,10 +1,47 @@
{
+ "test - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "genome"
+ },
+ "genome.splice_sites.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ "versions.yml:md5,eeea7231fe197810659b8bad4133aff2"
+ ],
+ "txt": [
+ [
+ {
+ "id": "genome"
+ },
+ "genome.splice_sites.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,eeea7231fe197810659b8bad4133aff2"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T17:34:13.229903"
+ },
"Should run without failures": {
"content": [
[
"versions.yml:md5,eeea7231fe197810659b8bad4133aff2"
]
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2024-01-18T20:56:30.71763"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/multiqc/environment.yml b/modules/nf-core/multiqc/environment.yml
index ca39fb67e..ecb7dd7b2 100644
--- a/modules/nf-core/multiqc/environment.yml
+++ b/modules/nf-core/multiqc/environment.yml
@@ -4,4 +4,4 @@ channels:
- bioconda
- defaults
dependencies:
- - bioconda::multiqc=1.21
+ - bioconda::multiqc=1.22.3
diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf
index 47ac352f9..2581a4963 100644
--- a/modules/nf-core/multiqc/main.nf
+++ b/modules/nf-core/multiqc/main.nf
@@ -3,8 +3,8 @@ process MULTIQC {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/multiqc:1.21--pyhdfd78af_0' :
- 'biocontainers/multiqc:1.21--pyhdfd78af_0' }"
+ 'https://depot.galaxyproject.org/singularity/multiqc:1.22.3--pyhdfd78af_0' :
+ 'biocontainers/multiqc:1.22.3--pyhdfd78af_0' }"
input:
path multiqc_files, stageAs: "?/*"
diff --git a/modules/nf-core/multiqc/tests/main.nf.test.snap b/modules/nf-core/multiqc/tests/main.nf.test.snap
index bfebd8029..0a4760e42 100644
--- a/modules/nf-core/multiqc/tests/main.nf.test.snap
+++ b/modules/nf-core/multiqc/tests/main.nf.test.snap
@@ -2,14 +2,14 @@
"multiqc_versions_single": {
"content": [
[
- "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d"
+ "versions.yml:md5,bf3b209659477254bb8fa5a9405f9984"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-29T08:48:55.657331"
+ "timestamp": "2024-06-25T12:31:21.878452033"
},
"multiqc_stub": {
"content": [
@@ -17,25 +17,25 @@
"multiqc_report.html",
"multiqc_data",
"multiqc_plots",
- "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d"
+ "versions.yml:md5,bf3b209659477254bb8fa5a9405f9984"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-29T08:49:49.071937"
+ "timestamp": "2024-06-25T12:32:02.322196503"
},
"multiqc_versions_config": {
"content": [
[
- "versions.yml:md5,21f35ee29416b9b3073c28733efe4b7d"
+ "versions.yml:md5,bf3b209659477254bb8fa5a9405f9984"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-29T08:49:25.457567"
+ "timestamp": "2024-06-25T12:31:50.064227638"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/preseq/lcextrap/main.nf b/modules/nf-core/preseq/lcextrap/main.nf
index ebbf215f0..3fec468e9 100644
--- a/modules/nf-core/preseq/lcextrap/main.nf
+++ b/modules/nf-core/preseq/lcextrap/main.nf
@@ -1,7 +1,7 @@
process PRESEQ_LCEXTRAP {
tag "$meta.id"
label 'process_single'
- label 'error_ignore'
+ label 'error_retry'
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
@@ -21,6 +21,7 @@ process PRESEQ_LCEXTRAP {
script:
def args = task.ext.args ?: ''
+ args = task.attempt > 1 ? args.join(' -defects') : args // Disable testing for defects
def prefix = task.ext.prefix ?: "${meta.id}"
def paired_end = meta.single_end ? '' : '-pe'
"""
@@ -37,4 +38,16 @@ process PRESEQ_LCEXTRAP {
preseq: \$(echo \$(preseq 2>&1) | sed 's/^.*Version: //; s/Usage:.*\$//')
END_VERSIONS
"""
+
+ stub:
+ def prefix = task.ext.prefix ?: "${meta.id}"
+ """
+ touch ${prefix}.lc_extrap.txt
+ touch ${prefix}.command.log
+
+ cat <<-END_VERSIONS > versions.yml
+ "${task.process}":
+ preseq: \$(echo \$(preseq 2>&1) | sed 's/^.*Version: //; s/Usage:.*\$//')
+ END_VERSIONS
+ """
}
diff --git a/modules/nf-core/preseq/lcextrap/tests/main.nf.test b/modules/nf-core/preseq/lcextrap/tests/main.nf.test
index 92750c9ed..d1af1f0ed 100644
--- a/modules/nf-core/preseq/lcextrap/tests/main.nf.test
+++ b/modules/nf-core/preseq/lcextrap/tests/main.nf.test
@@ -3,6 +3,10 @@ nextflow_process {
name "Test Process PRESEQ_LCEXTRAP"
script "../main.nf"
process "PRESEQ_LCEXTRAP"
+ tag "modules"
+ tag "modules_nfcore"
+ tag "preseq"
+ tag "preseq/lcextrap"
test("sarscov2 - single_end") {
when {
@@ -26,6 +30,29 @@ nextflow_process {
}
}
+ test("sarscov2 - single_end - stub") {
+
+ options "-stub"
+
+ when {
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:true ], // meta map
+ [ file(params.modules_testdata_base_path + 'delete_me/preseq/SRR1003759_5M_subset.mr', checkIfExists: true) ]
+ ])
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
+
test("sarscov2 - paired_end") {
when {
process {
@@ -47,4 +74,27 @@ nextflow_process {
)
}
}
+
+ test("sarscov2 - paired_end - stub") {
+
+ options "-stub"
+
+ when {
+ process {
+ """
+ input[0] = Channel.of([
+ [ id:'test', single_end:false ], // meta map
+ [ file(params.modules_testdata_base_path + 'delete_me/preseq/SRR1003759_5M_subset.mr', checkIfExists: true) ]
+ ])
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
}
\ No newline at end of file
diff --git a/modules/nf-core/preseq/lcextrap/tests/main.nf.test.snap b/modules/nf-core/preseq/lcextrap/tests/main.nf.test.snap
index c59dea7fe..3f95cd498 100644
--- a/modules/nf-core/preseq/lcextrap/tests/main.nf.test.snap
+++ b/modules/nf-core/preseq/lcextrap/tests/main.nf.test.snap
@@ -11,12 +11,20 @@
]
]
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-11-23T17:20:40.735535"
},
"paired_end - log": {
"content": [
"test.command.log"
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-11-23T17:20:51.981746"
},
"single_end - versions": {
@@ -25,20 +33,85 @@
"versions.yml:md5,9a62ff1c212c53573808ccd2137b8922"
]
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-11-23T17:20:40.74601"
},
+ "sarscov2 - single_end - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.lc_extrap.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.command.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ "versions.yml:md5,9a62ff1c212c53573808ccd2137b8922"
+ ],
+ "lc_extrap": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.lc_extrap.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.command.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,9a62ff1c212c53573808ccd2137b8922"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T18:43:12.689062"
+ },
"paired_end - versions": {
"content": [
[
"versions.yml:md5,9a62ff1c212c53573808ccd2137b8922"
]
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-11-23T17:20:52.02843"
},
"single_end - log": {
"content": [
"test.command.log"
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-11-23T17:20:40.72985"
},
"paired_end - lc_extrap": {
@@ -53,6 +126,63 @@
]
]
],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
"timestamp": "2023-11-23T17:20:51.998533"
+ },
+ "sarscov2 - paired_end - stub": {
+ "content": [
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.lc_extrap.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "1": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.command.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "2": [
+ "versions.yml:md5,9a62ff1c212c53573808ccd2137b8922"
+ ],
+ "lc_extrap": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.lc_extrap.txt:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "log": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.command.log:md5,d41d8cd98f00b204e9800998ecf8427e"
+ ]
+ ],
+ "versions": [
+ "versions.yml:md5,9a62ff1c212c53573808ccd2137b8922"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-06-20T18:43:32.569811"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/samtools/flagstat/environment.yml b/modules/nf-core/samtools/flagstat/environment.yml
index bd57cb54d..68b81558e 100644
--- a/modules/nf-core/samtools/flagstat/environment.yml
+++ b/modules/nf-core/samtools/flagstat/environment.yml
@@ -4,5 +4,5 @@ channels:
- bioconda
- defaults
dependencies:
- - bioconda::samtools=1.19.2
- - bioconda::htslib=1.19.1
+ - bioconda::samtools=1.20
+ - bioconda::htslib=1.20
diff --git a/modules/nf-core/samtools/flagstat/main.nf b/modules/nf-core/samtools/flagstat/main.nf
index eb5f52523..754d84b73 100644
--- a/modules/nf-core/samtools/flagstat/main.nf
+++ b/modules/nf-core/samtools/flagstat/main.nf
@@ -4,8 +4,8 @@ process SAMTOOLS_FLAGSTAT {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.19.2--h50ea8bc_0' :
- 'biocontainers/samtools:1.19.2--h50ea8bc_0' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.20--h50ea8bc_0' :
+ 'biocontainers/samtools:1.20--h50ea8bc_0' }"
input:
tuple val(meta), path(bam), path(bai)
diff --git a/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap b/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap
index a76fc27e4..e9f85efa9 100644
--- a/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap
+++ b/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap
@@ -20,13 +20,13 @@
"versions": {
"content": [
[
- "versions.yml:md5,fd0030ce49ab3a92091ad80260226452"
+ "versions.yml:md5,f606681ef971cbb548a4d9e3fbabdbc2"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:11:44.299617452"
+ "timestamp": "2024-05-28T15:41:52.516253882"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/samtools/idxstats/environment.yml b/modules/nf-core/samtools/idxstats/environment.yml
index 174973b88..eb6c88099 100644
--- a/modules/nf-core/samtools/idxstats/environment.yml
+++ b/modules/nf-core/samtools/idxstats/environment.yml
@@ -4,5 +4,5 @@ channels:
- bioconda
- defaults
dependencies:
- - bioconda::samtools=1.19.2
- - bioconda::htslib=1.19.1
+ - bioconda::samtools=1.20
+ - bioconda::htslib=1.20
diff --git a/modules/nf-core/samtools/idxstats/main.nf b/modules/nf-core/samtools/idxstats/main.nf
index a544026f3..2ea2a5ccd 100644
--- a/modules/nf-core/samtools/idxstats/main.nf
+++ b/modules/nf-core/samtools/idxstats/main.nf
@@ -4,8 +4,8 @@ process SAMTOOLS_IDXSTATS {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.19.2--h50ea8bc_0' :
- 'biocontainers/samtools:1.19.2--h50ea8bc_0' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.20--h50ea8bc_0' :
+ 'biocontainers/samtools:1.20--h50ea8bc_0' }"
input:
tuple val(meta), path(bam), path(bai)
diff --git a/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap b/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap
index a7050bdc8..4eacdb90f 100644
--- a/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap
+++ b/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap
@@ -2,14 +2,14 @@
"versions": {
"content": [
[
- "versions.yml:md5,613dde56f108418039ffcdeeddba397a"
+ "versions.yml:md5,7acbcb2a8ec6436ba7b2916d3ff13351"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:16:50.147462763"
+ "timestamp": "2024-05-28T15:46:46.617989517"
},
"idxstats": {
"content": [
diff --git a/modules/nf-core/samtools/index/environment.yml b/modules/nf-core/samtools/index/environment.yml
index a5e506498..260d516be 100644
--- a/modules/nf-core/samtools/index/environment.yml
+++ b/modules/nf-core/samtools/index/environment.yml
@@ -4,5 +4,5 @@ channels:
- bioconda
- defaults
dependencies:
- - bioconda::samtools=1.19.2
- - bioconda::htslib=1.19.1
+ - bioconda::samtools=1.20
+ - bioconda::htslib=1.20
diff --git a/modules/nf-core/samtools/index/main.nf b/modules/nf-core/samtools/index/main.nf
index dc14f98d6..b523c21b4 100644
--- a/modules/nf-core/samtools/index/main.nf
+++ b/modules/nf-core/samtools/index/main.nf
@@ -4,8 +4,8 @@ process SAMTOOLS_INDEX {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.19.2--h50ea8bc_0' :
- 'biocontainers/samtools:1.19.2--h50ea8bc_0' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.20--h50ea8bc_0' :
+ 'biocontainers/samtools:1.20--h50ea8bc_0' }"
input:
tuple val(meta), path(input)
diff --git a/modules/nf-core/samtools/index/tests/main.nf.test.snap b/modules/nf-core/samtools/index/tests/main.nf.test.snap
index 3dc8e7de8..52756e85c 100644
--- a/modules/nf-core/samtools/index/tests/main.nf.test.snap
+++ b/modules/nf-core/samtools/index/tests/main.nf.test.snap
@@ -2,26 +2,26 @@
"crai_versions": {
"content": [
[
- "versions.yml:md5,cc4370091670b64bba7c7206403ffb3e"
+ "versions.yml:md5,802c9776d9c5e95314e888cf18e96d77"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:12:00.324667957"
+ "timestamp": "2024-05-28T15:42:04.203740976"
},
"csi_versions": {
"content": [
[
- "versions.yml:md5,cc4370091670b64bba7c7206403ffb3e"
+ "versions.yml:md5,802c9776d9c5e95314e888cf18e96d77"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:12:07.885103162"
+ "timestamp": "2024-05-28T15:42:09.57475878"
},
"crai": {
"content": [
@@ -62,13 +62,13 @@
"bai_versions": {
"content": [
[
- "versions.yml:md5,cc4370091670b64bba7c7206403ffb3e"
+ "versions.yml:md5,802c9776d9c5e95314e888cf18e96d77"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:11:51.641425452"
+ "timestamp": "2024-05-28T15:41:57.929287369"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/samtools/sort/environment.yml b/modules/nf-core/samtools/sort/environment.yml
index 4d898e486..36a12eab0 100644
--- a/modules/nf-core/samtools/sort/environment.yml
+++ b/modules/nf-core/samtools/sort/environment.yml
@@ -4,5 +4,5 @@ channels:
- bioconda
- defaults
dependencies:
- - bioconda::samtools=1.19.2
- - bioconda::htslib=1.19.1
+ - bioconda::samtools=1.20
+ - bioconda::htslib=1.20
diff --git a/modules/nf-core/samtools/sort/main.nf b/modules/nf-core/samtools/sort/main.nf
index fc374f980..596c6f7e9 100644
--- a/modules/nf-core/samtools/sort/main.nf
+++ b/modules/nf-core/samtools/sort/main.nf
@@ -4,8 +4,8 @@ process SAMTOOLS_SORT {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.19.2--h50ea8bc_0' :
- 'biocontainers/samtools:1.19.2--h50ea8bc_0' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.20--h50ea8bc_0' :
+ 'biocontainers/samtools:1.20--h50ea8bc_0' }"
input:
tuple val(meta) , path(bam)
diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test b/modules/nf-core/samtools/sort/tests/main.nf.test
index 728201ded..cb97ca66b 100644
--- a/modules/nf-core/samtools/sort/tests/main.nf.test
+++ b/modules/nf-core/samtools/sort/tests/main.nf.test
@@ -26,7 +26,11 @@ nextflow_process {
then {
assertAll (
{ assert process.success },
- { assert snapshot(process.out).match() }
+ { assert snapshot(
+ process.out.bam,
+ process.out.csi.collect { it.collect { it instanceof Map ? it : file(it).name } }
+ ).match("test_bam")
+ }
)
}
}
@@ -40,11 +44,11 @@ nextflow_process {
"""
input[0] = Channel.of([
[ id:'test', single_end:false ], // meta map
- file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true)
+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true)
])
input[1] = Channel.of([
[ id:'fasta' ], // meta map
- file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)
+ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true)
])
"""
}
@@ -53,7 +57,11 @@ nextflow_process {
then {
assertAll (
{ assert process.success },
- { assert snapshot(process.out).match() }
+ { assert snapshot(
+ process.out.bam,
+ process.out.csi.collect { it.collect { it instanceof Map ? it : file(it).name } }
+ ).match("test_cram")
+ }
)
}
}
diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test.snap b/modules/nf-core/samtools/sort/tests/main.nf.test.snap
index 384776564..5a27de1d1 100644
--- a/modules/nf-core/samtools/sort/tests/main.nf.test.snap
+++ b/modules/nf-core/samtools/sort/tests/main.nf.test.snap
@@ -1,68 +1,21 @@
{
"cram": {
"content": [
- {
- "0": [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.sorted.bam:md5,bc0b7c25da26384a006ed84cc9e4da23"
- ]
- ],
- "1": [
-
- ],
- "2": [
-
- ],
- "3": [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.sorted.bam.csi:md5,8d4e836c2fed6c0bf874d5e8cdba5831"
- ]
- ],
- "4": [
- "versions.yml:md5,e6d43fefc9a8bff91c2ce6e3a1716eca"
- ],
- "bam": [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.sorted.bam:md5,bc0b7c25da26384a006ed84cc9e4da23"
- ]
- ],
- "crai": [
-
- ],
- "cram": [
-
- ],
- "csi": [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.sorted.bam.csi:md5,8d4e836c2fed6c0bf874d5e8cdba5831"
- ]
- ],
- "versions": [
- "versions.yml:md5,e6d43fefc9a8bff91c2ce6e3a1716eca"
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.sorted.bam:md5,21c992d59615936b99f2ad008aa54400"
]
- }
+ ]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-04T15:08:00.830294"
+ "timestamp": "2024-05-31T08:13:54.512837189"
},
"bam_stub_bam": {
"content": [
@@ -70,85 +23,92 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.04.3"
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-05-31T07:29:00.761845507"
+ },
+ "test_cram": {
+ "content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.sorted.bam:md5,22b2093be34a7637f5fbc84272b89d06"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.sorted.bam.csi"
+ ]
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-12T19:21:04.364044"
+ "timestamp": "2024-05-31T09:16:51.924951855"
+ },
+ "test_bam": {
+ "content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.sorted.bam:md5,21c992d59615936b99f2ad008aa54400"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.sorted.bam.csi"
+ ]
+ ]
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
+ },
+ "timestamp": "2024-05-31T08:28:12.15952312"
},
"bam_stub_versions": {
"content": [
[
- "versions.yml:md5,e6d43fefc9a8bff91c2ce6e3a1716eca"
+ "versions.yml:md5,7a360de20e1d7a6f15a5e8fbe0a9c062"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-13T16:15:00.20800281"
+ "timestamp": "2024-05-31T07:29:00.765038811"
},
"bam": {
"content": [
- {
- "0": [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.sorted.bam:md5,bc0b7c25da26384a006ed84cc9e4da23"
- ]
- ],
- "1": [
-
- ],
- "2": [
-
- ],
- "3": [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.sorted.bam.csi:md5,8d4e836c2fed6c0bf874d5e8cdba5831"
- ]
- ],
- "4": [
- "versions.yml:md5,e6d43fefc9a8bff91c2ce6e3a1716eca"
- ],
- "bam": [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.sorted.bam:md5,bc0b7c25da26384a006ed84cc9e4da23"
- ]
- ],
- "crai": [
-
- ],
- "cram": [
-
- ],
- "csi": [
- [
- {
- "id": "test",
- "single_end": false
- },
- "test.sorted.bam.csi:md5,8d4e836c2fed6c0bf874d5e8cdba5831"
- ]
- ],
- "versions": [
- "versions.yml:md5,e6d43fefc9a8bff91c2ce6e3a1716eca"
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.sorted.bam:md5,21c992d59615936b99f2ad008aa54400"
]
- }
+ ]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-04T15:07:48.773803"
+ "timestamp": "2024-05-31T08:13:48.538030517"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/samtools/stats/environment.yml b/modules/nf-core/samtools/stats/environment.yml
index 67bb0ca40..1cc83bd95 100644
--- a/modules/nf-core/samtools/stats/environment.yml
+++ b/modules/nf-core/samtools/stats/environment.yml
@@ -4,5 +4,5 @@ channels:
- bioconda
- defaults
dependencies:
- - bioconda::samtools=1.19.2
- - bioconda::htslib=1.19.1
+ - bioconda::samtools=1.20
+ - bioconda::htslib=1.20
diff --git a/modules/nf-core/samtools/stats/main.nf b/modules/nf-core/samtools/stats/main.nf
index 52b00f4b6..982bc28e7 100644
--- a/modules/nf-core/samtools/stats/main.nf
+++ b/modules/nf-core/samtools/stats/main.nf
@@ -4,8 +4,8 @@ process SAMTOOLS_STATS {
conda "${moduleDir}/environment.yml"
container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ?
- 'https://depot.galaxyproject.org/singularity/samtools:1.19.2--h50ea8bc_0' :
- 'biocontainers/samtools:1.19.2--h50ea8bc_0' }"
+ 'https://depot.galaxyproject.org/singularity/samtools:1.20--h50ea8bc_0' :
+ 'biocontainers/samtools:1.20--h50ea8bc_0' }"
input:
tuple val(meta), path(input), path(input_index)
diff --git a/modules/nf-core/samtools/stats/tests/main.nf.test.snap b/modules/nf-core/samtools/stats/tests/main.nf.test.snap
index 1b7c9ba44..2747fd6c6 100644
--- a/modules/nf-core/samtools/stats/tests/main.nf.test.snap
+++ b/modules/nf-core/samtools/stats/tests/main.nf.test.snap
@@ -8,11 +8,11 @@
"id": "test",
"single_end": false
},
- "test.stats:md5,01812900aa4027532906c5d431114233"
+ "test.stats:md5,c9d39b38c22de2057fc2f89949090975"
]
],
"1": [
- "versions.yml:md5,0514ceb1769b2a88843e08c1f82624a9"
+ "versions.yml:md5,b3b70b126f867fdbb7dcea5e36e49d4a"
],
"stats": [
[
@@ -20,19 +20,19 @@
"id": "test",
"single_end": false
},
- "test.stats:md5,01812900aa4027532906c5d431114233"
+ "test.stats:md5,c9d39b38c22de2057fc2f89949090975"
]
],
"versions": [
- "versions.yml:md5,0514ceb1769b2a88843e08c1f82624a9"
+ "versions.yml:md5,b3b70b126f867fdbb7dcea5e36e49d4a"
]
}
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:15:25.562429714"
+ "timestamp": "2024-05-28T15:45:24.403941966"
},
"bam": {
"content": [
@@ -43,11 +43,11 @@
"id": "test",
"single_end": false
},
- "test.stats:md5,5d8681bf541199898c042bf400391d59"
+ "test.stats:md5,d522a1fa016b259d6a55620ae53dcd63"
]
],
"1": [
- "versions.yml:md5,0514ceb1769b2a88843e08c1f82624a9"
+ "versions.yml:md5,b3b70b126f867fdbb7dcea5e36e49d4a"
],
"stats": [
[
@@ -55,18 +55,18 @@
"id": "test",
"single_end": false
},
- "test.stats:md5,5d8681bf541199898c042bf400391d59"
+ "test.stats:md5,d522a1fa016b259d6a55620ae53dcd63"
]
],
"versions": [
- "versions.yml:md5,0514ceb1769b2a88843e08c1f82624a9"
+ "versions.yml:md5,b3b70b126f867fdbb7dcea5e36e49d4a"
]
}
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:15:07.857611509"
+ "timestamp": "2024-05-28T15:45:06.711251947"
}
}
\ No newline at end of file
diff --git a/modules/nf-core/trimgalore/environment.yml b/modules/nf-core/trimgalore/environment.yml
index 17b39f4a5..0981320c1 100644
--- a/modules/nf-core/trimgalore/environment.yml
+++ b/modules/nf-core/trimgalore/environment.yml
@@ -1,8 +1,10 @@
name: trimgalore
+
channels:
- conda-forge
- bioconda
- defaults
+
dependencies:
- - bioconda::trim-galore=0.6.7
- bioconda::cutadapt=3.4
+ - bioconda::trim-galore=0.6.7
diff --git a/subworkflows/local/prepare_genome/main.nf b/subworkflows/local/prepare_genome/main.nf
index 9b7d9c597..1e4ee46fd 100644
--- a/subworkflows/local/prepare_genome/main.nf
+++ b/subworkflows/local/prepare_genome/main.nf
@@ -89,12 +89,12 @@ workflow PREPARE_GENOME {
}
} else if (gff) {
if (gff.endsWith('.gz')) {
- ch_gff = GUNZIP_GFF ( [ [:], file(gff, checkIfExists: true) ] ).gunzip.map { it[1] }
+ ch_gff = GUNZIP_GFF ( [ [:], file(gff, checkIfExists: true) ] ).gunzip
ch_versions = ch_versions.mix(GUNZIP_GFF.out.versions)
} else {
- ch_gff = Channel.value(file(gff, checkIfExists: true))
+ ch_gff = Channel.value(file(gff, checkIfExists: true)).map { [ [:], it ] }
}
- ch_gtf = GFFREAD ( ch_gff ).gtf
+ ch_gtf = GFFREAD ( ch_gff, [] ).gtf.map { it[1] }
ch_versions = ch_versions.mix(GFFREAD.out.versions)
}
diff --git a/subworkflows/local/prepare_genome/tests/main.nf.test.snap b/subworkflows/local/prepare_genome/tests/main.nf.test.snap
index 2121a7ee5..2741bb23d 100644
--- a/subworkflows/local/prepare_genome/tests/main.nf.test.snap
+++ b/subworkflows/local/prepare_genome/tests/main.nf.test.snap
@@ -43,17 +43,17 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
"versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
- "versions.yml:md5,961ab91198c4e6ec9d795b95e3f61fda"
+ "versions.yml:md5,961ab91198c4e6ec9d795b95e3f61fda",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:39:26.998916"
+ "timestamp": "2024-06-20T18:17:05.661629"
},
"hisat2_index = false": {
"content": [
@@ -99,16 +99,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:38:55.160854"
+ "timestamp": "2024-06-20T18:16:45.642259"
},
"featurecounts_group_type = 'gene_type'": {
"content": [
@@ -154,16 +154,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:39:58.190328"
+ "timestamp": "2024-06-20T18:17:22.714024"
},
"skip_gtf_filter": {
"content": [
@@ -209,15 +209,15 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
- "versions.yml:md5,71252f1a221be05593361acccb99506b"
+ "versions.yml:md5,71252f1a221be05593361acccb99506b",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:33:22.688771"
+ "timestamp": "2024-06-20T18:13:30.196042"
},
"gtf = false": {
"content": [
@@ -231,7 +231,7 @@
"genome_gfp.fasta:md5,e23e302af63736a199985a169fdac055"
],
[
- "genome_gfp.gtf:md5,34da4da0a8f3412d763db7853210d7c1"
+ "genome_gfp.gtf:md5,68b68c059ba170af3f9d0a5dc1e0c8b8"
],
[
"genome_gfp.fasta.fai:md5,8fa54c6bd2ea6a369efbb8ab4f30156a"
@@ -261,20 +261,20 @@
],
[
- "versions.yml:md5,0a23f0be65eb55b48ae71fe6e69a25a9",
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
+ "versions.yml:md5,2a3ed31ad34b8864fb9278dcdef596ec",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
"versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
- "versions.yml:md5,961ab91198c4e6ec9d795b95e3f61fda"
+ "versions.yml:md5,961ab91198c4e6ec9d795b95e3f61fda",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:35:18.49994"
+ "timestamp": "2024-06-20T18:14:42.913968"
},
"gfp = false": {
"content": [
@@ -319,16 +319,16 @@
],
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T17:43:51.41041"
+ "timestamp": "2024-06-20T18:15:16.551347"
},
"skip_bbsplit": {
"content": [
@@ -373,16 +373,16 @@
],
[
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:12:46.345567"
+ "timestamp": "2024-06-20T18:13:46.28042"
},
"skip_bbsplit = true": {
"content": [
@@ -427,16 +427,16 @@
],
[
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:23:38.303812"
+ "timestamp": "2024-06-20T18:17:57.14732"
},
"with bed": {
"content": [
@@ -482,15 +482,15 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:37:21.338219"
+ "timestamp": "2024-06-20T18:15:52.284517"
},
"skip_alignment": {
"content": [
@@ -536,16 +536,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:34:12.785475"
+ "timestamp": "2024-06-20T18:14:04.612027"
},
"gencode = false": {
"content": [
@@ -591,16 +591,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:32:54.452919"
+ "timestamp": "2024-06-20T18:13:13.483047"
},
"gff = false": {
"content": [
@@ -646,16 +646,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T17:43:27.87968"
+ "timestamp": "2024-06-20T18:15:00.759762"
},
"default options": {
"content": [
@@ -701,16 +701,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:32:22.525706"
+ "timestamp": "2024-06-20T18:12:54.779065"
},
"salmon_index = false": {
"content": [
@@ -756,16 +756,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:38:24.083134"
+ "timestamp": "2024-06-20T18:16:27.229869"
},
"rsem_index = false": {
"content": [
@@ -811,16 +811,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:37:52.068391"
+ "timestamp": "2024-06-20T18:16:09.968836"
},
"skip_psuedo_alignment": {
"content": [
@@ -866,16 +866,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:34:43.261537"
+ "timestamp": "2024-06-20T18:14:22.598093"
},
"transcriptome = false": {
"content": [
@@ -921,17 +921,17 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
"versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
- "versions.yml:md5,918fe0b59c0986eb602ace85841c5ab3"
+ "versions.yml:md5,918fe0b59c0986eb602ace85841c5ab3",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T17:44:23.836038"
+ "timestamp": "2024-06-20T18:15:34.269049"
},
"skip_pseudoalignment = true": {
"content": [
@@ -977,16 +977,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:41:45.834084"
+ "timestamp": "2024-06-20T18:18:35.783312"
},
"skip_alignment = true": {
"content": [
@@ -1032,16 +1032,16 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
"versions.yml:md5,71252f1a221be05593361acccb99506b",
- "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a"
+ "versions.yml:md5,80e9dd350be8cd4c11909d75c914757a",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:41:15.442241"
+ "timestamp": "2024-06-20T18:18:16.883006"
},
"skip_gtf_filter = true": {
"content": [
@@ -1087,14 +1087,14 @@
[
"versions.yml:md5,0bc25597acf1d50abf7070d19d311cd7",
"versions.yml:md5,1cd265cb86a23a27f683ffb2459f37f5",
- "versions.yml:md5,58fa668eeacb984c10df6f856f2c9291",
- "versions.yml:md5,71252f1a221be05593361acccb99506b"
+ "versions.yml:md5,71252f1a221be05593361acccb99506b",
+ "versions.yml:md5,bc99889446f02427c166b3219b793672"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-13T11:40:24.672206"
+ "timestamp": "2024-06-20T18:17:39.358651"
}
}
\ No newline at end of file
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 7c07084ff..fe6ff312f 100644
--- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/main.nf
@@ -44,6 +44,7 @@ workflow BAM_DEDUP_STATS_SAMTOOLS_UMITOOLS {
emit:
bam = UMITOOLS_DEDUP.out.bam // channel: [ val(meta), path(bam) ]
+ deduplog = UMITOOLS_DEDUP.out.log // channel: [ val(meta), path(log) ]
bai = SAMTOOLS_INDEX.out.bai // channel: [ val(meta), path(bai) ]
csi = SAMTOOLS_INDEX.out.csi // channel: [ val(meta), path(csi) ]
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml
index e655484e7..93e1238b4 100644
--- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/meta.yml
@@ -37,6 +37,10 @@ output:
description: |
CSI samtools index
Structure: [ val(meta), path(csi) ]
+ - deduplog:
+ description: |
+ UMI-tools deduplication log
+ Structure: [ val(meta), path(log) ]
- stats:
description: |
File containing samtools stats output
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test
index 1ef1f7fe7..1a95c0bb5 100644
--- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test
@@ -27,6 +27,7 @@ nextflow_workflow {
then {
assertAll(
{ assert workflow.success},
+ { assert workflow.out.deduplog.get(0).get(1) ==~ ".*.log"},
{ assert workflow.out.bam.get(0).get(1) ==~ ".*.bam"},
{ assert workflow.out.bai.get(0).get(1) ==~ ".*.bai"},
{ assert snapshot(workflow.out.stats).match("test_bam_dedup_stats_samtools_umitools_stats") },
diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap
index 5a3e80b4a..442776f69 100644
--- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap
+++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap
@@ -40,14 +40,14 @@
{
"id": "test"
},
- "test.stats:md5,02342d307779941001376ff5d19e941a"
+ "test.stats:md5,09d1bd8f10e000921202f7ea1cd0679e"
]
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:45:33.563016651"
+ "timestamp": "2024-05-29T07:36:18.573909434"
}
}
\ No newline at end of file
diff --git a/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap b/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap
index caf4ac8ad..94f8f29c4 100644
--- a/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap
+++ b/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap
@@ -5,13 +5,13 @@
"test.cram.crai:md5,78d47ba01ac4e05f3ae1e353902a989e",
"test.flagstat:md5,93b0ef463df947ede1f42ff60396c34d",
"test.idxstats:md5,e179601fa7b8ebce81ac3765206f6c15",
- "test.stats:md5,c2f74a4d9b2377bcf4f4f184da3801af"
+ "test.stats:md5,372a7d9d9081aa009b21343a913beb14"
],
"meta": {
"nf-test": "0.8.4",
"nextflow": "23.10.1"
},
- "timestamp": "2024-03-20T20:45:38.364189"
+ "timestamp": "2024-05-29T07:39:18.809130196"
},
"sarscov2 - bam": {
"content": [
@@ -19,12 +19,12 @@
"test.bam.bai:md5,4d3ae8d013444b55e17aa0149a2ab404",
"test.flagstat:md5,4f7ffd1e6a5e85524d443209ac97d783",
"test.idxstats:md5,df60a8c8d6621100d05178c93fb053a2",
- "test.stats:md5,d7796222a087b9bb97f631f1c21b9c95"
+ "test.stats:md5,cca83e4fc9406fc3875b5e60055d6574"
],
"meta": {
"nf-test": "0.8.4",
"nextflow": "23.10.1"
},
- "timestamp": "2024-03-21T11:38:08.434529"
+ "timestamp": "2024-05-29T07:39:07.280687689"
}
}
\ No newline at end of file
diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap
index 6645a0920..db063837f 100644
--- a/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap
+++ b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap
@@ -43,15 +43,15 @@
"id": "test",
"single_end": false
},
- "test.stats:md5,cb0bf2b79de52fdf0c61e80efcdb0bb4"
+ "test.stats:md5,d32de3b3716a11039cef2367c3c1a56e"
]
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:44:38.553256801"
+ "timestamp": "2024-05-29T07:47:44.044172487"
},
"test_bam_sort_stats_samtools_paired_end_stats": {
"content": [
@@ -61,15 +61,15 @@
"id": "test",
"single_end": false
},
- "test.stats:md5,d7796222a087b9bb97f631f1c21b9c95"
+ "test.stats:md5,cca83e4fc9406fc3875b5e60055d6574"
]
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:44:48.355870518"
+ "timestamp": "2024-05-29T07:47:51.426232891"
},
"test_bam_sort_stats_samtools_single_end_idxstats": {
"content": [
diff --git a/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap
index bf0b0c696..c2cb4dec0 100644
--- a/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap
+++ b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap
@@ -25,15 +25,15 @@
"id": "test",
"single_end": true
},
- "test.stats:md5,ddaf8f33fe9c1ebe9b06933213aec8ed"
+ "test.stats:md5,7afd486ad6abb9a2a3dac90c99e1d87b"
]
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:45:06.230091746"
+ "timestamp": "2024-05-29T07:46:05.502831991"
},
"test_bam_stats_samtools_paired_end_flagstats": {
"content": [
@@ -97,15 +97,15 @@
"id": "test",
"single_end": true
},
- "test.stats:md5,dc178e1a4956043aba8abc83e203521b"
+ "test.stats:md5,4a0c429c661d6aa0b60acb9309da642d"
]
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:44:57.442208382"
+ "timestamp": "2024-05-29T07:45:59.612412212"
},
"test_bam_stats_samtools_paired_end_idxstats": {
"content": [
@@ -151,14 +151,14 @@
"id": "test",
"single_end": false
},
- "test.stats:md5,d3345c4887f4a9ea4f7f56405b495db0"
+ "test.stats:md5,16b59a1f2c99d9fe30f711adc3ebe32d"
]
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "23.10.1"
},
- "timestamp": "2024-02-13T16:45:14.997164209"
+ "timestamp": "2024-05-29T07:46:11.96999343"
}
}
\ No newline at end of file
diff --git a/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test
index b04fc1162..884d130a2 100644
--- a/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test
+++ b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test
@@ -5,35 +5,35 @@ nextflow_workflow {
workflow "FASTQ_ALIGN_HISAT2"
config "./nextflow.config"
- setup {
- run("HISAT2_EXTRACTSPLICESITES") {
- script "../../../../modules/nf-core/hisat2/extractsplicesites/main.nf"
- process {
- """
- input[0] = Channel.of([
- [id: 'test'],
- file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gtf", checkIfExists: true)
- ])
- """
+ setup {
+ run("HISAT2_EXTRACTSPLICESITES") {
+ script "../../../../modules/nf-core/hisat2/extractsplicesites/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gtf", checkIfExists: true)
+ ])
+ """
+ }
}
- }
- run("HISAT2_BUILD") {
- script "../../../../modules/nf-core/hisat2/build/main.nf"
- process {
- """
- input[0] = Channel.of([
- [id: 'test'],
- file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true)
- ])
- input[1] = Channel.of([
- [id: 'test'],
- file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gtf", checkIfExists: true)
- ])
- input[2] = HISAT2_EXTRACTSPLICESITES.out.txt
- """
+ run("HISAT2_BUILD") {
+ script "../../../../modules/nf-core/hisat2/build/main.nf"
+ process {
+ """
+ input[0] = Channel.of([
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.fasta", checkIfExists: true)
+ ])
+ input[1] = Channel.of([
+ [id: 'test'],
+ file(params.modules_testdata_base_path + "genomics/sarscov2/genome/genome.gtf", checkIfExists: true)
+ ])
+ input[2] = HISAT2_EXTRACTSPLICESITES.out.txt
+ """
+ }
}
}
- }
test("sarscov2 - bam - single_end") {
diff --git a/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test.snap
index d3f669275..6a24fc922 100644
--- a/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test.snap
+++ b/subworkflows/nf-core/fastq_align_hisat2/tests/main.nf.test.snap
@@ -7,15 +7,15 @@
"id": "test",
"single_end": false
},
- "test.stats:md5,ed4e2ba437f4819b7ab93a6df8dd5348"
+ "test.stats:md5,603fa8c9e0e9eb3769498fc989a29250"
]
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-29T13:28:06.091982"
+ "timestamp": "2024-06-20T17:49:22.610136"
},
"pe - csi": {
"content": [
@@ -108,19 +108,19 @@
"se - versions": {
"content": [
[
- "versions.yml:md5,34be144fb97a11f1c581b39301f6f0d1",
- "versions.yml:md5,4392ca9e255d9137e74a73a8d1e1559d",
- "versions.yml:md5,651e735a2754f3be76b516f5fbf099b5",
- "versions.yml:md5,912e1daa1e432f6b5ca601ab2294e37f",
- "versions.yml:md5,9b7dd7f9a173fbf92f5e476451c840c1",
- "versions.yml:md5,b4ccce0351e5718d36600858452dd4b1"
+ "versions.yml:md5,2d9432e15956fe71fe0ba811547acea6",
+ "versions.yml:md5,5fcbed7fee2404be4ecee6efab5914b8",
+ "versions.yml:md5,6b9d9eed13bf074965d1623a7e8a1741",
+ "versions.yml:md5,7767a57d88fff540ce475902df2e9e0a",
+ "versions.yml:md5,b4ccce0351e5718d36600858452dd4b1",
+ "versions.yml:md5,bb6710ee58b84a1ed212f9c599d84066"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-29T13:27:50.826601"
+ "timestamp": "2024-06-20T17:49:02.049644"
},
"pe - idxstats": {
"content": [
@@ -235,19 +235,19 @@
"pe - versions": {
"content": [
[
- "versions.yml:md5,34be144fb97a11f1c581b39301f6f0d1",
- "versions.yml:md5,4392ca9e255d9137e74a73a8d1e1559d",
- "versions.yml:md5,651e735a2754f3be76b516f5fbf099b5",
- "versions.yml:md5,912e1daa1e432f6b5ca601ab2294e37f",
- "versions.yml:md5,9b7dd7f9a173fbf92f5e476451c840c1",
- "versions.yml:md5,b4ccce0351e5718d36600858452dd4b1"
+ "versions.yml:md5,2d9432e15956fe71fe0ba811547acea6",
+ "versions.yml:md5,5fcbed7fee2404be4ecee6efab5914b8",
+ "versions.yml:md5,6b9d9eed13bf074965d1623a7e8a1741",
+ "versions.yml:md5,7767a57d88fff540ce475902df2e9e0a",
+ "versions.yml:md5,b4ccce0351e5718d36600858452dd4b1",
+ "versions.yml:md5,bb6710ee58b84a1ed212f9c599d84066"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-29T13:28:06.098801"
+ "timestamp": "2024-06-20T17:49:22.664338"
},
"se - flagstat": {
"content": [
@@ -275,14 +275,14 @@
"id": "test",
"single_end": true
},
- "test.stats:md5,f712acf6108a70c3fb06ac51e5e76f15"
+ "test.stats:md5,845655ccfd1fd701b9f692f8db9508af"
]
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-29T13:27:50.804219"
+ "timestamp": "2024-06-20T17:49:01.982358"
}
}
\ No newline at end of file
diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf
index 764ce013f..c472d7116 100644
--- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf
+++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/main.nf
@@ -91,6 +91,7 @@ workflow FASTQ_FASTQC_UMITOOLS_FASTP {
FASTP (
umi_reads,
adapter_fasta,
+ false, // don't want to set discard_trimmed_pass, else there will be no reads output
save_trimmed_fail,
save_merged
)
diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap
index 3e11d9ec3..4a6689f67 100644
--- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap
+++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap
@@ -55,9 +55,9 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T16:53:49.315194"
+ "timestamp": "2024-06-10T15:08:06.209854813"
},
"save_trimmed_fail": {
"content": [
@@ -127,9 +127,9 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T16:51:45.34934"
+ "timestamp": "2024-06-10T15:09:56.338504908"
},
"skip_umi_extract": {
"content": [
@@ -189,9 +189,9 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T12:07:40.34249"
+ "timestamp": "2024-06-10T15:08:51.174735433"
},
"umi_discard_read = 2": {
"content": [
@@ -251,9 +251,9 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T12:08:24.141938"
+ "timestamp": "2024-06-10T15:09:14.145250471"
},
"save_merged": {
"content": [
@@ -319,9 +319,9 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T12:10:18.546963"
+ "timestamp": "2024-06-10T15:10:16.25526763"
},
"skip_trimming": {
"content": [
@@ -417,9 +417,9 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T16:53:39.139038"
+ "timestamp": "2024-06-10T15:07:52.031579846"
},
"min_trimmed_reads = 26": {
"content": [
@@ -485,9 +485,9 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T11:52:23.849945"
+ "timestamp": "2024-06-10T15:10:34.68796644"
},
"with_umi": {
"content": [
@@ -542,8 +542,8 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-03-18T17:31:09.193212"
+ "timestamp": "2024-06-10T15:08:32.267769943"
}
}
\ No newline at end of file
diff --git a/tests/default.nf.test.snap b/tests/default.nf.test.snap
index c221fd786..83b22815a 100644
--- a/tests/default.nf.test.snap
+++ b/tests/default.nf.test.snap
@@ -17,18 +17,18 @@
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-04-11T14:39:58.637279952"
+ "timestamp": "2024-06-27T15:38:12.586958"
},
"software_versions": {
"content": [
- "{BBMAP_BBSPLIT={bbmap=39.01}, BEDTOOLS_GENOMECOV_FW={bedtools=2.31.1}, CAT_FASTQ={cat=8.3}, CUSTOM_CATADDITIONALFASTA={python=3.9.5}, CUSTOM_GETCHROMSIZES={getchromsizes=1.16.1}, CUSTOM_TX2GENE={python=3.9.5}, DESEQ2_QC_PSEUDO={r-base=4.0.3, bioconductor-deseq2=1.28.0}, DESEQ2_QC_STAR_SALMON={r-base=4.0.3, bioconductor-deseq2=1.28.0}, DUPRADAR={bioconductor-dupradar=1.32.0}, FASTQC={fastqc=0.12.1}, FQ_SUBSAMPLE={fq=0.9.1 (2022-02-22)}, GTF2BED={perl=5.26.2}, GTF_FILTER={python=3.9.5}, GUNZIP_ADDITIONAL_FASTA={gunzip=1.1}, GUNZIP_GTF={gunzip=1.1}, MULTIQC_CUSTOM_BIOTYPE={python=3.9.5}, PICARD_MARKDUPLICATES={picard=3.1.1}, QUALIMAP_RNASEQ={qualimap=2.3}, RSEQC_BAMSTAT={rseqc=5.0.2}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_INNERDISTANCE={rseqc=5.0.2}, RSEQC_JUNCTIONANNOTATION={rseqc=5.0.2}, RSEQC_JUNCTIONSATURATION={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SALMON_QUANT={salmon=1.10.1}, SAMTOOLS_FLAGSTAT={samtools=1.19.2}, SAMTOOLS_IDXSTATS={samtools=1.19.2}, SAMTOOLS_INDEX={samtools=1.19.2}, SAMTOOLS_SORT={samtools=1.19.2}, SAMTOOLS_STATS={samtools=1.19.2}, SE_GENE={bioconductor-summarizedexperiment=1.32.0}, STAR_ALIGN={star=2.7.10a, samtools=1.18, gawk=5.1.0}, STAR_GENOMEGENERATE={star=2.7.10a, samtools=1.18, gawk=5.1.0}, STRINGTIE_STRINGTIE={stringtie=2.2.1}, SUBREAD_FEATURECOUNTS={subread=2.0.1}, TRIMGALORE={trimgalore=0.6.7, cutadapt=3.4}, TXIMETA_TXIMPORT={bioconductor-tximeta=1.20.1}, UCSC_BEDCLIP={ucsc=377}, UCSC_BEDGRAPHTOBIGWIG={ucsc=445}, UNTAR_SALMON_INDEX={untar=1.3}, Workflow={nf-core/rnaseq=v3.15.0dev}}"
+ "{BBMAP_BBSPLIT={bbmap=39.01}, BEDTOOLS_GENOMECOV_FW={bedtools=2.31.1}, CAT_FASTQ={cat=8.3}, CUSTOM_CATADDITIONALFASTA={python=3.9.5}, CUSTOM_GETCHROMSIZES={getchromsizes=1.2}, CUSTOM_TX2GENE={python=3.9.5}, DESEQ2_QC_PSEUDO={r-base=4.0.3, bioconductor-deseq2=1.28.0}, DESEQ2_QC_STAR_SALMON={r-base=4.0.3, bioconductor-deseq2=1.28.0}, DUPRADAR={bioconductor-dupradar=1.32.0}, FASTQC={fastqc=0.12.1}, FQ_SUBSAMPLE={fq=0.9.1 (2022-02-22)}, GTF2BED={perl=5.26.2}, GTF_FILTER={python=3.9.5}, GUNZIP_ADDITIONAL_FASTA={gunzip=1.1}, GUNZIP_GTF={gunzip=1.1}, MULTIQC_CUSTOM_BIOTYPE={python=3.9.5}, PICARD_MARKDUPLICATES={picard=3.1.1}, QUALIMAP_RNASEQ={qualimap=2.3}, RSEQC_BAMSTAT={rseqc=5.0.2}, RSEQC_INFEREXPERIMENT={rseqc=5.0.2}, RSEQC_INNERDISTANCE={rseqc=5.0.2}, RSEQC_JUNCTIONANNOTATION={rseqc=5.0.2}, RSEQC_JUNCTIONSATURATION={rseqc=5.0.2}, RSEQC_READDISTRIBUTION={rseqc=5.0.2}, RSEQC_READDUPLICATION={rseqc=5.0.2}, SALMON_QUANT={salmon=1.10.1}, SAMTOOLS_FLAGSTAT={samtools=1.2}, SAMTOOLS_IDXSTATS={samtools=1.2}, SAMTOOLS_INDEX={samtools=1.2}, SAMTOOLS_SORT={samtools=1.2}, SAMTOOLS_STATS={samtools=1.2}, SE_GENE={bioconductor-summarizedexperiment=1.32.0}, STAR_ALIGN={star=2.7.10a, samtools=1.18, gawk=5.1.0}, STAR_GENOMEGENERATE={star=2.7.10a, samtools=1.18, gawk=5.1.0}, STRINGTIE_STRINGTIE={stringtie=2.2.1}, SUBREAD_FEATURECOUNTS={subread=2.0.1}, TRIMGALORE={trimgalore=0.6.7, cutadapt=3.4}, TXIMETA_TXIMPORT={bioconductor-tximeta=1.20.1}, UCSC_BEDCLIP={ucsc=377}, UCSC_BEDGRAPHTOBIGWIG={ucsc=445}, UNTAR_SALMON_INDEX={untar=1.3}, Workflow={nf-core/rnaseq=v3.15.0dev}}"
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "24.01.0"
+ "nextflow": "24.04.1"
},
- "timestamp": "2024-03-04T12:40:26.161319"
+ "timestamp": "2024-06-27T15:38:12.576022"
}
}
\ No newline at end of file
diff --git a/workflows/rnaseq/assets/multiqc/deseq2_clustering_header.txt b/workflows/rnaseq/assets/multiqc/deseq2_clustering_header.txt
index 04e10efa5..c7bef7392 100644
--- a/workflows/rnaseq/assets/multiqc/deseq2_clustering_header.txt
+++ b/workflows/rnaseq/assets/multiqc/deseq2_clustering_header.txt
@@ -8,5 +8,4 @@
#anchor: 'deseq2_clustering'
#pconfig:
# title: 'DESeq2: Heatmap of the sample-to-sample distances'
-# xlab: True
-# reverseColors: True
+# reverse_colors: True
diff --git a/workflows/rnaseq/assets/multiqc/multiqc_config.yml b/workflows/rnaseq/assets/multiqc/multiqc_config.yml
index 0a977e733..47bd0a770 100644
--- a/workflows/rnaseq/assets/multiqc/multiqc_config.yml
+++ b/workflows/rnaseq/assets/multiqc/multiqc_config.yml
@@ -155,27 +155,24 @@ custom_data:
plot_type: "table"
pconfig:
id: "fail_trimmed_samples_table"
- table_title: "Samples failed trimming threshold"
+ title: "Samples failed trimming threshold"
namespace: "Samples failed trimming threshold"
- format: "{:.0f}"
fail_mapped_samples:
section_name: "WARNING: Fail Alignment Check"
description: "List of samples that failed the STAR minimum mapped reads threshold specified via the '--min_mapped_reads' parameter, and hence were ignored for the downstream processing steps."
plot_type: "table"
pconfig:
id: "fail_mapped_samples_table"
- table_title: "Samples failed mapping threshold"
+ title: "Samples failed mapping threshold"
namespace: "Samples failed mapping threshold"
- format: "{:.2f}"
fail_strand_check:
section_name: "Strandedness Checks"
description: "The strandedness used for analysis in this workflow can either be provided by the user or automatically inferred by Salmon using a sample of reads. In both cases, strandedness is verified at the end of the workflow using RSeQC's infer_experiment.py on genomic alignments. In this table, a pass indicates a match between the supplied strandedness (or that inferred by Salmon) and RSeQC results. A fail indicates a mismatch or 'undetermined' strandedness. 'Undetermined' strandedness can signal QC issues, including potential genomic DNA contamination. Note: Rows are duplicated for an 'auto' setting to allow comparison of statistics between inference methods. "
plot_type: "table"
pconfig:
id: "fail_strand_check_table"
- table_title: "Samples strandedness check"
+ title: "Samples strandedness check"
namespace: "Samples strandedness check"
- format: "{:.2f}"
headers:
Status:
description: Pass if the strandedness inferred by RSeQC matches that provided by the user or predicted by Salmon. Fail otherwise.
|