Skip to content

TheCOBRALab/Knotergy

Repository files navigation

Knotergy: Pseudoknotted RNA Secondary Structure Energy Evaluator

Compute Gibbs free energy for RNA secondary structures, including pseudoknots

GitHub release

Knotergy is a C++ bioinformatics tool for calculating the Gibbs free energy (ΔG) of RNA secondary structures, including pseudoknots.
It uses the ViennaRNA library for non-pseudoknotted calculations.

System Requirements

Supported Operating Systems

  • Linux (64-bit)
  • macOS (64-bit)

Software Requirements

  • CMake ≥ 3.15
  • ViennaRNA = 2.7.0

1. Install ViennaRNA

Knotergy requires ViennaRNA to compile and run.

  1. Download ViennaRNA 2.7.0:

    curl -L -O https://github.com/ViennaRNA/ViennaRNA/releases/download/v2.7.0/ViennaRNA-2.7.0.tar.gz
  2. Install:

    tar -zxvf ViennaRNA-2.7.0.tar.gz
    cd ViennaRNA-2.7.0
    ./configure --without-perl
    sudo make -j$(nproc)              # Linux
    sudo make -j$(sysctl -n hw.ncpu)  # macOS
    sudo make install

Common Installation Issues

  • No admin access:

    mkdir -p ~/local
    ./configure --without-perl --prefix=$HOME/local
    make -j$(nproc)              # Linux
    make -j$(sysctl -n hw.ncpu)  # macOS
    make install
  • Template error on some compilers (dlib fix):

    sed -i.bak 's/::template go(/::template go<>(/' src/dlib-19.24/dlib/global_optimization/find_max_global.h

For full details, see the ViennaRNA GitHub repo.


2. Install CMake

Knotergy requires CMake ≥ 3.15.

Check your current version:

cmake --version

Linux:

sudo apt update
sudo apt install cmake

macOS:

Install Homebrew first, then:

brew install cmake

3. Install Knotergy

Clone the repository

git clone https://github.com/TheCOBRALab/Knotergy.git
cd Knotergy

Alternatively, download the zip:

curl -L -O https://github.com/TheCOBRALab/Knotergy/archive/refs/heads/main.zip
unzip main.zip
cd Knotergy-main

Build

cmake -S . -B build
cmake --build build --parallel

Debug build:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build --parallel

4. Usage

./build/Knotergy [flags]

Run --help for available options:

./build/Knotergy --help