Skip to main content

HashBrown: long-read, short-read and hybrid bacterial genome assembly

CI Coverage Python 3.10+ License: MIT Documentation

HashBrown assembles bacterial genomes from whatever reads you have: Nanopore long reads, Illumina (or Ion Torrent) short reads, or both. With long reads it assembles with Flye or Shasta and polishes with Medaka; add short reads and they polish the assembly further (Polypolish, then pyPOLCA --careful); with short reads alone it assembles with SKESA or SPAdes. Every run ends with QC — QUAST metrics, mapping QC (samtools flagstat), read depth (mosdepth), assembly graphs, before/after polishing dot plots — and a per-sample HTML report (with a PDF twin) showing the effect of every stage on the reads and the assembly, plus optional modules for consensus QV (Merqury), species confirmation (mash + ANI), completeness (CheckM2, BUSCO), typing (MLST, MOB-suite), AMR and virulence genes (AMRFinderPlus, abricate), annotation (Bakta or PGAP) and contamination (ConFindr, GenomeScope2, blob plot) — each one auto-detected and skipped with a hint when not installed.

Like its namesake — shredded potatoes pressed into one piece — HashBrown presses reads into one assembly. It merges and supersedes BGA and BGA_short, which were split when Medaka's TensorFlow builds conflicted with the short-read tools; one conda environment now covers everything.

Long reads: prepare (Porechop, Filtlong), assemble (Flye or Shasta), polish (Medaka), then polish with short reads (Polypolish, pyPOLCA). Short reads alone: trim (fastp), assemble (SKESA or SPAdes). Both are optionally reoriented (dnaapler), end in QC (QUAST, flagstat, mosdepth, dot plots, graphs) and a per-sample HTML + PDF report.

Quick start

git clone https://github.com/duceppemo/HashBrown
cd HashBrown
conda env create -f environment.yml && conda activate HashBrown
pip install .

# Long reads only
hashbrown -l nanopore_fastq/ -o results/

# Hybrid: the short reads polish the long-read assemblies
hashbrown -l nanopore_fastq/ -s illumina_fastq/ -o results/

# Short reads only
hashbrown -s illumina_fastq/ -o results/ -a skesa

Each long-read fastq file is one sample. Short-read files pair on _R1/_R2 in the name; a file without either is a single-end sample. The sample name is everything before the first underscore, and in hybrid mode the long- and short-read names must match. Rerunning the same command resumes where it stopped.

Documentation

Everything else is in the wiki, whose sources are maintained in docs/wiki:

  • Installation — conda, pip, troubleshooting
  • Usage — inputs, options, resuming, performance
  • Methods — what each step runs and why
  • Outputs — folders and files, with example reports from a real E. coli K-12 hybrid run (HTML · PDF) and from a deliberately contaminated sample (HTML · PDF)
  • Validation — benchmarking the polisher combinations against a gold standard
  • FAQ — troubleshooting
  • Development — tests, CI, releases

Citation

If HashBrown is useful in your work, please cite this repository (see CITATION.cff) and the programs it runs: Flye or Shasta, Medaka, Porechop, Filtlong, SKESA or SPAdes, fastp, Polypolish, pyPOLCA, BWA, minimap2, SAMtools, QUAST, mosdepth, MUMmer and Bandage (references).

License

MIT

Metadata

Release files for hashbrown-assembly 1.1.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 hashbrown-assembly 1.1.0
File Size Uploaded Provenance Actions
hashbrown_assembly-1.1.0.tar.gz 53.7 kB With provenance Details for hashbrown_assembly-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for hashbrown-assembly 1.1.0
File Interpreter ABI Platform Actions
hashbrown_assembly-1.1.0-py3-none-any.whl Python 3 none any Details for hashbrown_assembly-1.1.0-py3-none-any.whl

Total release size: 102.6 kB

Release files / hashbrown_assembly-1.1.0.tar.gz

Download URL hashbrown_assembly-1.1.0.tar.gz
Size 53.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5b4dbcba1d6ddbe12f17971c74d3c18aa0585296b5de085b72ba5295fd875c9d
BLAKE2b-256 checksum
How to use checksums
9cb4f2dac1f3b738d94aa8965aac36e879a0e3e34d980cf8908dbebd5bf80c0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / hashbrown_assembly-1.1.0-py3-none-any.whl

Download URL hashbrown_assembly-1.1.0-py3-none-any.whl
Size 48.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86238ba9045d86125c718209db60c405fd66007f7c0d8eef7d83fcd4bf79c142
BLAKE2b-256 checksum
How to use checksums
b23d66cddb4a8ca627a8648653d291700825c79779ceb028930f57bfbe412e4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Security for hashbrown-assembly 1.1.0

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 hashbrown_assembly-1.1.0.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 Nov 2, 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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files Full provenance

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