Skip to main content

nanocheck

nanocheck is a read-only inspector for Oxford Nanopore run data. It checks that files are intact and mutually consistent, describes BAM contents, inventories cohorts, and creates verifiable handover manifests.

nanocheck
├── check       integrity and cross-file consistency
├── summary     descriptive QC for one BAM
├── cohort      many BAMs as one table
├── manifest    file inventory and optional checksums
└── verify      verify a saved manifest

nanocheck never changes, indexes, or rewrites sequencing data.

Installation

python -m pip install ".[pod5]"

POD5 support is optional. For BAM/FASTQ-only use:

python -m pip install .

Check

nanocheck check /data/my_run
nanocheck check /data/my_run --json
nanocheck check /data/my_run --strict

check streams BAM, FASTQ, and POD5 files; detects malformed data, mixed run IDs and flow cells, duplicate reads, invalid read-group references, incomplete MM/ML pairs, and sample-sheet problems; and reconciles POD5 read IDs against BAM or FASTQ source IDs. It understands the pi/parent_read_id relationship from read splitting.

Read-ID storage defaults to auto: inputs below 10 GiB use memory and larger inputs use a temporary SQLite database. The exact backend can be selected when needed:

nanocheck check run/ --id-store memory
nanocheck check run/ --id-store disk

The disk database is deleted when the command finishes.

Summary

nanocheck summary sample.bam
nanocheck summary sample.bam --quick
nanocheck summary sample.bam --json
nanocheck summary sample.bam --timeline --timeline-output timeline.tsv

summary reports read and alignment counts, yield, length N50, Q-score, MAPQ, MM/ML presence, index and sort status, the exact reference-dictionary fingerprint, and ONT run, flow-cell, sample, barcode, basecaller, basecalling model, and modified-base model metadata. When st is available it also reports the first and last reads, run duration, and per-minute yield.

Full mode is the default. Quick mode reads at most the first 100,000 records and checks the BAM header and EOF marker. Sampled output is marked as incomplete.

Reference labels are conservative hints based on canonical chromosome lengths: GRCh37, GRCh38, T2T-CHM13v2.0, or unknown/custom. Cohort comparisons use the complete ordered @SQ name/length dictionary, not the hint or filename.

Cohort

nanocheck cohort /data/brain_tumors/*.bam
nanocheck cohort /data/bams --recursive --output cohort.tsv
nanocheck cohort /data/bams --recursive --csv
nanocheck cohort /data/bams --recursive --jsonl > cohort.jsonl

TSV, CSV, JSON, and JSONL exports include paths, file sizes, ONT metadata, reference, alignment counts, yield and length statistics, mapping metrics, MM/ML fractions, index status, errors, and warnings. Terminal output highlights mixed reference dictionaries and mixed basecalling configurations. Use --quick to sample each BAM.

Manifest and verification

nanocheck manifest /data/project > manifest.tsv
nanocheck manifest /data/project --checksum sha256 -o manifest.json
nanocheck verify manifest.json

Manifests recursively inventory all files. BAM, FASTQ, and POD5 entries also include available read and ONT metadata. JSON or TSV is selected from the output filename or explicitly with --json/--tsv. Verification always checks file sizes and checks hashes when the manifest contains them.

Exit status

Commands return 1 for errors. check --strict also returns 1 for warnings. cohort returns 1 for unreadable BAMs, an empty selection, or mixed reference dictionaries.

Development

python -m pip install -e ".[test,pod5]"
pytest

nanocheck is independent of Oxford Nanopore Technologie.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nanocheck-0.3.0.tar.gz (23.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nanocheck-0.3.0-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file nanocheck-0.3.0.tar.gz.

File metadata

  • Download URL: nanocheck-0.3.0.tar.gz
  • Upload date:
  • Size: 23.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nanocheck-0.3.0.tar.gz
Algorithm Hash digest
SHA256 db9bf4f1d17739c4c796505abfb4a0b776a8f69560436c879fb1e9d4cc5f3f91
MD5 9eb96798f6c72ca3a56d51fb752ea0cf
BLAKE2b-256 0f8523bd5119c284fc5aceccdf50d31eaf5222222e5cf8cad84e009e39ec0503

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanocheck-0.3.0.tar.gz:

Publisher: publish.yml on AlexanderM-M/Nanocheck

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nanocheck-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: nanocheck-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for nanocheck-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 641e5c306a73e047bc543c15310ca5b2bbbdc0c3c0d7230dcc85c73f24d9800d
MD5 c53cce0ab7ea50febe7b61f51c292a2b
BLAKE2b-256 5991331416bcef3507673a02e6b9747f712811385237984c88ea69f80e34561c

See more details on using hashes here.

Provenance

The following attestation bundles were made for nanocheck-0.3.0-py3-none-any.whl:

Publisher: publish.yml on AlexanderM-M/Nanocheck

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 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