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.

Metadata

Release files for speccheck-qc 1.3.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 speccheck-qc 1.3.0
File Size Uploaded
speccheck_qc-1.3.0.tar.gz 245.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for speccheck-qc 1.3.0
File Interpreter ABI Platform
speccheck_qc-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 504.9 kB

Release files / speccheck_qc-1.3.0.tar.gz

Download URL speccheck_qc-1.3.0.tar.gz
Size 245.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e6114678380ec9fec90d1671897e929d65d7a637d6fb1e9be918a91fb99789e5
BLAKE2b-256 checksum
How to use checksums
b260089a06528933aa97719eea132b16aca61bde2aaba7a72f08f02a1b982385
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / speccheck_qc-1.3.0-py3-none-any.whl

Download URL speccheck_qc-1.3.0-py3-none-any.whl
Size 259.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a47b971fda7824c778cbfebc769fecfdc30553a2eea4f2db3d7b9c86ac2556e
BLAKE2b-256 checksum
How to use checksums
f98e7a5f93f847fce83e771469b2b98ea1164ae89eeeab14a3281d1caca2d38f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.0

2 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