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  # 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


Download files

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

Source Distribution

nucleopt-1.0.0.tar.gz (49.8 kB view details)

Uploaded Source

Built Distribution

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

nucleopt-1.0.0-py3-none-any.whl (68.9 kB view details)

Uploaded Python 3

File details

Details for the file nucleopt-1.0.0.tar.gz.

File metadata

  • Download URL: nucleopt-1.0.0.tar.gz
  • Upload date:
  • Size: 49.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for nucleopt-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8d0b1c84a7f7fb0a4c6215b461d30d3bb69f7d454b07b3331d3eeb4d059122ab
MD5 2efa56e70b223fe88d5e8f2014e3f475
BLAKE2b-256 bd040c1660406d8185502fb758d4d133ce6f7de2604a4b8f919df14051bac0cb

See more details on using hashes here.

File details

Details for the file nucleopt-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: nucleopt-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 68.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for nucleopt-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 534034bb440383627e9c76e348720acd156cf49a30785dca9627257027890d11
MD5 9962811d787390992a7e24ed6847d212
BLAKE2b-256 58b1bfc9a03ab1a9d06f46ffba1c92537a336fcd0a483aadac4c91b95fa51e15

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