Skip to main content

Sequali

Sequence quality metrics for FASTQ and uBAM files.

Features:

  • MultiQC support since MultiQC version 1.22.

  • Low memory footprint, small install size and fast execution times.

    • Sequali typically needs less than 2 GB of memory and 3-30 minutes runtime when run on 2 cores (the default).

  • Informative graphs that allow for judging the quality of a sequence at a quick glance.

  • Overrepresentation analysis using 21 bp sequence fragments. Overrepresented sequences are checked against the NCBI univec database.

  • Estimate duplication rate using a fingerprint subsampling technique which is also used in filesystem duplication estimation.

  • Checks for 6 illumina adapter sequences and 17 nanopore adapter sequences for single read data.

  • Determines adapters by overlap analysis for paired read data.

  • Insert size metrics for paired read data.

  • Per tile quality plots for illumina reads.

  • Channel and other plots for nanopore reads.

  • FASTQ and unaligned BAM are supported. See “Supported formats”.

  • Reproducible reports without timestamps.

Example reports:

  • GM24385_1.fastq.gz; HG002 (Genome In A Bottle) on ultra-long Nanopore Sequencing. ENA accession: ERR3988483.

  • GM24385_1_cut.fastq.gz; GM24385_1.fastq.gz processed with cutadapt: cutadapt -o GM24385_1_cut.fastq.gz --cut -64 --cut 64 --minimum-length 500 -Z --max-aer 0.1 GM24385_1.fastq.gz. The resulting file has 64 bp cut off from both its ends and after that filtered for a minimum length of 500 and a maximum average error rate of 0.1.

  • 21C125_R1.fastq.gz; Illumina NovaSeq X paired-end sequencing of Campylobacter jejuni. ENA accession: ERR11204024.

For more information check the documentation.

Supported formats

  • FASTQ. Only the Sanger variation with a phred offset of 33 and the error rate calculation of 10 ^ (-phred/10) is supported. All sequencers use this format today.

    • Paired end sequencing data is supported.

    • For sequences called by illumina base callers an additional plot with the per tile quality will be provided.

    • For sequences called by guppy additional plots for nanopore specific data will be provided.

  • (unaligned) BAM with single reads. Read-pair information is currently ignored.

    • For BAM data as delivered by dorado additional nanopore plots will be provided.

    • For aligned BAM files, secondary and supplementary reads are ignored similar to how samtools fastq handles the data.

Installation

Installation via pip is available with:

pip install sequali

Sequali is also distributed via bioconda. It can be installed with:

conda install -c conda-forge -c bioconda sequali

Quickstart

sequali path/to/my.fastq.gz

This will create a report my.fastq.gz.html and a json my.fastq.gz.json in the current working directory.

