diff --git a/CHANGELOG.md b/CHANGELOG.md index fc243f3c..47d3b2cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ Initial release of nf-core/seqinspector, created with the [nf-core](https://nf-c - [#96](https://github.com/nf-core/seqinspector/pull/96) Added missing citations to citation tool - [#103](https://github.com/nf-core/seqinspector/pull/103) Configure full-tests - [#110](https://github.com/nf-core/seqinspector/pull/110) Update input schema to accept either tar file or directory as rundir, and fastq messages and patterns. +- [#134](https://github.com/nf-core/seqinspector/pull/134) Added sequali module. ### `Fixed` diff --git a/CITATIONS.md b/CITATIONS.md index 208cfa1e..12d65b61 100644 --- a/CITATIONS.md +++ b/CITATIONS.md @@ -14,6 +14,10 @@ > Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online]. +- [Sequali](https://sequali.readthedocs.io/en/latest/) + +> Vorderman R. Sequali: efficient and comprehensive quality control of short- and long-read sequencing data. Bioinformatics Advances, 2025. doi: 10.1093/bioadv/vbaf010 + - [SeqFu](https://telatin.github.io/seqfu2/) > Telatin A, Fariselli P, Birolo G. SeqFu: A Suite of Utilities for the Robust and Reproducible Manipulation of Sequence Files. Bioengineering 2021, 8, 59. doi.org/10.3390/bioengineering8050059 diff --git a/README.md b/README.md index 6cf36dcc..c10c1f8e 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ 1. Subsample reads ([`Seqtk`](https://github.com/lh3/seqtk)) -2. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)) +2. Read QC ([`FastQC`](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/), [`Sequali`](https://sequali.readthedocs.io/en/latest/)) 3. Present QC for raw reads ([`MultiQC`](http://multiqc.info/)) ## Usage diff --git a/assets/multiqc_config.yml b/assets/multiqc_config.yml index e960d07e..984a0c5d 100644 --- a/assets/multiqc_config.yml +++ b/assets/multiqc_config.yml @@ -13,3 +13,6 @@ report_section_order: export_plots: true disable_version_detection: true + +use_filename_as_sample_name: + - "sequali" diff --git a/docs/output.md b/docs/output.md index 3d3c3497..f3c1d218 100644 --- a/docs/output.md +++ b/docs/output.md @@ -12,6 +12,7 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d - [Seqtk](#seqtk) - Subsample a specific number of reads per sample - [FastQC](#fastqc) - Raw read QC +- [Sequali](#sequali) - Sequence quality metrics for short and long reads - [SeqFu Stats](#seqfu_stats) - Statistics for FASTA or FASTQ files - [FastQ Screen](#fastqscreen) - Mapping against a set of references for basic contamination QC - [MultiQC](#multiqc) - Aggregate report describing results and QC from the whole pipeline @@ -42,6 +43,19 @@ The pipeline is built using [Nextflow](https://www.nextflow.io/) and processes d [FastQC](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/) gives general quality metrics about your sequenced reads. It provides information about the quality score distribution across your reads, per base sequence content (%A/T/G/C), adapter contamination and overrepresented sequences. For further reading and documentation see the [FastQC help pages](http://www.bioinformatics.babraham.ac.uk/projects/fastqc/Help/). +### Sequali + +
+Output files + +- `sequali/` + - `*.html`: Sequali report containing quality metrics. + - `*.jsom`: JSON containing the Sequali data, used for generating MultiQC report. + +
+ +[Sequali](https://sequali.readthedocs.io/en/latest/) gives general quality metrics for short and long sequenced reads. It provides information about the quality score distribution across your reads, GC content, duplication levels, length distribution, adapter contamination (Illumina and Oxford Nanopore) and overrepresented sequences. + ### FastQ Screen
diff --git a/modules.json b/modules.json index 71b4bbe5..b7824a5a 100644 --- a/modules.json +++ b/modules.json @@ -40,6 +40,11 @@ "branch": "master", "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", "installed_by": ["modules"] + }, + "sequali": { + "branch": "master", + "git_sha": "41dfa3f7c0ffabb96a6a813fe321c6d1cc5b6e46", + "installed_by": ["modules"] } } }, diff --git a/modules/nf-core/sequali/environment.yml b/modules/nf-core/sequali/environment.yml new file mode 100644 index 00000000..b712a24f --- /dev/null +++ b/modules/nf-core/sequali/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - bioconda::sequali=0.12.0 diff --git a/modules/nf-core/sequali/main.nf b/modules/nf-core/sequali/main.nf new file mode 100644 index 00000000..768b98ce --- /dev/null +++ b/modules/nf-core/sequali/main.nf @@ -0,0 +1,58 @@ +process SEQUALI { + tag "$meta.id" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/9e/9ed3be5b0d3beb64807ec93b25a80b55abdcdffe684114d12ddef78461dd64e9/data': + 'community.wave.seqera.io/library/sequali:0.12.0--07485bec824d914a' }" + + input: + + tuple val(meta), path(reads) + + output: + + tuple val(meta), path("*.html"), emit: html + tuple val(meta), path("*.json"), emit: json + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def read_1_bam = reads.size() == 1 ? reads : reads[0] + def read_2 = reads.size() == 2 ? reads[1]: "" + + """ + sequali \\ + $args \\ + -t $task.cpus \\ + --html ${prefix}.html \\ + --json ${prefix}.json \\ + $read_1_bam \\ + $read_2 + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + sequali: \$(sequali --version |& sed '1!d ; s/sequali //') + END_VERSIONS + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + touch ${prefix}.html + touch ${prefix}.json + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + sequali: \$(sequali --version |& sed '1!d ; s/sequali //') + END_VERSIONS + """ +} + diff --git a/modules/nf-core/sequali/meta.yml b/modules/nf-core/sequali/meta.yml new file mode 100644 index 00000000..97710888 --- /dev/null +++ b/modules/nf-core/sequali/meta.yml @@ -0,0 +1,68 @@ +name: sequali +description: Sequence quality metrics for FASTQ and uBAM files. +keywords: + - quality_control + - qc + - preprocessing +tools: + - sequali: + description: Fast sequencing quality metrics + homepage: "https://github.com/rhpvorderman/sequali" + documentation: "https://sequali.readthedocs.io/en/latest/" + tool_dev_url: "https://github.com/rhpvorderman/sequali" + doi: "10.5281/zenodo.10854010" + licence: ["AGPL v3-or-later"] + identifier: biotools:sequali + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1', single_end:false ]` + + - reads: + type: file + description: Input FASTQ(s) or uBAM file. The format is autodetected and compressed + formats are supported. + pattern: "*.{fastq,fq,fastq.gz,fq.gz,bam}" + ontologies: + - edam: http://edamontology.org/format_1930 # FASTQ +output: + html: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1', single_end:false ]` + - "*.html": + type: file + description: HTML output file. + pattern: "*.{html}" + + ontologies: [] + json: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1', single_end:false ]` + - "*.json": + type: file + description: JSON output file. + pattern: "*.{json}" + ontologies: + - edam: http://edamontology.org/format_3464 # JSON + versions: + - versions.yml: + type: file + description: File containing software versions. + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML +authors: + - "@irliampa" + - "@DarkoCucin" +maintainers: + - "@irliampa" + - "@DarkoCucin" diff --git a/modules/nf-core/sequali/tests/main.nf.test b/modules/nf-core/sequali/tests/main.nf.test new file mode 100644 index 00000000..9876153c --- /dev/null +++ b/modules/nf-core/sequali/tests/main.nf.test @@ -0,0 +1,171 @@ +nextflow_process { + + name "Test Process SEQUALI" + script "../main.nf" + process "SEQUALI" + + tag "modules" + tag "modules_nfcore" + tag "sequali" + + test("sarscov2 - fastq single-end [sequali]") { + + when { + 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)]) + """ + } + } + then { + assertAll( + { assert snapshot( + path(process.out.html[0][1]).getFileName().toString(), + path(process.out.json[0][1]).getFileName().toString(), + path(process.out.json[0][1]).json.remove('summary'), + process.out.versions + ).match() } + ) + } + + } + test("sarscov2 - fastq paired-end [sequali]") { + + 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) ] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.html[0][1]).getFileName().toString(), + path(process.out.json[0][1]).getFileName().toString(), + path(process.out.json[0][1]).json.remove('summary'), + process.out.versions + ).match() } + ) + } + + } + + test("sarscov2 - unaligned bam [sequali]") { + + when { + process { + """ + input[0] = Channel.of([ + [id: 'test', single_end: true], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.unaligned.bam', checkIfExists: true)]) + """ + } + } + + then { + def json_file = path(process.out.json[0][1]).json.get('summary') + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.html[0][1]).getFileName().toString(), + path(process.out.json[0][1]).getFileName().toString(), + path(process.out.json[0][1]).json.remove('summary'), + process.out.versions + ).match() } + ) + } + + } + + test("sarscov2 - fastq single-end - stub[sequali]") { + + options "-stub" + + when { + 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)]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.html[0][1]).getFileName().toString(), + path(process.out.json[0][1]).getFileName().toString(), + process.out + ).match() } + ) + } + + } + test("sarscov2 - fastq paired-end - stub[sequali]") { + + 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) ] + ]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.html[0][1]).getFileName().toString(), + path(process.out.json[0][1]).getFileName().toString(), + process.out + ).match() } + ) + } + + } + + test("sarscov2 - unaligned bam - stub[sequali]") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.of([ + [id: 'test', single_end: true], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.unaligned.bam', checkIfExists: true)]) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.html[0][1]).getFileName().toString(), + path(process.out.json[0][1]).getFileName().toString(), + process.out + ).match() } + ) + } + + } + +} diff --git a/modules/nf-core/sequali/tests/main.nf.test.snap b/modules/nf-core/sequali/tests/main.nf.test.snap new file mode 100644 index 00000000..441c352b --- /dev/null +++ b/modules/nf-core/sequali/tests/main.nf.test.snap @@ -0,0 +1,245 @@ +{ + "sarscov2 - unaligned bam - stub[sequali]": { + "content": [ + "test.html", + "test.json", + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ], + "html": [ + [ + { + "id": "test", + "single_end": true + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": true + }, + "test.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ] + } + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-31T14:30:30.653577" + }, + "sarscov2 - fastq paired-end [sequali]": { + "content": [ + "test.html", + "test.json", + { + "mean_length": 138.97, + "minimum_length": 72, + "maximum_length": 151, + "total_reads": 100, + "q20_reads": 91, + "total_bases": 13897, + "q20_bases": 12922, + "total_gc_bases": 5430, + "total_n_bases": 0, + "read_pair_info": "Read 1" + }, + [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-31T14:29:34.748364" + }, + "sarscov2 - fastq single-end - stub[sequali]": { + "content": [ + "test.html", + "test.json", + { + "0": [ + [ + { + "id": "test", + "single_end": true + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": true + }, + "test.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ], + "html": [ + [ + { + "id": "test", + "single_end": true + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": true + }, + "test.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ] + } + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-31T14:30:06.387152" + }, + "sarscov2 - fastq single-end [sequali]": { + "content": [ + "test.html", + "test.json", + { + "mean_length": 138.97, + "minimum_length": 72, + "maximum_length": 151, + "total_reads": 100, + "q20_reads": 91, + "total_bases": 13897, + "q20_bases": 12922, + "total_gc_bases": 5430, + "total_n_bases": 0, + "read_pair_info": null + }, + [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-31T14:28:42.093895" + }, + "sarscov2 - unaligned bam [sequali]": { + "content": [ + "test.html", + "test.json", + { + "mean_length": 138.97, + "minimum_length": 72, + "maximum_length": 151, + "total_reads": 100, + "q20_reads": 91, + "total_bases": 13897, + "q20_bases": 12922, + "total_gc_bases": 5430, + "total_n_bases": 0, + "read_pair_info": null + }, + [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-31T14:29:54.657233" + }, + "sarscov2 - fastq paired-end - stub[sequali]": { + "content": [ + "test.html", + "test.json", + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ], + "html": [ + [ + { + "id": "test", + "single_end": false + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "json": [ + [ + { + "id": "test", + "single_end": false + }, + "test.json:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,afd9522ef20d5fe27e0b6aab541c7c30" + ] + } + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-10-31T14:30:18.654267" + } +} \ No newline at end of file diff --git a/nextflow_schema.json b/nextflow_schema.json index f00c0bb5..d00a2909 100644 --- a/nextflow_schema.json +++ b/nextflow_schema.json @@ -51,7 +51,7 @@ "skip_tools": { "type": "string", "description": "Comma-separated string of tools to skip", - "pattern": "^((fastqc|fastqscreen|seqfu_stats|seqtk_sample)?,?)*(? 0 ? "Seqtk (Li 2021)," : "", "SeqFu (Telatin et al. 2021),", + "Sequali (Vorderman 2025),", "." ].join(' ').trim() @@ -248,7 +249,8 @@ def toolBibliographyText() { "
  • Ewels, P., Magnusson, M., Lundin, S., & Käller, M. (2016). MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics, 32(19), 3047–3048. doi: /10.1093/bioinformatics/btw354
  • ", "
  • Wingett SW, Andrews S. FastQ Screen: A tool for multi-genome mapping and quality control. F1000Res. 2018 Aug 24 [revised 2018 Jan 1];7:1338. doi: 10.12688/f1000research.15931.2. eCollection
  • ", params.sample_size > 0 ? "
  • Li, H. SeqTk. Available online: https://github.com/lh3/seqtk (accessed on 6 May 2021)
  • " : "", - "
  • Telatin, A.; Fariselli, P.; Birolo, G. SeqFu: A Suite of Utilities for the Robust and Reproducible Manipulation of Sequence Files. Bioengineering 2021, 8, 59. https://doi.org/10.3390/bioengineering8050059
  • " + "
  • Telatin, A.; Fariselli, P.; Birolo, G. SeqFu: A Suite of Utilities for the Robust and Reproducible Manipulation of Sequence Files. Bioengineering 2021, 8, 59. https://doi.org/10.3390/bioengineering8050059
  • ", + "
  • Vorderman, R. Sequali: efficient and comprehensive quality control of short- and long-read sequencing data. Bioinformatics Advances, 2025. doi: 10.1093/bioadv/vbaf010
  • " ].join(' ').trim() return reference_text diff --git a/tests/.nftignore b/tests/.nftignore index ded3eac7..f21d798a 100644 --- a/tests/.nftignore +++ b/tests/.nftignore @@ -10,3 +10,4 @@ multiqc/{global_report,group_reports/*}/multiqc_report.html pipeline_info/*.{html,json,txt,yml} fastqscreen/*_screen.html fastqc/*_fastqc.{html,zip} +sequali/*.{html,json} diff --git a/tests/MiSeq.main.nf.test b/tests/MiSeq.main.nf.test index 439715c1..f21db558 100644 --- a/tests/MiSeq.main.nf.test +++ b/tests/MiSeq.main.nf.test @@ -82,7 +82,7 @@ nextflow_pipeline { config "./MiSeq.main.nf.test.config" params { outdir = "$outputDir" - skip_tools = "fastqc,fastqscreen,seqfu_stats,seqtk_sample" + skip_tools = "fastqc,fastqscreen,seqfu_stats,seqtk_sample,sequali" } } diff --git a/tests/MiSeq.main.nf.test.snap b/tests/MiSeq.main.nf.test.snap index beee2404..57ced72f 100644 --- a/tests/MiSeq.main.nf.test.snap +++ b/tests/MiSeq.main.nf.test.snap @@ -32,7 +32,7 @@ }, "MiSeq data test (single end reads)": { "content": [ - 4, + 5, { "FASTQC": { "fastqc": "0.12.1" @@ -43,6 +43,9 @@ "SEQFU_STATS": { "seqfu": "1.20.3" }, + "SEQUALI": { + "sequali": "0.12.0" + }, "Workflow": { "nf-core/seqinspector": "v1.0dev" } @@ -76,8 +79,15 @@ "multiqc/global_report/multiqc_data/multiqc_fastqc.txt", "multiqc/global_report/multiqc_data/multiqc_general_stats.txt", "multiqc/global_report/multiqc_data/multiqc_seqfu.txt", + "multiqc/global_report/multiqc_data/multiqc_sequali.txt", "multiqc/global_report/multiqc_data/multiqc_software_versions.txt", "multiqc/global_report/multiqc_data/multiqc_sources.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_gc_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_quality_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_gc_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_quality_scores_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_duplication_levels_plot.txt", "multiqc/global_report/multiqc_plots", "multiqc/global_report/multiqc_plots/pdf", "multiqc/global_report/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -95,6 +105,13 @@ "multiqc/global_report/multiqc_plots/pdf/fastqc_top_overrepresented_sequences_table.pdf", "multiqc/global_report/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/global_report/multiqc_plots/pdf/seqfu.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_gc_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_quality_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", "multiqc/global_report/multiqc_plots/png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -111,6 +128,13 @@ "multiqc/global_report/multiqc_plots/png/fastqc_top_overrepresented_sequences_table.png", "multiqc/global_report/multiqc_plots/png/general_stats_table.png", "multiqc/global_report/multiqc_plots/png/seqfu.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_gc_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_quality_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_gc_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_quality_scores_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", "multiqc/global_report/multiqc_plots/svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -127,12 +151,22 @@ "multiqc/global_report/multiqc_plots/svg/fastqc_top_overrepresented_sequences_table.svg", "multiqc/global_report/multiqc_plots/svg/general_stats_table.svg", "multiqc/global_report/multiqc_plots/svg/seqfu.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_gc_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_quality_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_gc_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", "multiqc/global_report/multiqc_report.html", "pipeline_info", "pipeline_info/nf_core_seqinspector_software_mqc_versions.yml", "seqfu_stats", "seqfu_stats/SAMPLE_SINGLE_END_1_seqfu.tsv", - "seqfu_stats/SAMPLE_SINGLE_END_1_seqfu_mqc.txt" + "seqfu_stats/SAMPLE_SINGLE_END_1_seqfu_mqc.txt", + "sequali", + "sequali/SAMPLE_SINGLE_END_1.html", + "sequali/SAMPLE_SINGLE_END_1.json" ], [ "SAMPLE_SINGLE_END_1_screen.png:md5,ad98ae0f39335aede67e0a233cf16616", @@ -147,23 +181,30 @@ "fastqc_per_sequence_quality_scores_plot.txt:md5,5fda43eb9b7c60cf6b4348f734a94b26", "fastqc_sequence_counts_plot.txt:md5,00cd6842465f7aa9ae75434e175946a6", "fastqc_sequence_duplication_levels_plot.txt:md5,c3befe0812d2f1c23d5e75e6fccf0622", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,bd50a8641c6481cc497fc6e3e9af2607", "multiqc_fastqc.txt:md5,7b1b7fd457b60404768045b148d4c0a8", "multiqc_seqfu.txt:md5,8e6989a2392f599a09a5c3edf8119702", + "multiqc_sequali.txt:md5,d3d639347dfe65c6c5f0dc2532fee214", + "sequali_per_position_gc_content_plot.txt:md5,2af4620851dc5bde630543cff2c1ca6e", + "sequali_per_position_quality_plot.txt:md5,e0a08809c07a68dc3cfec20329d549c5", + "sequali_per_sequence_gc_content_plot.txt:md5,6d90bbee30f9b966888c16390de7e273", + "sequali_per_sequence_quality_scores_plot.txt:md5,05da9324645a25adb52cb5aa36945b75", + "sequali_sequence_counts_plot.txt:md5,2b74374c99dcf331dad4e94ec04f99ec", + "sequali_sequence_duplication_levels_plot.txt:md5,1ccec14da4c8f4224abc0a8b4f2a0f6a", "SAMPLE_SINGLE_END_1_seqfu.tsv:md5,f65c868e562291647d539090698ba5eb", "SAMPLE_SINGLE_END_1_seqfu_mqc.txt:md5,1de529f1e2cbd4df0945cb08a24d6d39" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.10.4" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2025-03-26T13:00:21.042755" + "timestamp": "2025-10-22T12:00:05.255333" }, "Miseq data test (skip fastqc)": { "content": [ - 3, + 4, { "FASTQSCREEN_FASTQSCREEN": { "fastqscreen": "0.16.0" @@ -171,6 +212,9 @@ "SEQFU_STATS": { "seqfu": "1.20.3" }, + "SEQUALI": { + "sequali": "0.12.0" + }, "Workflow": { "nf-core/seqinspector": "v1.0dev" } @@ -188,44 +232,86 @@ "multiqc/global_report/multiqc_data/multiqc_citations.txt", "multiqc/global_report/multiqc_data/multiqc_data.json", "multiqc/global_report/multiqc_data/multiqc_fastq_screen.txt", + "multiqc/global_report/multiqc_data/multiqc_general_stats.txt", "multiqc/global_report/multiqc_data/multiqc_seqfu.txt", + "multiqc/global_report/multiqc_data/multiqc_sequali.txt", "multiqc/global_report/multiqc_data/multiqc_software_versions.txt", "multiqc/global_report/multiqc_data/multiqc_sources.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_gc_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_quality_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_gc_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_quality_scores_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_duplication_levels_plot.txt", "multiqc/global_report/multiqc_plots", "multiqc/global_report/multiqc_plots/pdf", "multiqc/global_report/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", "multiqc/global_report/multiqc_plots/pdf/fastq_screen_plot-pct.pdf", + "multiqc/global_report/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/global_report/multiqc_plots/pdf/seqfu.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_gc_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_quality_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", "multiqc/global_report/multiqc_plots/png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-pct.png", + "multiqc/global_report/multiqc_plots/png/general_stats_table.png", "multiqc/global_report/multiqc_plots/png/seqfu.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_gc_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_quality_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_gc_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_quality_scores_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", "multiqc/global_report/multiqc_plots/svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-pct.svg", + "multiqc/global_report/multiqc_plots/svg/general_stats_table.svg", "multiqc/global_report/multiqc_plots/svg/seqfu.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_gc_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_quality_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_gc_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", "multiqc/global_report/multiqc_report.html", "pipeline_info", "pipeline_info/nf_core_seqinspector_software_mqc_versions.yml", "seqfu_stats", "seqfu_stats/SAMPLE_SINGLE_END_1_seqfu.tsv", - "seqfu_stats/SAMPLE_SINGLE_END_1_seqfu_mqc.txt" + "seqfu_stats/SAMPLE_SINGLE_END_1_seqfu_mqc.txt", + "sequali", + "sequali/SAMPLE_SINGLE_END_1.html", + "sequali/SAMPLE_SINGLE_END_1.json" ], [ "SAMPLE_SINGLE_END_1_screen.png:md5,ad98ae0f39335aede67e0a233cf16616", "SAMPLE_SINGLE_END_1_screen.txt:md5,588b1b1f2d307fae7272ab0819e4bac5", "fastq_screen_plot.txt:md5,8393eabda6ebac90ff00533f9562271f", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,bd50a8641c6481cc497fc6e3e9af2607", "multiqc_seqfu.txt:md5,8e6989a2392f599a09a5c3edf8119702", + "multiqc_sequali.txt:md5,d3d639347dfe65c6c5f0dc2532fee214", + "sequali_per_position_gc_content_plot.txt:md5,2af4620851dc5bde630543cff2c1ca6e", + "sequali_per_position_quality_plot.txt:md5,e0a08809c07a68dc3cfec20329d549c5", + "sequali_per_sequence_gc_content_plot.txt:md5,6d90bbee30f9b966888c16390de7e273", + "sequali_per_sequence_quality_scores_plot.txt:md5,05da9324645a25adb52cb5aa36945b75", + "sequali_sequence_counts_plot.txt:md5,2b74374c99dcf331dad4e94ec04f99ec", + "sequali_sequence_duplication_levels_plot.txt:md5,1ccec14da4c8f4224abc0a8b4f2a0f6a", "SAMPLE_SINGLE_END_1_seqfu.tsv:md5,f65c868e562291647d539090698ba5eb", "SAMPLE_SINGLE_END_1_seqfu_mqc.txt:md5,1de529f1e2cbd4df0945cb08a24d6d39" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.10.4" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2025-03-26T13:00:53.07934" + "timestamp": "2025-10-22T12:00:55.094797" } } \ No newline at end of file diff --git a/tests/MiSeq_PairedEnd.main.nf.test.snap b/tests/MiSeq_PairedEnd.main.nf.test.snap index 877fc5e0..cb9b567c 100644 --- a/tests/MiSeq_PairedEnd.main.nf.test.snap +++ b/tests/MiSeq_PairedEnd.main.nf.test.snap @@ -1,7 +1,7 @@ { "MiSeq data test (paired end reads)": { "content": [ - 8, + 10, { "FASTQC": { "fastqc": "0.12.1" @@ -12,6 +12,9 @@ "SEQFU_STATS": { "seqfu": "1.20.3" }, + "SEQUALI": { + "sequali": "0.12.0" + }, "Workflow": { "nf-core/seqinspector": "v1.0dev" } @@ -59,8 +62,22 @@ "multiqc/global_report/multiqc_data/multiqc_fastqc.txt", "multiqc/global_report/multiqc_data/multiqc_general_stats.txt", "multiqc/global_report/multiqc_data/multiqc_seqfu.txt", + "multiqc/global_report/multiqc_data/multiqc_sequali.txt", "multiqc/global_report/multiqc_data/multiqc_software_versions.txt", "multiqc/global_report/multiqc_data/multiqc_sources.txt", + "multiqc/global_report/multiqc_data/sequali_adapter_content_from_overlap_table.txt", + "multiqc/global_report/multiqc_data/sequali_most_common_adapters_read_1.txt", + "multiqc/global_report/multiqc_data/sequali_most_common_adapters_read_2.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_gc_content_plot_read1.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_gc_content_plot_read2.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_quality_plot_read1.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_quality_plot_read2.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_gc_content_plot_read1.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_gc_content_plot_read2.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_quality_scores_plot_read1.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_quality_scores_plot_read2.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_duplication_levels_plot.txt", "multiqc/global_report/multiqc_plots", "multiqc/global_report/multiqc_plots/pdf", "multiqc/global_report/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -77,6 +94,20 @@ "multiqc/global_report/multiqc_plots/pdf/fastqc_sequence_duplication_levels_plot.pdf", "multiqc/global_report/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/global_report/multiqc_plots/pdf/seqfu.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_adapter_content_from_overlap_table.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_most_common_adapters_read_1.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_most_common_adapters_read_2.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_gc_content_plot_read1.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_gc_content_plot_read2.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_quality_plot_read1.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_quality_plot_read2.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot_read1.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot_read2.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot_read1.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot_read2.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", "multiqc/global_report/multiqc_plots/png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -92,6 +123,20 @@ "multiqc/global_report/multiqc_plots/png/fastqc_sequence_duplication_levels_plot.png", "multiqc/global_report/multiqc_plots/png/general_stats_table.png", "multiqc/global_report/multiqc_plots/png/seqfu.png", + "multiqc/global_report/multiqc_plots/png/sequali_adapter_content_from_overlap_table.png", + "multiqc/global_report/multiqc_plots/png/sequali_most_common_adapters_read_1.png", + "multiqc/global_report/multiqc_plots/png/sequali_most_common_adapters_read_2.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_gc_content_plot_read1.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_gc_content_plot_read2.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_quality_plot_read1.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_quality_plot_read2.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_gc_content_plot_read1.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_gc_content_plot_read2.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_quality_scores_plot_read1.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_quality_scores_plot_read2.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", "multiqc/global_report/multiqc_plots/svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -107,6 +152,20 @@ "multiqc/global_report/multiqc_plots/svg/fastqc_sequence_duplication_levels_plot.svg", "multiqc/global_report/multiqc_plots/svg/general_stats_table.svg", "multiqc/global_report/multiqc_plots/svg/seqfu.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_adapter_content_from_overlap_table.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_most_common_adapters_read_1.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_most_common_adapters_read_2.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_gc_content_plot_read1.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_gc_content_plot_read2.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_quality_plot_read1.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_quality_plot_read2.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_gc_content_plot_read1.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_gc_content_plot_read2.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot_read1.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot_read2.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", "multiqc/global_report/multiqc_report.html", "multiqc/group_reports", "multiqc/group_reports/Bpacificus", @@ -128,8 +187,22 @@ "multiqc/group_reports/Bpacificus/multiqc_data/multiqc_fastqc.txt", "multiqc/group_reports/Bpacificus/multiqc_data/multiqc_general_stats.txt", "multiqc/group_reports/Bpacificus/multiqc_data/multiqc_seqfu.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/multiqc_sequali.txt", "multiqc/group_reports/Bpacificus/multiqc_data/multiqc_software_versions.txt", "multiqc/group_reports/Bpacificus/multiqc_data/multiqc_sources.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_adapter_content_from_overlap_table.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_most_common_adapters_read_1.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_most_common_adapters_read_2.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_per_position_gc_content_plot_read1.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_per_position_gc_content_plot_read2.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_per_position_quality_plot_read1.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_per_position_quality_plot_read2.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_per_sequence_gc_content_plot_read1.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_per_sequence_gc_content_plot_read2.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_per_sequence_quality_scores_plot_read1.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_per_sequence_quality_scores_plot_read2.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/group_reports/Bpacificus/multiqc_data/sequali_sequence_duplication_levels_plot.txt", "multiqc/group_reports/Bpacificus/multiqc_plots", "multiqc/group_reports/Bpacificus/multiqc_plots/pdf", "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -146,6 +219,20 @@ "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/fastqc_sequence_duplication_levels_plot.pdf", "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/seqfu.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_adapter_content_from_overlap_table.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_most_common_adapters_read_1.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_most_common_adapters_read_2.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_per_position_gc_content_plot_read1.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_per_position_gc_content_plot_read2.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_per_position_quality_plot_read1.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_per_position_quality_plot_read2.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot_read1.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot_read2.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot_read1.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot_read2.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/group_reports/Bpacificus/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", "multiqc/group_reports/Bpacificus/multiqc_plots/png", "multiqc/group_reports/Bpacificus/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/group_reports/Bpacificus/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -161,6 +248,20 @@ "multiqc/group_reports/Bpacificus/multiqc_plots/png/fastqc_sequence_duplication_levels_plot.png", "multiqc/group_reports/Bpacificus/multiqc_plots/png/general_stats_table.png", "multiqc/group_reports/Bpacificus/multiqc_plots/png/seqfu.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_adapter_content_from_overlap_table.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_most_common_adapters_read_1.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_most_common_adapters_read_2.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_per_position_gc_content_plot_read1.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_per_position_gc_content_plot_read2.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_per_position_quality_plot_read1.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_per_position_quality_plot_read2.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_per_sequence_gc_content_plot_read1.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_per_sequence_gc_content_plot_read2.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_per_sequence_quality_scores_plot_read1.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_per_sequence_quality_scores_plot_read2.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/group_reports/Bpacificus/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", "multiqc/group_reports/Bpacificus/multiqc_plots/svg", "multiqc/group_reports/Bpacificus/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/group_reports/Bpacificus/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -176,6 +277,20 @@ "multiqc/group_reports/Bpacificus/multiqc_plots/svg/fastqc_sequence_duplication_levels_plot.svg", "multiqc/group_reports/Bpacificus/multiqc_plots/svg/general_stats_table.svg", "multiqc/group_reports/Bpacificus/multiqc_plots/svg/seqfu.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_adapter_content_from_overlap_table.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_most_common_adapters_read_1.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_most_common_adapters_read_2.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_per_position_gc_content_plot_read1.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_per_position_gc_content_plot_read2.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_per_position_quality_plot_read1.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_per_position_quality_plot_read2.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_per_sequence_gc_content_plot_read1.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_per_sequence_gc_content_plot_read2.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot_read1.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot_read2.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/group_reports/Bpacificus/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", "multiqc/group_reports/Bpacificus/multiqc_report.html", "pipeline_info", "pipeline_info/nf_core_seqinspector_software_mqc_versions.yml", @@ -183,7 +298,12 @@ "seqfu_stats/SAMPLE_PAIRED_END_1_1_seqfu.tsv", "seqfu_stats/SAMPLE_PAIRED_END_1_1_seqfu_mqc.txt", "seqfu_stats/SAMPLE_PAIRED_END_2_2_seqfu.tsv", - "seqfu_stats/SAMPLE_PAIRED_END_2_2_seqfu_mqc.txt" + "seqfu_stats/SAMPLE_PAIRED_END_2_2_seqfu_mqc.txt", + "sequali", + "sequali/SAMPLE_PAIRED_END_1_1.html", + "sequali/SAMPLE_PAIRED_END_1_1.json", + "sequali/SAMPLE_PAIRED_END_2_2.html", + "sequali/SAMPLE_PAIRED_END_2_2.json" ], [ "SAMPLE_PAIRED_END_1_1_1_screen.png:md5,f52ddd0e65f23f68dd8d58d5453417db", @@ -204,10 +324,24 @@ "fastqc_per_sequence_quality_scores_plot.txt:md5,47d60153a430e2b8da51655704c2b31b", "fastqc_sequence_counts_plot.txt:md5,10737092a3473fba81fbe49555512b2b", "fastqc_sequence_duplication_levels_plot.txt:md5,6412f57686de02e1f1c3751a7ca2be8b", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,5ef00028497d3271c9f0ea9a961db1e5", "multiqc_fastqc.txt:md5,bc499ad273fd1c887056c31b82544984", "multiqc_seqfu.txt:md5,1f1e063e4a509a26cee167c3b20389c0", + "multiqc_sequali.txt:md5,317d9963dd5af103a61fa7882fc21c08", + "sequali_adapter_content_from_overlap_table.txt:md5,15d4bd5225813dd79679124c24068133", + "sequali_most_common_adapters_read_1.txt:md5,72c30297f797266b855d332cd78ea338", + "sequali_most_common_adapters_read_2.txt:md5,ca0f6044dffcc9b60038d11cc977a37d", + "sequali_per_position_gc_content_plot_read1.txt:md5,d5de994da255378cd0285b465cd90ffe", + "sequali_per_position_gc_content_plot_read2.txt:md5,62dd62a4eb06fde536313769b55c2948", + "sequali_per_position_quality_plot_read1.txt:md5,a751f6ce97ddeb2783547daafebc9f2d", + "sequali_per_position_quality_plot_read2.txt:md5,f06433fc91075ecc930610c79f613d1f", + "sequali_per_sequence_gc_content_plot_read1.txt:md5,a5b9a70fba8f85f8ee08db9e3a03343e", + "sequali_per_sequence_gc_content_plot_read2.txt:md5,ca6e11c21f151077e601ff23d2e0e653", + "sequali_per_sequence_quality_scores_plot_read1.txt:md5,54073579595b513c16cb8b8c2fb47130", + "sequali_per_sequence_quality_scores_plot_read2.txt:md5,ec1ce2dbfa5ea6365094d739cf951f31", + "sequali_sequence_counts_plot.txt:md5,dd29a15c4ded45df956b93e5c4e79b51", + "sequali_sequence_duplication_levels_plot.txt:md5,221864207b5eaa1098a3e2871380466b", "fastq_screen_plot.txt:md5,642264b93871c724aaa5d38b91c752dd", "fastqc-status-check-heatmap.txt:md5,8e29ad6b23e03267c33bd9ed3385a44b", "fastqc_adapter_content_plot.txt:md5,46fbd727a4996a3f0310d0423c628445", @@ -218,10 +352,24 @@ "fastqc_per_sequence_quality_scores_plot.txt:md5,47d60153a430e2b8da51655704c2b31b", "fastqc_sequence_counts_plot.txt:md5,10737092a3473fba81fbe49555512b2b", "fastqc_sequence_duplication_levels_plot.txt:md5,6412f57686de02e1f1c3751a7ca2be8b", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,5ef00028497d3271c9f0ea9a961db1e5", "multiqc_fastqc.txt:md5,bc499ad273fd1c887056c31b82544984", "multiqc_seqfu.txt:md5,1f1e063e4a509a26cee167c3b20389c0", + "multiqc_sequali.txt:md5,317d9963dd5af103a61fa7882fc21c08", + "sequali_adapter_content_from_overlap_table.txt:md5,15d4bd5225813dd79679124c24068133", + "sequali_most_common_adapters_read_1.txt:md5,72c30297f797266b855d332cd78ea338", + "sequali_most_common_adapters_read_2.txt:md5,ca0f6044dffcc9b60038d11cc977a37d", + "sequali_per_position_gc_content_plot_read1.txt:md5,d5de994da255378cd0285b465cd90ffe", + "sequali_per_position_gc_content_plot_read2.txt:md5,62dd62a4eb06fde536313769b55c2948", + "sequali_per_position_quality_plot_read1.txt:md5,a751f6ce97ddeb2783547daafebc9f2d", + "sequali_per_position_quality_plot_read2.txt:md5,f06433fc91075ecc930610c79f613d1f", + "sequali_per_sequence_gc_content_plot_read1.txt:md5,a5b9a70fba8f85f8ee08db9e3a03343e", + "sequali_per_sequence_gc_content_plot_read2.txt:md5,ca6e11c21f151077e601ff23d2e0e653", + "sequali_per_sequence_quality_scores_plot_read1.txt:md5,54073579595b513c16cb8b8c2fb47130", + "sequali_per_sequence_quality_scores_plot_read2.txt:md5,ec1ce2dbfa5ea6365094d739cf951f31", + "sequali_sequence_counts_plot.txt:md5,dd29a15c4ded45df956b93e5c4e79b51", + "sequali_sequence_duplication_levels_plot.txt:md5,221864207b5eaa1098a3e2871380466b", "SAMPLE_PAIRED_END_1_1_seqfu.tsv:md5,bbd911ff3fa43212dfd4c5a5872dbdb6", "SAMPLE_PAIRED_END_1_1_seqfu_mqc.txt:md5,cd60f746b6749cc66213d031af1b931c", "SAMPLE_PAIRED_END_2_2_seqfu.tsv:md5,152566a128dd657da33465b4966b5799", @@ -229,9 +377,9 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.10.4" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2025-03-27T09:01:13.732951" + "timestamp": "2025-10-22T12:02:34.853782" } } \ No newline at end of file diff --git a/tests/NovaSeq6000.main.nf.test.snap b/tests/NovaSeq6000.main.nf.test.snap index fa851d95..9fe6ec82 100644 --- a/tests/NovaSeq6000.main.nf.test.snap +++ b/tests/NovaSeq6000.main.nf.test.snap @@ -1,7 +1,7 @@ { "NovaSeq6000 data test": { "content": [ - 20, + 25, { "FASTQC": { "fastqc": "0.12.1" @@ -12,6 +12,9 @@ "SEQFU_STATS": { "seqfu": "1.20.3" }, + "SEQUALI": { + "sequali": "0.12.0" + }, "Workflow": { "nf-core/seqinspector": "v1.0dev" } @@ -66,8 +69,16 @@ "multiqc/global_report/multiqc_data/multiqc_fastqc.txt", "multiqc/global_report/multiqc_data/multiqc_general_stats.txt", "multiqc/global_report/multiqc_data/multiqc_seqfu.txt", + "multiqc/global_report/multiqc_data/multiqc_sequali.txt", "multiqc/global_report/multiqc_data/multiqc_software_versions.txt", "multiqc/global_report/multiqc_data/multiqc_sources.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_gc_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_quality_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_gc_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_quality_scores_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_duplication_levels_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_length_distribution_plot.txt", "multiqc/global_report/multiqc_plots", "multiqc/global_report/multiqc_plots/pdf", "multiqc/global_report/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -86,6 +97,14 @@ "multiqc/global_report/multiqc_plots/pdf/fastqc_top_overrepresented_sequences_table.pdf", "multiqc/global_report/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/global_report/multiqc_plots/pdf/seqfu.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_gc_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_quality_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_length_distribution_plot.pdf", "multiqc/global_report/multiqc_plots/png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -103,6 +122,14 @@ "multiqc/global_report/multiqc_plots/png/fastqc_top_overrepresented_sequences_table.png", "multiqc/global_report/multiqc_plots/png/general_stats_table.png", "multiqc/global_report/multiqc_plots/png/seqfu.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_gc_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_quality_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_gc_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_quality_scores_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_length_distribution_plot.png", "multiqc/global_report/multiqc_plots/svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -120,6 +147,14 @@ "multiqc/global_report/multiqc_plots/svg/fastqc_top_overrepresented_sequences_table.svg", "multiqc/global_report/multiqc_plots/svg/general_stats_table.svg", "multiqc/global_report/multiqc_plots/svg/seqfu.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_gc_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_quality_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_gc_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_length_distribution_plot.svg", "multiqc/global_report/multiqc_report.html", "multiqc/group_reports", "multiqc/group_reports/group1", @@ -143,8 +178,16 @@ "multiqc/group_reports/group1/multiqc_data/multiqc_fastqc.txt", "multiqc/group_reports/group1/multiqc_data/multiqc_general_stats.txt", "multiqc/group_reports/group1/multiqc_data/multiqc_seqfu.txt", + "multiqc/group_reports/group1/multiqc_data/multiqc_sequali.txt", "multiqc/group_reports/group1/multiqc_data/multiqc_software_versions.txt", "multiqc/group_reports/group1/multiqc_data/multiqc_sources.txt", + "multiqc/group_reports/group1/multiqc_data/sequali_per_position_gc_content_plot.txt", + "multiqc/group_reports/group1/multiqc_data/sequali_per_position_quality_plot.txt", + "multiqc/group_reports/group1/multiqc_data/sequali_per_sequence_gc_content_plot.txt", + "multiqc/group_reports/group1/multiqc_data/sequali_per_sequence_quality_scores_plot.txt", + "multiqc/group_reports/group1/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/group_reports/group1/multiqc_data/sequali_sequence_duplication_levels_plot.txt", + "multiqc/group_reports/group1/multiqc_data/sequali_sequence_length_distribution_plot.txt", "multiqc/group_reports/group1/multiqc_plots", "multiqc/group_reports/group1/multiqc_plots/pdf", "multiqc/group_reports/group1/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -163,6 +206,14 @@ "multiqc/group_reports/group1/multiqc_plots/pdf/fastqc_top_overrepresented_sequences_table.pdf", "multiqc/group_reports/group1/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/group_reports/group1/multiqc_plots/pdf/seqfu.pdf", + "multiqc/group_reports/group1/multiqc_plots/pdf/sequali_per_position_gc_content_plot.pdf", + "multiqc/group_reports/group1/multiqc_plots/pdf/sequali_per_position_quality_plot.pdf", + "multiqc/group_reports/group1/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot.pdf", + "multiqc/group_reports/group1/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot.pdf", + "multiqc/group_reports/group1/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/group_reports/group1/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/group_reports/group1/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", + "multiqc/group_reports/group1/multiqc_plots/pdf/sequali_sequence_length_distribution_plot.pdf", "multiqc/group_reports/group1/multiqc_plots/png", "multiqc/group_reports/group1/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/group_reports/group1/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -180,6 +231,14 @@ "multiqc/group_reports/group1/multiqc_plots/png/fastqc_top_overrepresented_sequences_table.png", "multiqc/group_reports/group1/multiqc_plots/png/general_stats_table.png", "multiqc/group_reports/group1/multiqc_plots/png/seqfu.png", + "multiqc/group_reports/group1/multiqc_plots/png/sequali_per_position_gc_content_plot.png", + "multiqc/group_reports/group1/multiqc_plots/png/sequali_per_position_quality_plot.png", + "multiqc/group_reports/group1/multiqc_plots/png/sequali_per_sequence_gc_content_plot.png", + "multiqc/group_reports/group1/multiqc_plots/png/sequali_per_sequence_quality_scores_plot.png", + "multiqc/group_reports/group1/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/group_reports/group1/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/group_reports/group1/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", + "multiqc/group_reports/group1/multiqc_plots/png/sequali_sequence_length_distribution_plot.png", "multiqc/group_reports/group1/multiqc_plots/svg", "multiqc/group_reports/group1/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/group_reports/group1/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -197,6 +256,14 @@ "multiqc/group_reports/group1/multiqc_plots/svg/fastqc_top_overrepresented_sequences_table.svg", "multiqc/group_reports/group1/multiqc_plots/svg/general_stats_table.svg", "multiqc/group_reports/group1/multiqc_plots/svg/seqfu.svg", + "multiqc/group_reports/group1/multiqc_plots/svg/sequali_per_position_gc_content_plot.svg", + "multiqc/group_reports/group1/multiqc_plots/svg/sequali_per_position_quality_plot.svg", + "multiqc/group_reports/group1/multiqc_plots/svg/sequali_per_sequence_gc_content_plot.svg", + "multiqc/group_reports/group1/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot.svg", + "multiqc/group_reports/group1/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/group_reports/group1/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/group_reports/group1/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", + "multiqc/group_reports/group1/multiqc_plots/svg/sequali_sequence_length_distribution_plot.svg", "multiqc/group_reports/group1/multiqc_report.html", "multiqc/group_reports/group2", "multiqc/group_reports/group2/multiqc_data", @@ -219,8 +286,16 @@ "multiqc/group_reports/group2/multiqc_data/multiqc_fastqc.txt", "multiqc/group_reports/group2/multiqc_data/multiqc_general_stats.txt", "multiqc/group_reports/group2/multiqc_data/multiqc_seqfu.txt", + "multiqc/group_reports/group2/multiqc_data/multiqc_sequali.txt", "multiqc/group_reports/group2/multiqc_data/multiqc_software_versions.txt", "multiqc/group_reports/group2/multiqc_data/multiqc_sources.txt", + "multiqc/group_reports/group2/multiqc_data/sequali_per_position_gc_content_plot.txt", + "multiqc/group_reports/group2/multiqc_data/sequali_per_position_quality_plot.txt", + "multiqc/group_reports/group2/multiqc_data/sequali_per_sequence_gc_content_plot.txt", + "multiqc/group_reports/group2/multiqc_data/sequali_per_sequence_quality_scores_plot.txt", + "multiqc/group_reports/group2/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/group_reports/group2/multiqc_data/sequali_sequence_duplication_levels_plot.txt", + "multiqc/group_reports/group2/multiqc_data/sequali_sequence_length_distribution_plot.txt", "multiqc/group_reports/group2/multiqc_plots", "multiqc/group_reports/group2/multiqc_plots/pdf", "multiqc/group_reports/group2/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -239,6 +314,14 @@ "multiqc/group_reports/group2/multiqc_plots/pdf/fastqc_top_overrepresented_sequences_table.pdf", "multiqc/group_reports/group2/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/group_reports/group2/multiqc_plots/pdf/seqfu.pdf", + "multiqc/group_reports/group2/multiqc_plots/pdf/sequali_per_position_gc_content_plot.pdf", + "multiqc/group_reports/group2/multiqc_plots/pdf/sequali_per_position_quality_plot.pdf", + "multiqc/group_reports/group2/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot.pdf", + "multiqc/group_reports/group2/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot.pdf", + "multiqc/group_reports/group2/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/group_reports/group2/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/group_reports/group2/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", + "multiqc/group_reports/group2/multiqc_plots/pdf/sequali_sequence_length_distribution_plot.pdf", "multiqc/group_reports/group2/multiqc_plots/png", "multiqc/group_reports/group2/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/group_reports/group2/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -256,6 +339,14 @@ "multiqc/group_reports/group2/multiqc_plots/png/fastqc_top_overrepresented_sequences_table.png", "multiqc/group_reports/group2/multiqc_plots/png/general_stats_table.png", "multiqc/group_reports/group2/multiqc_plots/png/seqfu.png", + "multiqc/group_reports/group2/multiqc_plots/png/sequali_per_position_gc_content_plot.png", + "multiqc/group_reports/group2/multiqc_plots/png/sequali_per_position_quality_plot.png", + "multiqc/group_reports/group2/multiqc_plots/png/sequali_per_sequence_gc_content_plot.png", + "multiqc/group_reports/group2/multiqc_plots/png/sequali_per_sequence_quality_scores_plot.png", + "multiqc/group_reports/group2/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/group_reports/group2/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/group_reports/group2/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", + "multiqc/group_reports/group2/multiqc_plots/png/sequali_sequence_length_distribution_plot.png", "multiqc/group_reports/group2/multiqc_plots/svg", "multiqc/group_reports/group2/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/group_reports/group2/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -273,6 +364,14 @@ "multiqc/group_reports/group2/multiqc_plots/svg/fastqc_top_overrepresented_sequences_table.svg", "multiqc/group_reports/group2/multiqc_plots/svg/general_stats_table.svg", "multiqc/group_reports/group2/multiqc_plots/svg/seqfu.svg", + "multiqc/group_reports/group2/multiqc_plots/svg/sequali_per_position_gc_content_plot.svg", + "multiqc/group_reports/group2/multiqc_plots/svg/sequali_per_position_quality_plot.svg", + "multiqc/group_reports/group2/multiqc_plots/svg/sequali_per_sequence_gc_content_plot.svg", + "multiqc/group_reports/group2/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot.svg", + "multiqc/group_reports/group2/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/group_reports/group2/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/group_reports/group2/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", + "multiqc/group_reports/group2/multiqc_plots/svg/sequali_sequence_length_distribution_plot.svg", "multiqc/group_reports/group2/multiqc_report.html", "multiqc/group_reports/lane1", "multiqc/group_reports/lane1/multiqc_data", @@ -295,8 +394,16 @@ "multiqc/group_reports/lane1/multiqc_data/multiqc_fastqc.txt", "multiqc/group_reports/lane1/multiqc_data/multiqc_general_stats.txt", "multiqc/group_reports/lane1/multiqc_data/multiqc_seqfu.txt", + "multiqc/group_reports/lane1/multiqc_data/multiqc_sequali.txt", "multiqc/group_reports/lane1/multiqc_data/multiqc_software_versions.txt", "multiqc/group_reports/lane1/multiqc_data/multiqc_sources.txt", + "multiqc/group_reports/lane1/multiqc_data/sequali_per_position_gc_content_plot.txt", + "multiqc/group_reports/lane1/multiqc_data/sequali_per_position_quality_plot.txt", + "multiqc/group_reports/lane1/multiqc_data/sequali_per_sequence_gc_content_plot.txt", + "multiqc/group_reports/lane1/multiqc_data/sequali_per_sequence_quality_scores_plot.txt", + "multiqc/group_reports/lane1/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/group_reports/lane1/multiqc_data/sequali_sequence_duplication_levels_plot.txt", + "multiqc/group_reports/lane1/multiqc_data/sequali_sequence_length_distribution_plot.txt", "multiqc/group_reports/lane1/multiqc_plots", "multiqc/group_reports/lane1/multiqc_plots/pdf", "multiqc/group_reports/lane1/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -315,6 +422,14 @@ "multiqc/group_reports/lane1/multiqc_plots/pdf/fastqc_top_overrepresented_sequences_table.pdf", "multiqc/group_reports/lane1/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/group_reports/lane1/multiqc_plots/pdf/seqfu.pdf", + "multiqc/group_reports/lane1/multiqc_plots/pdf/sequali_per_position_gc_content_plot.pdf", + "multiqc/group_reports/lane1/multiqc_plots/pdf/sequali_per_position_quality_plot.pdf", + "multiqc/group_reports/lane1/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot.pdf", + "multiqc/group_reports/lane1/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot.pdf", + "multiqc/group_reports/lane1/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/group_reports/lane1/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/group_reports/lane1/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", + "multiqc/group_reports/lane1/multiqc_plots/pdf/sequali_sequence_length_distribution_plot.pdf", "multiqc/group_reports/lane1/multiqc_plots/png", "multiqc/group_reports/lane1/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/group_reports/lane1/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -332,6 +447,14 @@ "multiqc/group_reports/lane1/multiqc_plots/png/fastqc_top_overrepresented_sequences_table.png", "multiqc/group_reports/lane1/multiqc_plots/png/general_stats_table.png", "multiqc/group_reports/lane1/multiqc_plots/png/seqfu.png", + "multiqc/group_reports/lane1/multiqc_plots/png/sequali_per_position_gc_content_plot.png", + "multiqc/group_reports/lane1/multiqc_plots/png/sequali_per_position_quality_plot.png", + "multiqc/group_reports/lane1/multiqc_plots/png/sequali_per_sequence_gc_content_plot.png", + "multiqc/group_reports/lane1/multiqc_plots/png/sequali_per_sequence_quality_scores_plot.png", + "multiqc/group_reports/lane1/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/group_reports/lane1/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/group_reports/lane1/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", + "multiqc/group_reports/lane1/multiqc_plots/png/sequali_sequence_length_distribution_plot.png", "multiqc/group_reports/lane1/multiqc_plots/svg", "multiqc/group_reports/lane1/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/group_reports/lane1/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -349,6 +472,14 @@ "multiqc/group_reports/lane1/multiqc_plots/svg/fastqc_top_overrepresented_sequences_table.svg", "multiqc/group_reports/lane1/multiqc_plots/svg/general_stats_table.svg", "multiqc/group_reports/lane1/multiqc_plots/svg/seqfu.svg", + "multiqc/group_reports/lane1/multiqc_plots/svg/sequali_per_position_gc_content_plot.svg", + "multiqc/group_reports/lane1/multiqc_plots/svg/sequali_per_position_quality_plot.svg", + "multiqc/group_reports/lane1/multiqc_plots/svg/sequali_per_sequence_gc_content_plot.svg", + "multiqc/group_reports/lane1/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot.svg", + "multiqc/group_reports/lane1/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/group_reports/lane1/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/group_reports/lane1/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", + "multiqc/group_reports/lane1/multiqc_plots/svg/sequali_sequence_length_distribution_plot.svg", "multiqc/group_reports/lane1/multiqc_report.html", "multiqc/group_reports/test", "multiqc/group_reports/test/multiqc_data", @@ -371,8 +502,16 @@ "multiqc/group_reports/test/multiqc_data/multiqc_fastqc.txt", "multiqc/group_reports/test/multiqc_data/multiqc_general_stats.txt", "multiqc/group_reports/test/multiqc_data/multiqc_seqfu.txt", + "multiqc/group_reports/test/multiqc_data/multiqc_sequali.txt", "multiqc/group_reports/test/multiqc_data/multiqc_software_versions.txt", "multiqc/group_reports/test/multiqc_data/multiqc_sources.txt", + "multiqc/group_reports/test/multiqc_data/sequali_per_position_gc_content_plot.txt", + "multiqc/group_reports/test/multiqc_data/sequali_per_position_quality_plot.txt", + "multiqc/group_reports/test/multiqc_data/sequali_per_sequence_gc_content_plot.txt", + "multiqc/group_reports/test/multiqc_data/sequali_per_sequence_quality_scores_plot.txt", + "multiqc/group_reports/test/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/group_reports/test/multiqc_data/sequali_sequence_duplication_levels_plot.txt", + "multiqc/group_reports/test/multiqc_data/sequali_sequence_length_distribution_plot.txt", "multiqc/group_reports/test/multiqc_plots", "multiqc/group_reports/test/multiqc_plots/pdf", "multiqc/group_reports/test/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -391,6 +530,14 @@ "multiqc/group_reports/test/multiqc_plots/pdf/fastqc_top_overrepresented_sequences_table.pdf", "multiqc/group_reports/test/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/group_reports/test/multiqc_plots/pdf/seqfu.pdf", + "multiqc/group_reports/test/multiqc_plots/pdf/sequali_per_position_gc_content_plot.pdf", + "multiqc/group_reports/test/multiqc_plots/pdf/sequali_per_position_quality_plot.pdf", + "multiqc/group_reports/test/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot.pdf", + "multiqc/group_reports/test/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot.pdf", + "multiqc/group_reports/test/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/group_reports/test/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/group_reports/test/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", + "multiqc/group_reports/test/multiqc_plots/pdf/sequali_sequence_length_distribution_plot.pdf", "multiqc/group_reports/test/multiqc_plots/png", "multiqc/group_reports/test/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/group_reports/test/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -408,6 +555,14 @@ "multiqc/group_reports/test/multiqc_plots/png/fastqc_top_overrepresented_sequences_table.png", "multiqc/group_reports/test/multiqc_plots/png/general_stats_table.png", "multiqc/group_reports/test/multiqc_plots/png/seqfu.png", + "multiqc/group_reports/test/multiqc_plots/png/sequali_per_position_gc_content_plot.png", + "multiqc/group_reports/test/multiqc_plots/png/sequali_per_position_quality_plot.png", + "multiqc/group_reports/test/multiqc_plots/png/sequali_per_sequence_gc_content_plot.png", + "multiqc/group_reports/test/multiqc_plots/png/sequali_per_sequence_quality_scores_plot.png", + "multiqc/group_reports/test/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/group_reports/test/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/group_reports/test/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", + "multiqc/group_reports/test/multiqc_plots/png/sequali_sequence_length_distribution_plot.png", "multiqc/group_reports/test/multiqc_plots/svg", "multiqc/group_reports/test/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/group_reports/test/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -425,6 +580,14 @@ "multiqc/group_reports/test/multiqc_plots/svg/fastqc_top_overrepresented_sequences_table.svg", "multiqc/group_reports/test/multiqc_plots/svg/general_stats_table.svg", "multiqc/group_reports/test/multiqc_plots/svg/seqfu.svg", + "multiqc/group_reports/test/multiqc_plots/svg/sequali_per_position_gc_content_plot.svg", + "multiqc/group_reports/test/multiqc_plots/svg/sequali_per_position_quality_plot.svg", + "multiqc/group_reports/test/multiqc_plots/svg/sequali_per_sequence_gc_content_plot.svg", + "multiqc/group_reports/test/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot.svg", + "multiqc/group_reports/test/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/group_reports/test/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/group_reports/test/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", + "multiqc/group_reports/test/multiqc_plots/svg/sequali_sequence_length_distribution_plot.svg", "multiqc/group_reports/test/multiqc_report.html", "pipeline_info", "pipeline_info/nf_core_seqinspector_software_mqc_versions.yml", @@ -438,7 +601,18 @@ "seqfu_stats/Undetermined_5_seqfu.tsv", "seqfu_stats/Undetermined_5_seqfu_mqc.txt", "seqfu_stats/sampletest_4_seqfu.tsv", - "seqfu_stats/sampletest_4_seqfu_mqc.txt" + "seqfu_stats/sampletest_4_seqfu_mqc.txt", + "sequali", + "sequali/Sample1_1.html", + "sequali/Sample1_1.json", + "sequali/Sample23_3.html", + "sequali/Sample23_3.json", + "sequali/SampleA_2.html", + "sequali/SampleA_2.json", + "sequali/Undetermined_5.html", + "sequali/Undetermined_5.json", + "sequali/sampletest_4.html", + "sequali/sampletest_4.json" ], [ "Sample1_1_screen.png:md5,562256290643b51e4374c2225a15f463", @@ -462,10 +636,18 @@ "fastqc_sequence_counts_plot.txt:md5,20364b3b979bc99ae375a2dffcaf1cc1", "fastqc_sequence_duplication_levels_plot.txt:md5,7f33f3d0e2eb3405eb6456acbd18dfd4", "fastqc_sequence_length_distribution_plot.txt:md5,9472fb38f57150d55fb9e4995aaeeb90", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,2ff2485b1f197cb6228dd4350d1bd638", "multiqc_fastqc.txt:md5,3730f9046b20ac5c17a86db0a33f8d5d", "multiqc_seqfu.txt:md5,5b54a49079169985795537d83d58bdd9", + "multiqc_sequali.txt:md5,6ef39e6fa1149002813d557fa65ed4d0", + "sequali_per_position_gc_content_plot.txt:md5,e635dd0cc1cc5abe0e637dcdc7625808", + "sequali_per_position_quality_plot.txt:md5,5ecd0fc2b3934b5e0795cb8a87113780", + "sequali_per_sequence_gc_content_plot.txt:md5,0782cbd33389ef2eec5ccec12097e927", + "sequali_per_sequence_quality_scores_plot.txt:md5,88b190050f8c0e509a5d25b8e57698ee", + "sequali_sequence_counts_plot.txt:md5,20364b3b979bc99ae375a2dffcaf1cc1", + "sequali_sequence_duplication_levels_plot.txt:md5,34fb72c567815c47437b00600784f71d", + "sequali_sequence_length_distribution_plot.txt:md5,fdbd13cf6dc41be410fedae39f7e0112", "fastq_screen_plot.txt:md5,c25d34568f10f131156294d31fbfa994", "fastqc-status-check-heatmap.txt:md5,67afbf7ec626c4fc7a28b4922352bc84", "fastqc_overrepresented_sequences_plot.txt:md5,0356d007eaf807f7b63714b438b11289", @@ -477,10 +659,18 @@ "fastqc_sequence_counts_plot.txt:md5,5021496dd00366d08064804bbb5192e3", "fastqc_sequence_duplication_levels_plot.txt:md5,e37e8e4584f0157a5fa0d53b4834e836", "fastqc_sequence_length_distribution_plot.txt:md5,393cc090200a5151561efb1ed5280b89", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,737dc47e74e5b2f2c590652788831eff", "multiqc_fastqc.txt:md5,f38ffdc112c73af3a41ed15848a3761f", "multiqc_seqfu.txt:md5,5579172a6f8ac09a5ffcb3ce6a99590e", + "multiqc_sequali.txt:md5,0299a320b029a3324c9ad4473855504a", + "sequali_per_position_gc_content_plot.txt:md5,00b556f65c2c11b62c91eddd704a3305", + "sequali_per_position_quality_plot.txt:md5,559e5e48b3d15a1d0e41e4acb2dba77f", + "sequali_per_sequence_gc_content_plot.txt:md5,36ac431703d9991707de1c3f2bfa9270", + "sequali_per_sequence_quality_scores_plot.txt:md5,ea41264efec1e12d37bf173b1cc894b1", + "sequali_sequence_counts_plot.txt:md5,5021496dd00366d08064804bbb5192e3", + "sequali_sequence_duplication_levels_plot.txt:md5,4947c4af193e20045a59b93a1a8a5291", + "sequali_sequence_length_distribution_plot.txt:md5,437912163335b2369e4d40d18d084982", "fastq_screen_plot.txt:md5,44fca6453b0a3d0590271bd7a31cc740", "fastqc-status-check-heatmap.txt:md5,b6872d9dbaa3cce396d48dc137076e53", "fastqc_overrepresented_sequences_plot.txt:md5,eac8d0fd31c614d8d0f56bd54ee8c78c", @@ -492,10 +682,18 @@ "fastqc_sequence_counts_plot.txt:md5,0c4863a5475a2444cd00b053eb8941b1", "fastqc_sequence_duplication_levels_plot.txt:md5,a7a050f827a4f821117efd8d25668c51", "fastqc_sequence_length_distribution_plot.txt:md5,9c0761008be04d8ccf4c0e16acc6348c", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,568f6b6d14562d01b5aaeb1a39e1cf3d", "multiqc_fastqc.txt:md5,7ff71ceb8ecdf086331047f8860c3347", "multiqc_seqfu.txt:md5,b5434520fa5be5c98be5ed164a464d23", + "multiqc_sequali.txt:md5,b3c76a223275fda40cbf821b58bec3d8", + "sequali_per_position_gc_content_plot.txt:md5,b1bf8bd5368920713d9218b716a365c3", + "sequali_per_position_quality_plot.txt:md5,3d407e17c6a78bf737e9c648221a4c45", + "sequali_per_sequence_gc_content_plot.txt:md5,20438b4419d52606d24f4ab487988d2d", + "sequali_per_sequence_quality_scores_plot.txt:md5,90bdc89813e9af0483c95b082401d28e", + "sequali_sequence_counts_plot.txt:md5,0c4863a5475a2444cd00b053eb8941b1", + "sequali_sequence_duplication_levels_plot.txt:md5,0b60997b8a7bc9720cfcfb54aa22c001", + "sequali_sequence_length_distribution_plot.txt:md5,5baff17c48f2c23098e2c6784bc3bc34", "fastq_screen_plot.txt:md5,5f748d33a7a396547fe8c260b728aa06", "fastqc-status-check-heatmap.txt:md5,08228a8f3d6f11b174b98626bb22bda1", "fastqc_overrepresented_sequences_plot.txt:md5,3434dfb79f150e2e584e85866983ba01", @@ -507,10 +705,18 @@ "fastqc_sequence_counts_plot.txt:md5,f0c693cc281a6e61ba219bab04f59a47", "fastqc_sequence_duplication_levels_plot.txt:md5,8c2aa91358fd4a2e946cbcc1f312f9b6", "fastqc_sequence_length_distribution_plot.txt:md5,875ebcd6726bb9d36ffa64265e5071d0", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,c54d863ed3e68ee8bcb51c9ad85de9bc", "multiqc_fastqc.txt:md5,8284e25ccc21041cf3b5a32eb6a51e78", "multiqc_seqfu.txt:md5,e2e092852c011abe5ad75cdcd68b9383", + "multiqc_sequali.txt:md5,46f66d08612fadb069feb15772ef6e56", + "sequali_per_position_gc_content_plot.txt:md5,33d98bef8c651aacf153fb7a92a01f1d", + "sequali_per_position_quality_plot.txt:md5,f0bcf39db1da0a7f6419b7f31c76cef6", + "sequali_per_sequence_gc_content_plot.txt:md5,8e2818b874943ccb743af0adb8f49a98", + "sequali_per_sequence_quality_scores_plot.txt:md5,ab24010e240a19860c212b591a0579b7", + "sequali_sequence_counts_plot.txt:md5,f0c693cc281a6e61ba219bab04f59a47", + "sequali_sequence_duplication_levels_plot.txt:md5,443827b0b04c3bc079faac2d03d9b236", + "sequali_sequence_length_distribution_plot.txt:md5,33685ff36b64186d63780d6e4cfa83c8", "fastq_screen_plot.txt:md5,8622e1dbd0fe62520af6096207b9775d", "fastqc-status-check-heatmap.txt:md5,2a66f5d61b9eb579555905cd5954b04c", "fastqc_overrepresented_sequences_plot.txt:md5,e0b5bfc4b64d37611b51c939e61196fa", @@ -522,10 +728,18 @@ "fastqc_sequence_counts_plot.txt:md5,057fb961863b325fe875d3a7879cb888", "fastqc_sequence_duplication_levels_plot.txt:md5,3b86c9d8625c439376102f3286c7bba7", "fastqc_sequence_length_distribution_plot.txt:md5,6296c9ddbf8ba8e12053149d057fd7b2", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,a4dca31413036d35899a35ba14b17ea5", "multiqc_fastqc.txt:md5,519ff344a896ac369bba4d5c5b8be7b5", "multiqc_seqfu.txt:md5,a1a0b9a0dde0c1c4fe184d44c675dcde", + "multiqc_sequali.txt:md5,39b9c76998fd92ca22d486062ea2ee33", + "sequali_per_position_gc_content_plot.txt:md5,d2356cdfa85fdb6d67961342fbfdc685", + "sequali_per_position_quality_plot.txt:md5,91818c4deab0d0f391425410b489d9f6", + "sequali_per_sequence_gc_content_plot.txt:md5,0391644e7c76fc3e5d17564d43728637", + "sequali_per_sequence_quality_scores_plot.txt:md5,9d104ac479cc69be4205173c4994308d", + "sequali_sequence_counts_plot.txt:md5,057fb961863b325fe875d3a7879cb888", + "sequali_sequence_duplication_levels_plot.txt:md5,fcf8d9b0fa571926e9fa9022dd808d53", + "sequali_sequence_length_distribution_plot.txt:md5,5aeb59eda401d932b9110412b5e0d53a", "Sample1_1_seqfu.tsv:md5,269fabf8435defcd327aa69a050b7869", "Sample1_1_seqfu_mqc.txt:md5,a354b0ed16b9cf84aa88f501d7740fd6", "Sample23_3_seqfu.tsv:md5,6fdadbeeefccbf957f880d6852bf9676", @@ -539,9 +753,9 @@ ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.10.4" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2025-03-26T13:03:47.460854" + "timestamp": "2025-10-22T12:04:31.821743" } } \ No newline at end of file diff --git a/tests/NovaSeq6000.main_subsample.nf.test.snap b/tests/NovaSeq6000.main_subsample.nf.test.snap index 3ba50465..b037d3ce 100644 --- a/tests/NovaSeq6000.main_subsample.nf.test.snap +++ b/tests/NovaSeq6000.main_subsample.nf.test.snap @@ -1,31 +1,31 @@ { "NovaSeq6000 data test sample size": { "content": [ - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastqc.txt:md5,aba942d1e6996b579f19798e5673f514", - "multiqc_general_stats.txt:md5,ad1ec9c64cbdb1131a26aeb6de51e31c", + "multiqc_general_stats.txt:md5,83e8854bc46941b59a1e09cb46bea9e4", "multiqc_fastq_screen.txt:md5,2ff2485b1f197cb6228dd4350d1bd638", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastqc.txt:md5,aa1b8d6adae86005ea7a8b2e901099b8", - "multiqc_general_stats.txt:md5,c73c8d10568a56f6534d280fff701e60", + "multiqc_general_stats.txt:md5,bfe273cbb444d5678ecb01009d5fc5c5", "multiqc_fastq_screen.txt:md5,c54d863ed3e68ee8bcb51c9ad85de9bc", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastqc.txt:md5,ff996e1d3dc4a46e0c9535e54d51ccab", - "multiqc_general_stats.txt:md5,834e1868b887171cfda72029bbbe2d3f", + "multiqc_general_stats.txt:md5,9017f3b30a7700ba5709f998eb5ed60a", "multiqc_fastq_screen.txt:md5,737dc47e74e5b2f2c590652788831eff", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastqc.txt:md5,3df36ecfe76b25b0c22dcda84bce2b3b", - "multiqc_general_stats.txt:md5,274a001b007521970f14d68bd176e5be", + "multiqc_general_stats.txt:md5,0ed2a6b387ee5bbb4abb5d0fb4cf916b", "multiqc_fastq_screen.txt:md5,568f6b6d14562d01b5aaeb1a39e1cf3d", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastqc.txt:md5,ce61b4ce4b1d76ec3f20de3bf0c9ec7f", - "multiqc_general_stats.txt:md5,d476ad59458a035a329605d5284b6012", + "multiqc_general_stats.txt:md5,67ebc5b7677b6aab535804d31ee1d54f", "multiqc_fastq_screen.txt:md5,a4dca31413036d35899a35ba14b17ea5" ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.10.2" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2024-12-05T15:17:50.525033752" + "timestamp": "2025-10-22T10:58:29.486003" } } \ No newline at end of file diff --git a/tests/PromethION.main.nf.test.snap b/tests/PromethION.main.nf.test.snap index 27a9c143..3f587f04 100644 --- a/tests/PromethION.main.nf.test.snap +++ b/tests/PromethION.main.nf.test.snap @@ -1,7 +1,7 @@ { "PromethION data test": { "content": [ - 4, + 5, { "FASTQC": { "fastqc": "0.12.1" @@ -12,6 +12,9 @@ "SEQFU_STATS": { "seqfu": "1.20.3" }, + "SEQUALI": { + "sequali": "0.12.0" + }, "Workflow": { "nf-core/seqinspector": "v1.0dev" } @@ -47,8 +50,17 @@ "multiqc/global_report/multiqc_data/multiqc_fastqc.txt", "multiqc/global_report/multiqc_data/multiqc_general_stats.txt", "multiqc/global_report/multiqc_data/multiqc_seqfu.txt", + "multiqc/global_report/multiqc_data/multiqc_sequali.txt", "multiqc/global_report/multiqc_data/multiqc_software_versions.txt", "multiqc/global_report/multiqc_data/multiqc_sources.txt", + "multiqc/global_report/multiqc_data/sequali_adapter_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_gc_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_position_quality_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_gc_content_plot.txt", + "multiqc/global_report/multiqc_data/sequali_per_sequence_quality_scores_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_counts_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_duplication_levels_plot.txt", + "multiqc/global_report/multiqc_data/sequali_sequence_length_distribution_plot.txt", "multiqc/global_report/multiqc_plots", "multiqc/global_report/multiqc_plots/pdf", "multiqc/global_report/multiqc_plots/pdf/fastq_screen_plot-cnt.pdf", @@ -68,6 +80,15 @@ "multiqc/global_report/multiqc_plots/pdf/fastqc_top_overrepresented_sequences_table.pdf", "multiqc/global_report/multiqc_plots/pdf/general_stats_table.pdf", "multiqc/global_report/multiqc_plots/pdf/seqfu.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_adapter_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_gc_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_position_quality_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_gc_content_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_per_sequence_quality_scores_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-cnt.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_counts_plot-pct.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_duplication_levels_plot.pdf", + "multiqc/global_report/multiqc_plots/pdf/sequali_sequence_length_distribution_plot.pdf", "multiqc/global_report/multiqc_plots/png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-cnt.png", "multiqc/global_report/multiqc_plots/png/fastq_screen_plot-pct.png", @@ -86,6 +107,15 @@ "multiqc/global_report/multiqc_plots/png/fastqc_top_overrepresented_sequences_table.png", "multiqc/global_report/multiqc_plots/png/general_stats_table.png", "multiqc/global_report/multiqc_plots/png/seqfu.png", + "multiqc/global_report/multiqc_plots/png/sequali_adapter_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_gc_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_position_quality_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_gc_content_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_per_sequence_quality_scores_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-cnt.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_counts_plot-pct.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_duplication_levels_plot.png", + "multiqc/global_report/multiqc_plots/png/sequali_sequence_length_distribution_plot.png", "multiqc/global_report/multiqc_plots/svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-cnt.svg", "multiqc/global_report/multiqc_plots/svg/fastq_screen_plot-pct.svg", @@ -104,12 +134,24 @@ "multiqc/global_report/multiqc_plots/svg/fastqc_top_overrepresented_sequences_table.svg", "multiqc/global_report/multiqc_plots/svg/general_stats_table.svg", "multiqc/global_report/multiqc_plots/svg/seqfu.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_adapter_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_gc_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_position_quality_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_gc_content_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_per_sequence_quality_scores_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-cnt.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_counts_plot-pct.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_duplication_levels_plot.svg", + "multiqc/global_report/multiqc_plots/svg/sequali_sequence_length_distribution_plot.svg", "multiqc/global_report/multiqc_report.html", "pipeline_info", "pipeline_info/nf_core_seqinspector_software_mqc_versions.yml", "seqfu_stats", "seqfu_stats/hg001_1_seqfu.tsv", - "seqfu_stats/hg001_1_seqfu_mqc.txt" + "seqfu_stats/hg001_1_seqfu_mqc.txt", + "sequali", + "sequali/hg001_1.html", + "sequali/hg001_1.json" ], [ "hg001_1_screen.png:md5,b9c58e388f18ad11f4c2e29e9b573a5e", @@ -126,18 +168,27 @@ "fastqc_sequence_counts_plot.txt:md5,0425d7298c24df6158d5bf7aca1d4190", "fastqc_sequence_duplication_levels_plot.txt:md5,9111d942c7eed5af0e9ccb8c42db8505", "fastqc_sequence_length_distribution_plot.txt:md5,04adfcd0125ebcc3e3bb631f1956c812", - "multiqc_citations.txt:md5,5f52d7a0141e4234c6069df9ef575c9a", + "multiqc_citations.txt:md5,d7b828c3cb9b7187e916f92820bdc218", "multiqc_fastq_screen.txt:md5,7c5d711e27c53d13c81644a1f2468dba", "multiqc_fastqc.txt:md5,1a4b472e13cadc770832b0e20d1de7b0", "multiqc_seqfu.txt:md5,9595d608ff5709f2bdec8cb1016416c0", + "multiqc_sequali.txt:md5,8f4926c2b36765a3cc7dc33e0915910b", + "sequali_adapter_content_plot.txt:md5,4ab06fc340dc3516c1bb6b546a89325b", + "sequali_per_position_gc_content_plot.txt:md5,45dfc91f8aa2fed4c5f10827104cf0c9", + "sequali_per_position_quality_plot.txt:md5,3be0255246b3b5de5b8eec72283459f3", + "sequali_per_sequence_gc_content_plot.txt:md5,e83d6b0d6e5a7ffa79a8fe3dd199cfab", + "sequali_per_sequence_quality_scores_plot.txt:md5,d7216dcf07f19ebcb5b73781f471532c", + "sequali_sequence_counts_plot.txt:md5,0425d7298c24df6158d5bf7aca1d4190", + "sequali_sequence_duplication_levels_plot.txt:md5,91e3cb0ac98eb3d1aa2b8d1060be796d", + "sequali_sequence_length_distribution_plot.txt:md5,e8ca1563d1d984c7cfd6ce271e0206d9", "hg001_1_seqfu.tsv:md5,b133752c897afbb4d8721b911fa117d4", "hg001_1_seqfu_mqc.txt:md5,6285f582c03faa70e8dcb3503e5db728" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.10.4" + "nf-test": "0.9.2", + "nextflow": "25.04.6" }, - "timestamp": "2025-03-26T13:05:53.896824" + "timestamp": "2025-10-22T12:07:15.549807" } } \ No newline at end of file diff --git a/workflows/seqinspector.nf b/workflows/seqinspector.nf index 22d37c30..b83eea6e 100644 --- a/workflows/seqinspector.nf +++ b/workflows/seqinspector.nf @@ -8,6 +8,7 @@ include { samplesheetToList } from 'plugin/nf-schema' include { SEQTK_SAMPLE } from '../modules/nf-core/seqtk/sample/main' include { FASTQC } from '../modules/nf-core/fastqc/main' +include { SEQUALI } from '../modules/nf-core/sequali/main' include { SEQFU_STATS } from '../modules/nf-core/seqfu/stats' include { FASTQSCREEN_FASTQSCREEN } from '../modules/nf-core/fastqscreen/fastqscreen/main' @@ -66,6 +67,18 @@ workflow SEQINSPECTOR { ch_versions = ch_versions.mix(FASTQC.out.versions.first()) } + // + // MODULE: Run Sequali + // + if (!("sequali" in skip_tools)) { + SEQUALI ( + ch_sample_sized.map { + meta, subsampled -> [meta, subsampled] + } + ) + ch_multiqc_files = ch_multiqc_files.mix(SEQUALI.out.json) + ch_versions = ch_versions.mix(SEQUALI.out.versions.first()) + } // // Module: Run SeqFu stats