Optimizers from the nucleobench package.
Project description
NucleoBench
This is the initial repo for an upcoming paper, NucleoBench: A Large-Scale Benchmark of Neural Nucleic Acid Design Algorithms.
This repo is covered by the Apache-2.0 license.
This repo is intended to be used in a few ways:
- Reproducing the results from our paper.
- Running the NucleoBench sequence designers on custom problems.
- Using our new designer, AdaBeam, on a custom problem.
To do these, you can clone this repo, use the Docker image (for the benchmark), or use the PyPi package for our designers.
Results
Installation from PyPi
pip install nucleobench # optimizers and tasks
pip install nucleopt # smaller, faster install for just optimizers
Then you can use it in python:
from nucleobench import optimizations
opt = optimizations.get_optimization('beam_search_unordered') # Any optimizer name.
Installation & testing from GitHub
# Clone the repo.
git clone https://github.com/move37-labs/nucleobench.git
cd nucleobench
# Create and activate the conda environment.
conda env create -f environment.yml
conda activate nucleobench
# Run all the unittests.
pytest nucleobench/
You can also run the integration tests, which require an internet connection:
pytest docker_entrypoint_test.py
Running NucleoBench from PyPi or Docker
See the recipes/colab folder for examples of how to run the designers with PyPi.
See the recipes/docker folder for examples of how to run the designers with Docker.
See the recipes/python folder for examples of how to run the designers with the cloned github repo.
Building a Docker image
To help deploy NucleoBench to the cloud, we've created a docker container. To build it yourself, see the top of Dockerfile for instructions. One way of creating a docker file is:
docker build -t nucleobench -f Dockerfile .
Project details
Release history Release notifications | RSS feed
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 nucleopt-1.0.1.tar.gz.
File metadata
- Download URL: nucleopt-1.0.1.tar.gz
- Upload date:
- Size: 52.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c43fe2c724f86c35d23525f32bc5475b68007d28b1a61baa8bacb5b206a8a747
|
|
| MD5 |
cc542d2d7a1944da3df3c1d0a6806c85
|
|
| BLAKE2b-256 |
12056e24af53baf615fd4d44a1908662ea1bb69fec12fd949973a1e20babccc9
|
File details
Details for the file nucleopt-1.0.1-py3-none-any.whl.
File metadata
- Download URL: nucleopt-1.0.1-py3-none-any.whl
- Upload date:
- Size: 73.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad3e3540946c30ad515870cad569af4895c614e722e6751ce964e724692f3ef0
|
|
| MD5 |
2e3b1f320999b1330f51697411ccacd9
|
|
| BLAKE2b-256 |
d0953d8f43b75d660c29e9f15f8aacb20129cc88ebc1ba43b5273637a6c16231
|