diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3ce5e7dd..546294e9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -26,6 +26,7 @@ Thank you to everyone else that has contributed by reporting bugs, enhancements
- [[PR #401](https://github.com/nf-core/viralrecon/pull/401)] - Added option to add a custom annotation
- [[PR #417](https://github.com/nf-core/viralrecon/pull/417)] - Allow skipping of Freyja bootstrapping module & freyja module update
- [[PR #434](https://github.com/nf-core/viralrecon/pull/434)] - Add blast result filtering through `min_contig_length` and `min_perc_contig_aligned`.
+- [[PR #438](https://github.com/nf-core/viralrecon/pull/438)] - Update fastp container to 0.23.4
- [[PR #]()] - Refactored old ivar_variants_to_vcf.py with new functionalities like a quality threshold.
### Parameters
@@ -54,6 +55,7 @@ Note, since the pipeline is now using Nextflow DSL2, each process will be run wi
| ---------- | ----------- | ----------- |
| `freyja` | | 1.5.0 |
| `multiqc` | 1.14 | 1.19 |
+| `fastp` | 0.23.2 | 0.23.4 |
> **NB:** Dependency has been **updated** if both old and new version information is present.
>
diff --git a/modules.json b/modules.json
index 02ef0a88..25cf625c 100644
--- a/modules.json
+++ b/modules.json
@@ -107,7 +107,7 @@
},
"fastp": {
"branch": "master",
- "git_sha": "95cf5fe0194c7bf5cb0e3027a2eb7e7c89385080",
+ "git_sha": "1ceaa8ba4d0fd886dbca0e545815d905b7407de7",
"installed_by": ["modules"]
},
"fastqc": {
diff --git a/modules/nf-core/fastp/main.nf b/modules/nf-core/fastp/main.nf
index 4fc19b74..e1b9f565 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,14 +106,16 @@ 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 = (discard_trimmed_pass) ? "" : (is_single_output) ? "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" : ""
+ def touch_fail_fastq = (!save_trimmed_fail) ? "" : meta.single_end ? "echo '' | gzip > ${prefix}.fail.fastq.gz" : "echo '' | gzip > ${prefix}.paired.fail.fastq.gz ; echo '' | gzip > ${prefix}_1.fail.fastq.gz ; echo '' | gzip > ${prefix}_2.fail.fastq.gz"
"""
- touch $touch_reads
+ $touch_reads
+ $touch_fail_fastq
+ $touch_merged
touch "${prefix}.fastp.json"
touch "${prefix}.fastp.html"
touch "${prefix}.fastp.log"
- $touch_merged
cat <<-END_VERSIONS > versions.yml
"${task.process}":
diff --git a/modules/nf-core/fastp/meta.yml b/modules/nf-core/fastp/meta.yml
index c22a16ab..8dfecc18 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 6f1f4897..30dbb8aa 100644
--- a/modules/nf-core/fastp/tests/main.nf.test
+++ b/modules/nf-core/fastp/tests/main.nf.test
@@ -10,221 +10,290 @@ 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 path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") },
+ { assert snapshot(
+ process.out.json,
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.versions).match() }
)
}
}
- test("test_fastp_single_end-stub") {
-
- options '-stub'
+ test("test_fastp_paired_end") {
when {
- params {
- outdir = "$outputDir"
- }
+
process {
"""
adapter_fasta = []
+ save_trimmed_pass = true
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) ]
+ [ 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
"""
}
}
then {
+ assertAll(
+ { assert process.success },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("Q30 bases: 12281(88.3716%)") },
+ { assert snapshot(
+ process.out.json,
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.versions).match() }
+ )
+ }
+ }
+ test("fastp test_fastp_interleaved") {
+
+ config './nextflow.interleaved.config'
+ when {
+ process {
+ """
+ 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] = []
+ input[2] = false
+ input[3] = false
+ input[4] = false
+ """
+ }
+ }
+
+ 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_single_end-for_stub_match")
- },
- { assert snapshot(process.out.versions).match("versions_single_end_stub") }
+ { assert path(process.out.html.get(0).get(1)).getText().contains("paired end (151 cycles + 151 cycles)") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 162") },
+ { assert process.out.reads_fail == [] },
+ { assert process.out.reads_merged == [] },
+ { assert snapshot(
+ process.out.reads,
+ process.out.json,
+ process.out.versions).match() }
)
}
}
- test("test_fastp_paired_end") {
+ test("test_fastp_single_end_trim_fail") {
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] = false
+ input[3] = true
+ input[4] = false
+ """
}
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") },
+ { assert snapshot(
+ process.out.json,
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.versions).match() }
+ )
+ }
+ }
+
+ test("test_fastp_paired_end_trim_fail") {
+
+ config './nextflow.save_failed.config'
+ when {
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] = []
+ input[2] = false
+ input[3] = true
+ input[4] = false
+ """
+ }
+ }
+ then {
+ assertAll(
+ { assert process.success },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 162") },
+ { assert snapshot(
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.json,
+ process.out.versions).match() }
+ )
+ }
+ }
+
+ test("test_fastp_paired_end_merged") {
+
+ 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] = 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 = [ "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 path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("total reads: 75") },
+ { assert snapshot(
+ process.out.json,
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.versions).match() },
)
}
}
- test("test_fastp_paired_end-stub") {
-
- options '-stub'
+ test("test_fastp_paired_end_merged_adapterlist") {
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] = 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 path(process.out.html.get(0).get(1)).getText().contains(" ") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("total bases: 13683") },
+ { assert snapshot(
+ process.out.json,
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.versions).match() }
+ )
+ }
+ }
+
+ test("test_fastp_single_end_qc_only") {
+
+ when {
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] = []
+ input[2] = true
+ input[3] = false
+ input[4] = false
+ """
+ }
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert path(process.out.html.get(0).get(1)).getText().contains("single end (151 cycles)") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("reads passed filter: 99") },
+ { assert snapshot(
+ process.out.json,
+ process.out.reads,
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.reads_merged,
+ process.out.versions).match() }
+ )
+ }
+ }
+ test("test_fastp_paired_end_qc_only") {
+
+ 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] = adapter_fasta
- input[2] = save_trimmed_fail
- input[3] = save_merged
+ input[1] = []
+ input[2] = true
+ input[3] = false
+ input[4] = false
"""
}
}
@@ -232,114 +301,99 @@ 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 path(process.out.html.get(0).get(1)).getText().contains("The input has little adapter percentage (~0.000000%), probably it's trimmed before.") },
+ { assert path(process.out.log.get(0).get(1)).getText().contains("Q30 bases: 12281(88.3716%)") },
+ { assert snapshot(
+ process.out.json,
+ process.out.reads,
+ process.out.reads,
+ process.out.reads_fail,
+ process.out.reads_fail,
+ process.out.reads_merged,
+ process.out.reads_merged,
+ process.out.versions).match() }
)
}
}
- test("fastp test_fastp_interleaved") {
+ test("test_fastp_single_end - stub") {
+
+ options "-stub"
- config './nextflow.interleaved.config'
when {
- params {
- outdir = "$outputDir"
+
+ 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] = false
+ input[3] = false
+ input[4] = false
+ """
}
+ }
+
+ then {
+ assertAll(
+ { assert process.success },
+ { assert snapshot(process.out).match() }
+ )
+ }
+ }
+
+ test("test_fastp_paired_end - stub") {
+
+ options "-stub"
+
+ when {
+
process {
"""
adapter_fasta = []
+ save_trimmed_pass = true
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) ]
+ [ 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
"""
}
}
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).match() }
)
}
}
- test("fastp test_fastp_interleaved-stub") {
+ test("fastp - stub test_fastp_interleaved") {
- options '-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
"""
}
}
@@ -347,277 +401,112 @@ 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() }
)
}
}
- test("test_fastp_single_end_trim_fail") {
+ test("test_fastp_single_end_trim_fail - stub") {
+
+ options "-stub"
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).match() }
)
}
}
- test("test_fastp_paired_end_trim_fail") {
+ test("test_fastp_paired_end_trim_fail - stub") {
+
+ options "-stub"
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).match() }
)
}
}
- test("test_fastp_paired_end_merged") {
+ test("test_fastp_paired_end_merged - stub") {
+
+ 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
"""
}
}
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).match() }
)
}
}
- test("test_fastp_paired_end_merged-stub") {
+ test("test_fastp_paired_end_merged_adapterlist - stub") {
- options '-stub'
+ 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] = Channel.of([ file(params.modules_testdata_base_path + 'delete_me/fastp/adapters.fasta', checkIfExists: true) ])
+ input[2] = false
+ input[3] = false
+ input[4] = true
"""
}
}
@@ -625,101 +514,63 @@ 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") {
+ test("test_fastp_single_end_qc_only - stub") {
+
+ options "-stub"
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: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 - stub") {
+
+ options "-stub"
+
+ 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] = 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 3e876288..54be7e45 100644
--- a/modules/nf-core/fastp/tests/main.nf.test.snap
+++ b/modules/nf-core/fastp/tests/main.nf.test.snap
@@ -1,55 +1,178 @@
{
- "fastp test_fastp_interleaved_json": {
+ "test_fastp_single_end_qc_only - stub": {
"content": [
- [
- [
- {
- "id": "test",
- "single_end": true
- },
- "test.fastp.json:md5,b24e0624df5cc0b11cd5ba21b726fb22"
+ {
+ "0": [
+
+ ],
+ "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": [
+
+ ],
+ "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-07-05T14:31:10.841098"
},
- "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}"
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7",
+ "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39"
+ ]
+ ]
+ ],
+ [
+
+ ],
+ [
+
+ ],
+ [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-01-17T18:10:13.467574"
+ "timestamp": "2024-07-05T13:43:28.665779"
},
- "versions_interleaved": {
+ "test_fastp_paired_end_merged_adapterlist": {
"content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,5914ca3f21ce162123a824e33e8564f6"
+ ]
+ ],
+ [
+ [
+ {
+ "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"
+ ]
+ ],
[
"versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
]
],
"meta": {
"nf-test": "0.8.4",
- "nextflow": "23.10.1"
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-02-01T11:56:24.615634793"
+ "timestamp": "2024-07-05T13:44:18.210375"
},
- "test_fastp_single_end_json": {
+ "test_fastp_single_end_qc_only": {
"content": [
[
[
@@ -57,274 +180,1152 @@
"id": "test",
"single_end": true
},
- "test.fastp.json:md5,c852d7a6dba5819e4ac8d9673bedcacc"
+ "test.fastp.json:md5,5cc5f01e449309e0e689ed6f51a2294a"
]
- ]
- ],
- "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-07-05T13:44:27.380974"
},
- "test_fastp_paired_end_match": {
+ "test_fastp_paired_end_trim_fail": {
"content": [
[
[
- "test_1.fastp.fastq.gz",
- "test_2.fastp.fastq.gz"
- ],
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "{id=test, single_end=false}"
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-02-01T12:03:06.431833729"
- },
- "test_fastp_interleaved-_match": {
- "content": [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,6ff32a64c5188b9a9192be1398c262c7",
+ "test_2.fastp.fastq.gz:md5,db0cb7c9977e94ac2b4b446ebd017a8a"
+ ]
+ ]
+ ],
[
- "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.paired.fail.fastq.gz:md5,409b687c734cedd7a1fec14d316e1366",
+ "test_1.fail.fastq.gz:md5,4f273cf3159c13f79e8ffae12f5661f6",
+ "test_2.fail.fastq.gz:md5,f97b9edefb5649aab661fbc9e71fc995"
+ ]
+ ]
+ ],
+ [
+
+ ],
[
[
- "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.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:55:27.354051299"
+ "timestamp": "2024-07-05T13:43:58.749589"
},
- "versions_interleaved-stub": {
+ "fastp - stub test_fastp_interleaved": {
"content": [
- [
- "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
- ]
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.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.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:56:46.535528418"
+ "timestamp": "2024-07-05T13:50:00.270029"
},
- "versions_single_end_trim_fail": {
+ "test_fastp_single_end - stub": {
"content": [
- [
- "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
- ]
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.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.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:59:03.724591407"
+ "timestamp": "2024-07-05T13:49:42.502789"
},
- "test_fastp_paired_end-for_stub_match": {
+ "test_fastp_paired_end_merged_adapterlist - stub": {
"content": [
- [
- [
- "test_1.fastp.fastq.gz",
- "test_2.fastp.fastq.gz"
+ {
+ "0": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test_1.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fastp.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
],
- "test.fastp.html",
- "test.fastp.json",
- "test.fastp.log",
- "{id=test, single_end=false}"
- ]
+ "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:07:15.398827"
+ "timestamp": "2024-07-05T13:54:53.458252"
},
- "versions_paired_end-stub": {
+ "test_fastp_paired_end_merged - 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": [
+ [
+ {
+ "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-02-01T11:56:06.50017282"
+ "timestamp": "2024-07-05T13:50:27.689379"
},
- "versions_single_end": {
+ "test_fastp_paired_end_merged": {
"content": [
[
- "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
- ]
- ],
- "meta": {
- "nf-test": "0.8.4",
- "nextflow": "23.10.1"
- },
- "timestamp": "2024-02-01T11:55:07.67921647"
- },
- "versions_paired_end_merged_stub": {
- "content": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ "test.fastp.json:md5,b712fd68ed0322f4bec49ff2a5237fcc"
+ ]
+ ],
+ [
+ [
+ {
+ "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"
+ ]
+ ],
[
"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-07-05T13:44:08.68476"
},
- "test_fastp_interleaved-for_stub_match": {
+ "test_fastp_paired_end - 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": [
+
+ ],
+ "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-01-17T18:08:06.127974"
+ "timestamp": "2024-07-05T13:49:51.679221"
},
- "versions_paired_end_trim_fail": {
+ "test_fastp_single_end": {
"content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,c852d7a6dba5819e4ac8d9673bedcacc"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7"
+ ]
+ ],
+ [
+
+ ],
+ [
+
+ ],
[
"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-07-05T13:43:18.834322"
},
- "test_fastp_single_end-for_stub_match": {
+ "test_fastp_single_end_trim_fail - 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.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": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ],
+ "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": [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ],
+ "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:06:00.244202"
+ "timestamp": "2024-07-05T14:05:36.898142"
},
- "test_fastp_single_end-_match": {
+ "test_fastp_paired_end_trim_fail - 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": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "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": [
+ [
+ {
+ "id": "test",
+ "single_end": false
+ },
+ [
+ "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940",
+ "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940"
+ ]
+ ]
+ ],
+ "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-07-05T14:05:49.212847"
},
- "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-07-05T13:43:38.910832"
},
- "versions_paired_end_merged": {
+ "test_fastp_single_end_trim_fail": {
"content": [
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.json:md5,9a7ee180f000e8d00c7fb67f06293eb5"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7"
+ ]
+ ],
+ [
+ [
+ {
+ "id": "test",
+ "single_end": true
+ },
+ "test.fail.fastq.gz:md5,3e4aaadb66a5b8fc9b881bf39c227abd"
+ ]
+ ],
+ [
+
+ ],
[
"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-07-05T13:43:48.22378"
},
- "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-07-05T13:44:36.334938"
+ },
+ "test_fastp_paired_end_qc_only - stub": {
+ "content": [
+ {
+ "0": [
+
+ ],
+ "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": [
+
+ ],
+ "reads_fail": [
+
+ ],
+ "reads_merged": [
+
+ ],
+ "versions": [
+ "versions.yml:md5,48ffc994212fb1fc9f83a74fa69c9f02"
+ ]
+ }
+ ],
+ "meta": {
+ "nf-test": "0.8.4",
+ "nextflow": "24.04.2"
},
- "timestamp": "2024-01-17T18:08:41.942317"
+ "timestamp": "2024-07-05T14:31:27.096468"
}
}
\ No newline at end of file
diff --git a/subworkflows/local/fastq_trim_fastp_fastqc.nf b/subworkflows/local/fastq_trim_fastp_fastqc.nf
index 101741c8..cdfcc871 100644
--- a/subworkflows/local/fastq_trim_fastp_fastqc.nf
+++ b/subworkflows/local/fastq_trim_fastp_fastqc.nf
@@ -18,10 +18,11 @@ def getFastpReadsAfterFiltering(json_file) {
workflow FASTQ_TRIM_FASTP_FASTQC {
take:
- reads // channel: [ val(meta), [ reads ] ]
- adapter_fasta // file: adapter.fasta
- save_trimmed_fail // value: boolean
- save_merged // value: boolean
+ reads // channel: [ val(meta), [ reads ] ]
+ adapter_fasta // file: adapter.fasta
+ discard_trimmed_pass // value: boolean
+ save_trimmed_fail // value: boolean
+ save_merged // value: boolean
main:
@@ -50,6 +51,7 @@ workflow FASTQ_TRIM_FASTP_FASTQC {
FASTP (
reads,
adapter_fasta,
+ discard_trimmed_pass,
save_trimmed_fail,
save_merged
)
diff --git a/workflows/illumina.nf b/workflows/illumina.nf
index 78bf9d14..393e78bd 100644
--- a/workflows/illumina.nf
+++ b/workflows/illumina.nf
@@ -204,6 +204,7 @@ workflow ILLUMINA {
FASTQ_TRIM_FASTP_FASTQC (
ch_cat_fastq,
[],
+ false,
params.save_trimmed_fail,
false
)
|