/RNAInvBench

Pipeline for interacting with and implementing algorithms to solve the RNA Design problem.

Primary LanguageCMIT LicenseMIT

RNAInvBench: Benchmark for the RNA Inverse Design Problem

RNAInvBench is a Python framework that provides an environment, data, and baseline algorithms for training/testing of the RNA Inverse Design Problem. The package contains the following algorithms:

  • antaRNA
  • aRNAque
  • IncaRNAtion
  • LEARNA
  • Meta-LEARNA
  • Meta-LEARNA-Adapt
  • RNAInverse
  • SAMFEO
  • SentRNA

This package has been set-out for solving for sequences that are pseudoknot-free and contain pseudoknots. We use the pKiss package for our folding engine on all pseudoknot related tasks, and we use ViennaRNA 2 for our folding engine on all pseudoknot-free related tasks.

The package contains the following datasets to be used for training and testing:

  • Eterna100-v1
  • Eterna100-v2
  • Pseudobase++
  • Rfam-Learn-Test
  • Rfam-Learn-Train
  • Rfam-Taneda
  • Rfam-Test
  • RNA-strand

The package contains dockerfiles for each environment that is required to use the algorithms. Please make use of these when using the package!

We provide example code to run the algorithms, each example run uses the following naming convention: [algorithm_name]_run.py

Installation Instructions

1. Install RNAInvBench source files.

2. Install docker (if not done so already).

3. Navigate to the project directory.

4. Run docker-compose up --build -d to build the docker container.

Once the docker-container has been fully built, you should see a new container in your docker application. You can then use the following commands to run the example main.py scripts provided:

NOTE: RL represents the particular docker container to use, you will need to choose between rl, optim and antarna.

NOTE2: rnainvbench-main-rl-1 represents the name of the RL docker container, your name may differ - you should check the docker application for your own unique name.

docker exec -it $(docker-compose ps -q rl) rnainvbench-main-rl-1 python /app/rl_design_algos/main.py