Metadata-Version: 2.4
Name: evedesign
Version: 0.0.3
Project-URL: Documentation, https://github.com/evedesignbio/evedesign#readme
Project-URL: Issues, https://github.com/evedesignbio/evedesign/issues
Project-URL: Source, https://github.com/evedesignbio/evedesign
Author-email: Thomas Hopf <thomas.hopf@gmail.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.12
Requires-Dist: biopython
Requires-Dist: biotite
Requires-Dist: dnachisel
Requires-Dist: loguru
Requires-Dist: numba
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: scikit-learn
Requires-Dist: scipy
Requires-Dist: torch
Provides-Extra: esm2
Requires-Dist: transformers; extra == 'esm2'
Provides-Extra: evmutation2
Requires-Dist: evmutation2; extra == 'evmutation2'
Provides-Extra: mpnn
Requires-Dist: prody; extra == 'mpnn'
Provides-Extra: umap
Requires-Dist: umap-learn; extra == 'umap'
Description-Content-Type: text/markdown

# evedesign: unified framework for accessible biosequence design

[![PyPI - Version](https://img.shields.io/pypi/v/evedesign.svg)](https://pypi.org/project/evedesign)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/evedesign.svg)](https://pypi.org/project/evedesign)

-----

## 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](https://github.com/evedesignbio/evedesign-server) for automated pipeline execution
from declarative design specifications and the REST API, as well as [evedesign-ui](https://github.com/evedesignbio/evedesign-ui)
for the interactive user interface. 

## Reference

Our preprint describing the core concepts behind the evedesign framework will be posted here shortly.

## 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.
```
pip install evedesign[evmutation2,esm2,mpnn,umap] 
```

## Getting started

Please refer to some of our [examples](examples) how to use *evedesign*. We are planning to extend these further in the near future.

To implement your own models in the framework, please have a look at our existing reference implementations 
(e.g. [EVmutation2](src/evedesign/models/evmutation2.py), [ESM-2](src/evedesign/models/esm2.py), 
[ProteinMPNN](src/evedesign/models/mpnn.py), [Gibbs sampler](src/evedesign/samplers/gibbs.py)) as well as
the underlying [model interfaces](src/evedesign/model.py) and
[description of molecular systems and instances](src/evedesign/system.py).

We are happy to help if you have any questions!

## 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](mailto:hello@evedesign.bio).
