This repository hosts code for a number of different projects related to minimizers.
- Python code in py/header.py to evaluate the density lower bound of
Bryce Kille, Ragnar Groot Koerkamp, Drake McAdams, Alan Liu, and Todd J Treangen. A near-tight Lower Bound on the Density of Forward Sampling Schemes. Bioinformatics, December 2024. https://doi.org/10.1093/bioinformatics/btae736
- In src/lib.rs, reference implementations for the schemes presented in the mod-minimizer
paper with Giulio Ermanno Pibiri.
- See also this blogpost.
- These are also used for the lower bound paper with Bryce Kille:
- Python bindings available in src/py.rs.
Ragnar Groot Koerkamp, and Giulio Ermanno Pibiri. The Mod-Minimizer: A Simple and Efficient Sampling Algorithm for Long k-Mers. WABI 2024. https://doi.org/10.4230/LIPIcs.WABI.2024.11
Ragnar Groot Koerkamp, Daniel Liu, and Giulio Ermanno Pibiri. The Open-Closed Mod-Minimizer Algorithm. Algorithms for Molecular Biology, March 2025. https://doi.org/10.1093/bioinformatics/btae736
- An implementation (src/schemes/anchors.rs) and experiments (py/sus-anchors-1.py) of SUS-anchors (arxiv).
Ragnar Groot Koerkamp. The Anti-Lexicographic SUS-anchor: A near-Optimal k=1 Sampling Scheme. Arxiv 2026. https://doi.org/10.48550/ARXIV.2606.01190
- Ongoing research on new sampling schemes.
- Plots and experiments are in py/.
The SIMD-based random-minimizers implementation corresponding to this post has moved to https://github.com/rust-seq/simd-minimizers.
- Random minimizers.
- two versions of asymptotically optimal Rotational minimizers (Marçais et al., 2018) .
- Miniception, and a small slightly improved variant of it.
- Decycling and double decycling based minimizers (Pellow et al., 2023).
- Bidirectional anchors (Loukides et al., 2023)
- Mod-sampling, with lr-minimizers and mod-minimizers (our work).
- SUS-anchors
- Install maturin, the build system we use for creating python libraries out of Rust code.
- Create a python environment:
just py-init(python -m venv -env.) and load itsource .env/bin/activate - Run
just py(maturin develop -r) to build the python library. cd pyand run./sus-anchors-1.pyto reproduce thesus-anchors-1.svgplot in the SUS-anchors paper. Lowernto100000or so for faster results.