Skip to main content

MultiQC plugin for the STROMBOLI barcode-variant mapping pipeline

Project description

multiqc-stromboli

A MultiQC plugin for the STROMBOLI barcode → variant mapping pipeline.

It reads STROMBOLI's per-sample QC summary files (results/qc/{sample}.stromboli_qc.json) and adds a STROMBOLI section to the MultiQC report: a general-statistics table, a variant-consequence breakdown, a barcode-clash plot, and distribution plots. (cutadapt stats come from MultiQC's built-in cutadapt module.)

Status: working. Wired up against STROMBOLI's summary JSON (workflow/rules/scripts/write_qc_summary.py, schema_version 5): the general-stats table, variant-consequence and variant-type stacked bars (the DMS headline), the ORF coverage profile, the barcode-clash plot, and distribution plots for cluster size, call depth, allele fraction, variants per barcode, barcodes per variant, cluster purity, and barcode length/GC. Counts that span orders of magnitude (cluster size, call depth, variants per barcode, barcodes per variant) are emitted as exact {value: count} and binned by the plugin into data-driven, log-spaced bins shared across the loaded samples, then overlaid one line per sample. Bounded fractions (allele fraction, cluster purity, barcode GC) are pre-binned per-sample histograms (grouped bars, with a Counts / Percentages toggle). See examples/sample.stromboli_qc.json for the shape.

Install

uv tool install multiqc-stromboli      # alongside a MultiQC install, or
uv pip install -e .                     # from a clone, for development

Once installed, MultiQC discovers it automatically via entry points — just run multiqc over a directory containing *stromboli_qc.json files.

Develop

uv sync            # create the venv and install deps (incl. dev)
uv run pytest      # parser unit tests + an end-to-end MultiQC smoke test
                   # (the smoke test self-skips if `multiqc` isn't on PATH)
uv build           # build the wheel/sdist

The QC summary contract

The plugin consumes one JSON file per sample. The expected shape (schema_version 5) is documented by examples/sample.stromboli_qc.json and multiqc_stromboli/parse.py. The producer (STROMBOLI) owns this contract; when the format changes, bump SCHEMA_VERSION in both places. Files with an unexpected schema_version are parsed best-effort with a warning.

License

MIT — see LICENSE.

Getting help

For any issues, please open an issue on the GitHub repository. For questions or feedback, email Chris.

Project details


Download files

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

Source Distribution

multiqc_stromboli-0.1.0.tar.gz (13.3 kB view details)

Uploaded Source

Built Distribution

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

multiqc_stromboli-0.1.0-py3-none-any.whl (12.7 kB view details)

Uploaded Python 3

File details

Details for the file multiqc_stromboli-0.1.0.tar.gz.

File metadata

  • Download URL: multiqc_stromboli-0.1.0.tar.gz
  • Upload date:
  • Size: 13.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for multiqc_stromboli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 341c7673c9bda2ef896529d7e38a647b2542fa17d7c2a52df35cb5e6b531c144
MD5 b7a0c05db9b2a5dfe1f727704fa203ee
BLAKE2b-256 e74ff7bec3850391730c3f34c08e56872e5dbfe94ed58399d5abceab3ce024da

See more details on using hashes here.

Provenance

The following attestation bundles were made for multiqc_stromboli-0.1.0.tar.gz:

Publisher: publish.yml on odcambc/stromboli-multiqc

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

File details

Details for the file multiqc_stromboli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for multiqc_stromboli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 24507c65820e46ad0525e235f2d1ec3eedf7f5d157a8f3ee034f582ff6bda93e
MD5 48c3a047f49975acb959dd6e6914352b
BLAKE2b-256 696e66677b36705a52b48dcc9bd893ac0fe330d51ba200660a5bf82e0b79002f

See more details on using hashes here.

Provenance

The following attestation bundles were made for multiqc_stromboli-0.1.0-py3-none-any.whl:

Publisher: publish.yml on odcambc/stromboli-multiqc

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page