Skip to content

Latest commit

 

History

327 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository hosts code for a number of different projects related to minimizers.

  1. 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

  2. In src/lib.rs, reference implementations for the schemes presented in the mod-minimizer paper with Giulio Ermanno Pibiri.

    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

  3. 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

  4. 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.

Implemented minimizer schemes

  • 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

./fig/density_4.svg

Reproducing SUS-anchor results

  1. Install maturin, the build system we use for creating python libraries out of Rust code.
  2. Create a python environment: just py-init (python -m venv -env.) and load it source .env/bin/activate
  3. Run just py (maturin develop -r) to build the python library.
  4. cd py and run ./sus-anchors-1.py to reproduce the sus-anchors-1.svg plot in the SUS-anchors paper. Lower n to 100000 or so for faster results.

About

Reference implementations of minimizer schemes to go with the mod-minimizers paper.

Resources

Stars

29 stars

Watchers

3 watching

Forks

Used by

Contributors

Languages