Post-Verkko graph & assembly cleaning, in Python.
verkko-fillet is a Python toolkit for cleaning, fixing, and gap-filling assemblies produced by the Verkko assembler. It bridges the gap between a raw Verkko run and a polished, chromosome-assigned, T2T-ready consensus.
Designed to be used interactively in Jupyter notebooks, it provides everything needed to QC the graph, assign chromosomes, recover broken contigs, fill gaps, and emit a corrected GAF path file ready for a Verkko consensus (CNS) run.
- 🧬 Quality control out of the box — N50, completeness, contig length, T2T status, chromosome coverage, and T2T QC plots.
- 🗺️ Chromosome assignment — assign reference chromosomes and rename contigs based on a user-provided reference.
- 🧩 Gap filling & path repair — detect, connect, and fill gaps and write back a fixed GAF for building new consensus.
- 🧪 T2T QC — detect internal telomeres for trimming, summarize per-contig telomere percentages at chromosome ends, and visualize them.
- 🔁 Reproducible — every step is recorded on the
VerkkoFilletobject with timestamp.
📘 For a more detailed installation guide, see https://verkko-fillet.readthedocs.io/en/latest/installation.html.
verkko-fillet is on PyPI:
pip install verkkofilletA few external binaries are expected on $PATH (or alongside the shipped scripts in src/verkkofillet/bin/):

Figure 1. verkko-fillet pipeline overview.
Full documentation is hosted on Read the Docs: https://verkko-fillet.readthedocs.io/
See the News page and the Release notes for the latest changes.
If you use verkko-fillet in your work, please cite this paper:
Kim, J., Rosen, B. D., Fumagalli, S. E., Kuhn, K. L., Long, A., Schoenebeck, J. J., ... & Rhie, A. (2025). Finishing a complete giraffe genome from telomere to telomere with Verkko-Fillet. bioRxiv.
Issues and pull requests are welcome at https://github.com/jjuhyunkim/verkko-fillet.
Released under the license described in LICENSE.