Skip to main content

speccheck

CI codecov GPLv3 License Python Version

speccheck is a Python command-line tool for collecting, validating, and summarizing genome QC metrics from multiple bioinformatics tools. It is designed for species-aware QC workflows and reproducible reporting.

The 100-sample case study processes real, read-backed Escherichia coli samples through GHRU-assembly, then applies a pinned QualiBact E. coli compatibility policy. The committed case-study outputs include accessions, provenance, reports, concordance analysis, and figures under examples/qualibact_ecoli/real_run_100.

Documentation

Project documentation is built with MkDocs Material and intended for GitHub Pages:

  • Docs site: https://happykhan.github.io/speccheck/
  • Local docs build: mkdocs build

Primary docs pages:

Quick Start

Install from PyPI in a Python 3.10+ environment:

python -m venv .venv
source .venv/bin/activate
python -m pip install speccheck-qc

Collect QC metrics:

speccheck collect tests/practice_data/Sample_178db692semb --sample Sample_178db692semb

If --organism is not provided, speccheck infers it from species parser outputs and stops if no single species can be resolved. Use --allow-unknown-organism only for explicit fallback runs.

Generate a merged report:

speccheck summary qc_results --plot --qualifyr-style --xlsx-output qc_report/report.xlsx

summary merges concise collected CSV files, ignores detailed.*.csv companions, preserves sample IDs as strings, and rejects duplicate or conflicting records. Cohort reports use only PASS, WARN, FAIL, and NOT_EVALUATED for QC statuses.

Collect a recognised workflow output layout, such as GHRU Assembly, after a Nextflow run:

speccheck collect-pipeline path/to/pipeline/output qc_collect \
  --layout ghru \
  --organism "Escherichia coli" \
  --work-dir path/to/nextflow/work

Refresh criteria from QualiBact:

speccheck check --criteria-file speccheck/config/criteria.csv --update

Features

  • Explicitly registered parsers for CheckM/CheckM2, native wide or transposed QUAST, Speciator, ARIBA, Sylph, depth, Fastp, and BUSCO outputs
  • Criteria-driven PASS/WARN/FAIL validation
  • Standalone offline HTML reporting with an exception-first review queue, sample details, species-filtered cohort metrics, lightweight inline SVG charts, collapsed diagnostics, and responsive navigation
  • Compact qualifyr-style summary tables
  • Optional Excel workbook export from merged reports
  • Packaged default criteria and templates for pip/conda style installs
  • QualiBact threshold import workflow for compatibility checks and regression testing

Development

Run tests:

pytest

Build docs:

mkdocs build

Regenerate example figures and summary tables:

python scripts/create_real_run_100_assets.py

Build a wheel:

python -m build

Citation

If you use speccheck in a paper, report, or public workflow, cite the software and include the repository URL. Structured citation metadata is provided in CITATION.cff. Zenodo archive metadata is provided in .zenodo.json; after a GitHub Release is archived by Zenodo, cite the release DOI for the exact version used.

Download files

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

Source Distribution

speccheck_qc-1.3.0.tar.gz (245.0 kB view details)

Uploaded Source

Built Distribution

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

speccheck_qc-1.3.0-py3-none-any.whl (259.9 kB view details)

Uploaded Python 3

File details

Details for the file speccheck_qc-1.3.0.tar.gz.

File metadata

  • Download URL: speccheck_qc-1.3.0.tar.gz
  • Upload date:
  • Size: 245.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for speccheck_qc-1.3.0.tar.gz
Algorithm Hash digest
SHA256 e6114678380ec9fec90d1671897e929d65d7a637d6fb1e9be918a91fb99789e5
MD5 c222ea122527be8528858362e522d798
BLAKE2b-256 b260089a06528933aa97719eea132b16aca61bde2aaba7a72f08f02a1b982385

See more details on using hashes here.

File details

Details for the file speccheck_qc-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: speccheck_qc-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 259.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for speccheck_qc-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a47b971fda7824c778cbfebc769fecfdc30553a2eea4f2db3d7b9c86ac2556e
MD5 007000fcf37867676d732f60c3c45d43
BLAKE2b-256 f98e7a5f93f847fce83e771469b2b98ea1164ae89eeeab14a3281d1caca2d38f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 files

1.2.0

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