evedesign: unified framework for accessible biosequence design
What is evedesign?
evedesign is a unified open-source framework for biosequence design that formalizes conditional design problems in a method-agnostic way. The framework allows users to seamlessly build and execute complex multiobjective design workflows, including supervised and unsupervised models, from a standardized set of specifications and operations. An interactive web-based user interface facilitates end-to-end biomolecular design for a broad scientific audience and is publicly available at https://evedesign.bio.
This repository implements the core interfaces for standardizing the interaction with biomolecular models, generation of nucleotide sequences, and many other utility functions for structure handling, sequence space embeddings, etc.
Please also check evedesign-server for automated pipeline execution from declarative design specifications and the REST API, as well as evedesign-ui for the interactive user interface.
Publication
Installation
Use the following command to install evedesign with support for all currently implemented models. You can remove any of the options if you do not need the respective model. Please see specific instructions for Boltz-2 further below.
pip install evedesign[evmutation2,esm2,mpnn,umap,gpytorch]
Boltz2 installation
GPU-based (CUDA, recommended)
For structure predictions with Boltz-2 and CUDA, install the boltz2fold-cuda extra with uv:
uv pip install evedesign[boltz2fold-cuda]
PyPI's default torch ships with CUDA support (tested on a CUDA 13 build, which runs on CUDA 12.x+ drivers via forward compatibility). If you need a specific CUDA build to match an older driver, you might explore adding the matching PyTorch index, e.g.:
uv pip install evedesign[boltz2fold-cuda] \
--extra-index-url https://download.pytorch.org/whl/cu126 \
--index-strategy unsafe-best-match
uv is required for this install path: boltz and its dependencies ship overly-conservative version pins that
are overridden in [tool.uv] in pyproject.toml, and pip does not honor those overrides.
CPU/MPS-based
For CPU/MPS-only use (no CUDA), install the boltz2fold extra instead of boltz2fold-cuda.
Getting started
Please refer to some of our examples how to use evedesign. We are continuously extending these as new models are added to the framework.
To implement your own models in the framework, please have a look at our existing reference implementations (e.g. EVmutation2, ESM-2, ProteinMPNN, Gibbs sampler) as well as the underlying model interfaces and description of molecular systems and instances.
We are happy to help if you have any questions!
Currently available models and methods
Biomolecular models, embedders and restraints
| Name | Class | Interfaces |
|---|---|---|
| EVmutation2 | evedesign.models.evmutation2.EVmutation2 |
Generator, Scorer, Transformer |
| LigandMPNN/ProteinMPNN | evedesign.models.mpnn.LigandMPNN |
Generator, Scorer |
| ESM-2 | evedesign.models.esm2.ESM2 |
Transformer Scorer |
| Boltz-2 | evedesign.models.boltzfold.BoltzFoldTransformer |
Transformer, Scorer |
| EVcouplings | evedesign.models.evcouplings.EVcouplings |
Scorer |
| Sequence distance restraint | evedesign.restraints.seq_dist.LinearSeqDistRestraint |
Scorer |
| One-hot encoding embedder | evedesign.models.embedders.OneHotEmbedder |
Transformer |
| BLOSUM embedder | evedesign.models.embedders.BLOSUMEmbedder |
Transformer |
Supervised models
| Name | Class | Interfaces |
|---|---|---|
| Scikit-learn regressors/classifiers | evedesign.models.supervised.SklearnPredictorOnEmbeddingsScores |
Scorer |
| Gaussian Process regression | evedesign.models.supervised.GpytorchModel |
Scorer |
Samplers
| Name | Class | Interfaces |
|---|---|---|
| Gibbs sampler | evedesign.samplers.gibbs.GibbsSampler |
Generator |
Analyzers
| Name | Class | Interfaces |
|---|---|---|
| UMAP sequence space projection | evedesign.analyzers.sequence_space.SequenceSpaceUMAP |
Analyzer |
| MDS sequence space projection | evedesign.analyzers.sequence_space.SequenceSpaceMDS |
Analyzer |
| Landmark MDS sequence space projection | evedesign.analyzers.sequence_space.SequenceSpaceLandmarkMDS |
Analyzer |
| PCA sequence space projection | evedesign.analyzers.sequence_space.SequenceSpacePCA |
Analyzer |
Nucleotide sequence generation
| Name | Class | Interfaces |
|---|---|---|
| DNA Chisel codon optimization | evedesign.codons.DNAChiselCodonOptimizer |
ProteinToDnaOptimizer |
Roadmap and contributing
We plan to continuously add more models, restraints, oracles and samplers to the framework, e.g. de novo 3D structure generation with BoltzGen or BindCraft.
We are actively looking for further contributors to develop our framework jointly with the community. If you are interested or feel like an important model is missing from the framework, please get in contact with us!
License
evedesign is released under the MIT license.
Contact
For general questions or inquiries about evedesign please reach out to hello@evedesign.bio.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file evedesign-0.0.5.tar.gz.
File metadata
- Download URL: evedesign-0.0.5.tar.gz
- Upload date:
- Size: 157.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e870061eab11d44e6949075f19ba6bd51cd08a52d4ae5a2f9f407df0a91e580
|
|
| MD5 |
5bce86c3d1a7536a2e229f03d14a2ea3
|
|
| BLAKE2b-256 |
363cca88d6ed79632b10f7f614dcfa3295d021debdd0a4e016c4e8c5d5fff8f9
|
File details
Details for the file evedesign-0.0.5-py3-none-any.whl.
File metadata
- Download URL: evedesign-0.0.5-py3-none-any.whl
- Upload date:
- Size: 179.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d92ec01f77f1bc2fe82e61f4372d47cd9537d88e2d14b69eabe602408e75493
|
|
| MD5 |
71159ddeb40cb528503f8149a9ff4daf
|
|
| BLAKE2b-256 |
58635e19f14a3dc5a92526a03e7dc2316211c326b77eb1a7afd8b9edfab1b601
|