Skip to main content

PlotNado

PlotNado creates genome browser-style figures from Python or YAML templates. It is designed for reproducible genomic plots in scripts, notebooks, Quarto docs, and CLI workflows. Use it when you want compact tracks for BigWig-like signals, BED/narrowPeak intervals, links, genes, and optional matrix/QuantNado data.

PlotNado logo

Tests

Start

Install for day-to-day use:

uv tool install plotnado
plotnado --help

Work from source:

git clone https://github.com/alsmith151/plotnado
cd plotnado
uv sync --extra dev --extra docs
uv run pytest tests/

Python API

from plotnado import GenomicFigure
import numpy as np
import pandas as pd

bins = np.arange(1_000_000, 1_100_000, 1_000)
signal = pd.DataFrame({
    "chrom": "chr1",
    "start": bins,
    "end": bins + 1_000,
    "value": 5 + 2 * np.sin(np.linspace(0, 6, len(bins))),
})

fig = (
    GenomicFigure()
    .scalebar()
    .axis()
    .bigwig(signal, title="Synthetic signal", style="fill", color="#1f77b4")
)
fig.save("quickstart.png", region="chr1:1,010,000-1,080,000")

CLI + YAML

uv run plotnado init sample1.bw sample2.bw peaks.narrowpeak --auto --output template.yaml
uv run plotnado validate template.yaml
uv run plotnado plot template.yaml --region chr1:1,000,000-1,100,000 --output browser_view.png

Templates are editable YAML:

genome: hg38
guides:
  genes: true
tracks:
  - path: sample1.bw
    type: bigwig
    title: sample1
  - path: peaks.narrowpeak
    type: narrowpeak
    title: peaks

The same template can be loaded from Python:

from plotnado import GenomicFigure

fig = GenomicFigure.from_template("template.yaml")
fig.save("browser_view.png", region="chr1:1,000,000-1,100,000")

What It Covers

  • Chainable GenomicFigure API for programmatic plotting.
  • plotnado init, plotnado validate, and plotnado plot for YAML workflows.
  • In-memory tabular examples for reproducible docs and notebooks.
  • Runtime alias and option lookup through GenomicFigure.available_track_aliases() and GenomicFigure.track_options(...).
  • Optional cooler, CapCruncher, and QuantNado tracks when their dependencies and input datasets are installed.

Documentation

Troubleshooting

If a plot is empty, first check that the region overlaps your data and that chromosome names match (chr1 versus 1). If Quarto uses the wrong Python, render with QUARTO_PYTHON=.venv/bin/python quarto render. For option names, use GenomicFigure.track_options("bigwig").

Development

uv sync --extra dev --extra docs
uv run pytest tests/
uv run python examples/run_examples.py
uv run plotnado --help
QUARTO_PYTHON=.venv/bin/python quarto render

Docs are Quarto pages with executable Python cells. Prefer deterministic in-memory data in docs examples and keep generated option tables secondary to plotted examples.

Contributions should start with a source install, the test suite, the example runner, and a Quarto render. The main branch is protected, so open a pull request for review.

License

PlotNado is licensed under GPL-3.0-or-later. See LICENSE.

Metadata

Release files for plotnado 0.3.2

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

Source distribution (sdist)

Source distribution for plotnado 0.3.2
File Size Uploaded Provenance
plotnado-0.3.2.tar.gz 7.8 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for plotnado 0.3.2
File Interpreter ABI Platform
plotnado-0.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 15.6 MB

Release files / plotnado-0.3.2.tar.gz

Download URL plotnado-0.3.2.tar.gz
Size 7.8 MB
Tags Source
SHA-256 checksum
How to use checksums
d60bd40969992405e4a310d9df373616c85bab3ae5d9c49d74a0151b0891ac9e
BLAKE2b-256 checksum
How to use checksums
8f5a85f5018ac170fb363fe2f1466279b1d3f8065653fc0b41b903022d8b53f8
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 Aug 12, 2026.

Transparency log

Release files / plotnado-0.3.2-py3-none-any.whl

Download URL plotnado-0.3.2-py3-none-any.whl
Size 7.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
1ec7b9b0392a8039689fc1a1fe767db652a6e2b216980e13ab77460151fc1559
BLAKE2b-256 checksum
How to use checksums
51a4f438b09157509f3e3433ed58c06dafb64224893cec43f3008d241cb41454
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 Aug 12, 2026.

Transparency log

Security for plotnado 0.3.2

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

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for plotnado-0.3.2.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 Aug 12, 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.

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