Skip to main content

pycoqc-ng

Interactive QC metrics and plots for Oxford Nanopore sequencing data

CI License Python

pycoqc-ng is a maintained continuation of pycoQC by Adrien Leger and Tommaso Leonardi, which is no longer developed. It keeps the original reports and adds support for the current Oxford Nanopore toolchain.

What this fork adds

  • Dorado / unaligned BAM input via Bam_to_seq_summary
  • POD5 input via Pod5_to_seq_summary
  • FASTQ input via Fastq_to_seq_summary, including %GC metrics and plots
  • Per-barcode length and %GC boxplots, and a basecall summary broken down by barcode
  • Runs on current dependencies: numpy 2.x, pandas 2.x and 3.x, plotly 5 to 7, pysam 0.22+, Python 3.9 to 3.13
  • No compiled extension, so it installs as a pure Python package

Installation

pip install git+https://github.com/duceppemo/pycoqc-ng.git

PyPI and bioconda releases are planned; see issues for progress.

To work on the code:

git clone https://github.com/duceppemo/pycoqc-ng.git
cd pycoqc-ng
pip install -e ".[dev]"
pytest

Usage

Generate a report from a basecaller summary:

pycoQC -f sequencing_summary.txt -o pycoQC_report.html

With a Guppy barcoding file, plus a machine-readable summary:

pycoQC -f sequencing_summary.txt -b barcoding_summary.txt \
       -o pycoQC_report.html -j pycoQC_report.json

If you have no summary file, build one from the basecaller output first:

# Dorado unaligned BAM
Bam_to_seq_summary -f bam_dir/ -s sequencing_summary.txt

# POD5
Pod5_to_seq_summary -f pod5_dir/ -s sequencing_summary.txt

# FASTQ (adds %GC)
Fastq_to_seq_summary -f fastq_dir/ -s sequencing_summary.txt

# legacy FAST5
Fast5_to_seq_summary -f fast5_dir/ -s sequencing_summary.txt

Split a summary by barcode:

Barcode_split -f sequencing_summary.txt -o split_dir/

Every command takes --help. pycoQC --default_config prints the plot configuration, which you can edit and pass back with --config_file.

The API mirrors the CLI:

from pycoQC.pycoQC import pycoQC

pycoQC(summary_file="sequencing_summary.txt",
       html_outfile="pycoQC_report.html",
       json_outfile="pycoQC_report.json")

Documentation

The original documentation covers the plots and options in detail, and still applies to the shared functionality: https://a-slide.github.io/pycoQC

Example reports built from the bundled test data live in docs/pycoQC/results/.

Citing

The method and the original implementation are published in JOSS. If you use this tool, please cite the original authors:

Leger A. and Leonardi T. (2019). pycoQC, interactive quality control for Oxford Nanopore Sequencing. Journal of Open Source Software, 4(34), 1236. https://doi.org/10.21105/joss.01236

JOSS DOI

Disclaimer

This is research software under active development. It is tested on Linux and macOS.

Licence

GPLv3, unchanged from the original project. See LICENSE.

Copyright © 2019-2024 Adrien Leger & Tommaso Leonardi Copyright © 2023-2026 Marc-Olivier Duceppe

Authors

  • Adrien Leger and Tommaso Leonardi — original pycoQC
  • Marc-Olivier Duceppe — this fork

Metadata

Release files for pycoqc-ng 3.0.0

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

Source distribution (sdist)

Source distribution for pycoqc-ng 3.0.0
File Size Uploaded Provenance Actions
pycoqc_ng-3.0.0.tar.gz 72.4 kB With provenance Details for pycoqc_ng-3.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pycoqc-ng 3.0.0
File Interpreter ABI Platform Actions
pycoqc_ng-3.0.0-py3-none-any.whl Python 3 none any Details for pycoqc_ng-3.0.0-py3-none-any.whl

Total release size: 141.5 kB

Release files / pycoqc_ng-3.0.0.tar.gz

Download URL pycoqc_ng-3.0.0.tar.gz
Size 72.4 kB
Tags Source
SHA-256 checksum
How to use checksums
deeeaecde1460f9be39759b7361eac318657f09bdcd78f38f2e0753be88f79e8
BLAKE2b-256 checksum
How to use checksums
435be4a137d762aea4bd9f7519573c22ceab7962a26e0384fd0bc26861b26d1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Release files / pycoqc_ng-3.0.0-py3-none-any.whl

Download URL pycoqc_ng-3.0.0-py3-none-any.whl
Size 69.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
514a931d0793a3878182de97e3d12d7f2c6fc2cec71e27babdc8f63360334252
BLAKE2b-256 checksum
How to use checksums
a172f49c3b1e4e640c3a31e930fb96abdb07f1fe356289b9eeb0c7af0a42e3e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

Security for pycoqc-ng 3.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pycoqc_ng-3.0.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 19, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files Full provenance

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