Skip to main content

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:

  1. Reproducing the results from our paper.
  2. Running the NucleoBench sequence designers on custom problems.
  3. 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

Summary of results.

Installation from PyPi

pip install nucleobench

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/python 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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nucleobench-0.1.5.tar.gz (109.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nucleobench-0.1.5-py3-none-any.whl (138.6 kB view details)

Uploaded Python 3

File details

Details for the file nucleobench-0.1.5.tar.gz.

File metadata

  • Download URL: nucleobench-0.1.5.tar.gz
  • Upload date:
  • Size: 109.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for nucleobench-0.1.5.tar.gz
Algorithm Hash digest
SHA256 d340330b221b6df2ad58b2689059ab7de5c419f3109b67b9b0d0143e176388c2
MD5 cb667e671e221f85b89b46a1ecef0dbd
BLAKE2b-256 49b59df3f62dace1968dda6347f953dcd1090e8f7b18be42c530cf1d909c04e5

See more details on using hashes here.

File details

Details for the file nucleobench-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: nucleobench-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 138.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.15

File hashes

Hashes for nucleobench-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 709e9f48e3d1e5fcf08552b9c76e69cb1d8a2742b9f590e3ea2b15c42f1487a0
MD5 9db71d98bf0460854012f7d6a010ca85
BLAKE2b-256 e803dc675f765e088f761bbc4014e49c1f5dfd5756d294d5a0ed6cbcd0100e1f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page