ALLEGRO (Algorithm for a Linear program Enabling Guide RNA Optimization) is a synthetic biology tool leveraging Google OR-Tools integer linear programming to design the smallest possible gRNA library to fulfill user-specified constraints.
- Design a Cas9 gRNA library for thousands of species simultaneously
- Flexible library design using an ensemble of options such as tracks, multiplicity, pre- and post-clustering, guide cutting efficacy prediction, and more
- Extremely fast and computationally efficient
- Written in Python, Cython, and C++
- Published in Nucleic Acids Research, Volume 53, Issue 15, 28 August 2025, gkaf783
ALLEGRO’s workflow. Step (1) Given the gene sequence or the genome of hundreds to thousands of input species, ALLEGRO extracts Cas9 target sequences. Step (2) ALLEGRO builds and solves an (integer) linear program involving millions of variables. Step (3) The optimal solution of the linear program determines the sgRNA library with minimal size that covers all targets.
You may find the documentation for ALLEGRO at its GitHub Wiki.
If you run into any issues or have suggestions for ALLEGRO, please report them on our GitHub Issues tracker. It's the fastest way to get support and helps us improve ALLEGRO for everyone. You may also email the authors at their provided e-mail addresses on the publication directly.
ALLEGRO has been developed and is maintained by Amirsadra Mohseni, and Stefano Lonardi at the University of California, Riverside.
@article{mohseni2025allegro,
title={Kingdom-wide CRISPR guide design with ALLEGRO},
author={Mohseni, Amirsadra and Nia, Reyhane Ghorbani and Tafrishi, Aida and López, Mario León and Liu, Xin-Zhan and Stajich, Jason E and Lonardi, Stefano and Wheeldon, Ian},
journal={Nucleic Acids Research},
volume={53},
number={15},
pages={gkaf783},
year={2025},
doi={10.1093/nar/gkaf783},
url={https://doi.org/10.1093/nar/gkaf783},
eprint={https://academic.oup.com/nar/article-pdf/53/15/gkaf783/64082253/gkaf783.pdf},
publisher={Oxford University Press}
}