seqme is a modular and extendable python library containing model-agnostic metrics for evaluating biological sequence designs. It enables benchmarking and comparison of generative models for small molecules, DNA, RNA, peptides, and proteins.
Key features:
- Metrics: A collection of sequence-, embedding-, and property-based metrics for evaluating generative models designs.
- Models: Out-of-the-box, pre-trained property and embedding models for small molecules, DNA, RNA, peptides, and proteins.
- Visualizations: Functionality to display metric results from single-shot and iterative optimization methods as tables and plots.
Is a metric or model missing? seqme's modular metric and third-party model interfaces make adding your own easy.
You need to have Python 3.10 or newer installed on your system. To install the base package do:
$ pip install seqmeTo install sequence-specific models as well, include the appropriate extras specifiers. Check the individual model docs for installation instructions.
Install seqme and the protein language model, ESM-2.
$ pip install "seqme[esm2]"Run in a Jupyter notebook:
import seqme as sm sequences = { "Random": ["MKQW", "RKSPL"], "UniProt": ["KKWQ", "RKSPL", "RASD"], "HydrAMP": ["MMRK", "RKSPL", "RRLSK", "RRLSK"], } cache = sm.Cache( models={"esm2": sm.models.ESM2( model_name="facebook/esm2_t6_8M_UR50D", batch_size=256, device="cpu") } ) metrics = [ sm.metrics.Uniqueness(), sm.metrics.Novelty(reference=sequences["UniProt"]), sm.metrics.FBD(reference=sequences["Random"], embedder=cache.model("esm2")), ] df = sm.evaluate(sequences, metrics) sm.show(df) # Note: Will only display the table in a notebook.Check out the docs for in-depth tutorials and examples.
If you use seqme in your research, consider citing our publication:
@article{mollerlarsen2025seqme, title={seqme: a Python library for evaluating biological sequence design}, author={Rasmus Møller-Larsen and Adam Izdebski and Jan Olszewski and Pankhil Gawade and Michal Kmicikiewicz and Wojciech Zarzecki and Ewa Szczurek}, year={2025}, eprint={2511.04239}, archivePrefix={arXiv}, primaryClass={cs.LG}, url={https://arxiv.org/abs/2511.04239}, }