To set the directory where the reports are created the --outdir flag can be used. This is useful when using [MultiQC](https://github.com/multiqc/multiqc).

sequali --out-dir /my/dir/all_sequali_reports my.fastq.gz

The html and json filenames can be set separately.

sequali --html before_qc.html --json before_qc.json my.fastq.gz
sequali --html after_qc.html --json after_qc.json my.cutadapt.fastq.gz

Sequali can handle paired-end data.

sequali /sequencing_data/sample100_R1.fastq.gz /sequencing_data/sample100_R2.fastq.gz

Additionally sequali can handle BAM data. Proper pair handling is not yet supported for BAM data, so this is primarily useful for ONT datasets.

sequali /sequencing_data/sample100_dorado_called_hac_v4.30.bam

Sequali by default uses one thread per compressed input file and one thread for the read processing, typically keeping two cores busy. Sequali can also use a single core, which is slower, but typically more efficient for HPC scenarios where multiple files can be run simultaneously. (Below a SLURM example.)

sbatch -c 1 --time 59 --partition short \
--wrap 'sequali --threads 1 /cluster-scratch/myusername/my.fastq.gz'

Using a thread count higher than 2 has no effect. Due to the decompression bottleneck, bringing the full power of multithreading to Sequali has limited utility whilst having a disproportionally high cost in additional code complexity.

For all command line options checkout the usage documentation.

For more extensive information about the module options check the documentation on the module options.

Acknowledgements

  • FastQC for its excellent selection of relevant metrics. For this reason these metrics are also gathered by Sequali.

  • The matplotlib team for their excellent work on colormaps. Their work was an inspiration for how to present the data and their RdBu colormap is used to represent quality score data. Check their writings on colormaps for a good introduction.

  • Wouter de Coster for his excellent post on how to correctly average phred scores as well as the idea for using end-anchored plots from NanoQC.

  • Marcel Martin for providing very extensive feedback.

  • Agnès Barnabé for creating a Galaxy wrapper.

Citation

If you wish to credit Sequali please cite the Sequali article.

License

This project is licensed under the GNU Affero General Public License v3. Mainly to avoid commercial parties from using it without notifying the users that they can run it themselves. If you want to include code from Sequali in your open source project, but it is not compatible with the AGPL, please contact me and we can discuss a separate license.

Metadata

Release files for sequali 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sequali 1.0.2
File Size Uploaded
sequali-1.0.2.tar.gz 3.5 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for sequali 1.0.2
File
sequali-1.0.2-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details
sequali-1.0.2-cp310-abi3-musllinux_1_2_x86_64.whl CPython 3.10 abi3 Linux musl 1.2+ x86-64 Details
sequali-1.0.2-cp310-abi3-musllinux_1_2_aarch64.whl CPython 3.10 abi3 Linux musl 1.2+ ARM64 Details
sequali-1.0.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
sequali-1.0.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
sequali-1.0.2-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
sequali-1.0.2-cp310-abi3-macosx_10_9_x86_64.whl CPython 3.10 abi3 macOS 10.9+ x86-64 Details

Total release size: 7.5 MB

Release files / sequali-1.0.2.tar.gz

Download URL sequali-1.0.2.tar.gz
Size 3.5 MB
Tags Source
SHA-256 checksum
How to use checksums
bfd45fbf4faaf447734edbce5d69368fbf19008d680b868e7337619022b55f54
BLAKE2b-256 checksum
How to use checksums
0efc19f13be5a8a97e3d560dbce96e414a3e6d722b9d359c08172475ddab2a39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / sequali-1.0.2-cp310-abi3-win_amd64.whl

Download URL sequali-1.0.2-cp310-abi3-win_amd64.whl
Size 565.9 kB
Tags CPython 3.10 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
1c5bfb544b6df57206563c9aea4eb49acc68ca4b01826ef5496db96dd91502b1
BLAKE2b-256 checksum
How to use checksums
f6cb4b24ab35bc56c8129a2254e8d7aa4e0b6e45c9cb4d9709ba249ccb109899
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / sequali-1.0.2-cp310-abi3-musllinux_1_2_x86_64.whl

Download URL sequali-1.0.2-cp310-abi3-musllinux_1_2_x86_64.whl
Size 577.6 kB
Tags CPython 3.10 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
00445b67705e880ceb9160d7f3bac8fb6cbb5d67267f826f8353e822a76bab67
BLAKE2b-256 checksum
How to use checksums
0d24d563054db48372faa98ae3e85987829b800339f376d3464c12ce37d8dd9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / sequali-1.0.2-cp310-abi3-musllinux_1_2_aarch64.whl

Download URL sequali-1.0.2-cp310-abi3-musllinux_1_2_aarch64.whl
Size 568.9 kB
Tags CPython 3.10 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
5e08ccf4cb5fd68207576da437507589581afab61a8e5ede93c4d623e7c5071d
BLAKE2b-256 checksum
How to use checksums
276da7e079ea0b889a37119f201b20a746825e3ae9a49eace4159071caed5957
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / sequali-1.0.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL sequali-1.0.2-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 576.9 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
aaef609e8f1cb9896afeafea136d55140e9b3bf3dacd2333209bed44efb61a3a
BLAKE2b-256 checksum
How to use checksums
82f6ccab6e1167acb3d86e9cd69b1e98ee47c7ac91d44e9a16b5771c5691570c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / sequali-1.0.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL sequali-1.0.2-cp310-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 568.4 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
3edf108418d49d9c25dca383b2eaf9f87b231f97096b468bb61615d09b74352f
BLAKE2b-256 checksum
How to use checksums
f142e1d38ccf3eca3f7b583f1964c826235d0e6df123ae6538429f2c27f62ef6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / sequali-1.0.2-cp310-abi3-macosx_11_0_arm64.whl

Download URL sequali-1.0.2-cp310-abi3-macosx_11_0_arm64.whl
Size 558.3 kB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
8414e60a0fe22e19b21f0c93f11075fb8c6995bebad6507e9a06245d1256f555
BLAKE2b-256 checksum
How to use checksums
b57d257e18aabd52e234d448a9334da1b3e484f6cb9ed6700d6c230d6ed963ad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release files / sequali-1.0.2-cp310-abi3-macosx_10_9_x86_64.whl

Download URL sequali-1.0.2-cp310-abi3-macosx_10_9_x86_64.whl
Size 564.1 kB
Tags CPython 3.10 abi3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
ebf56d4510532fe7801a60f62f44b48f102309d4ae82ddb8fe4362f576a0a68e
BLAKE2b-256 checksum
How to use checksums
eb1faf20735a73bb64ea420ae93f0d227ea9a07f5135667ac30fff0e50e25698
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

1.0.2 This release

8 release files

1.0.1

8 release files

1.0.0

8 release files

0.9.1

36 release files

0.9.0

31 release files

0.7.1

36 release files

0.7.0

31 release files

0.6.0

21 release files

0.5.1

21 release files

0.5.0

21 release files

0.3.0

21 release files

0.2.0

21 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page