energy landscapes and folding kinetics of nucleic acids
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore no need for autogenerated files in gitignore Jun 1, 2017


energy landscapes and folding kinetics of nucleic acids

ribolands is a package to compute folding kinetics on dynamic or bimolecular energy landscapes. It provides wrapper functions for the programs RNAsubopt, barriers and treekin, which have to installed separately. See below for an example workflow.

Two scripts for cotranscriptional folding are part of ribolands:

  • DrTransformer: Short for "DNA-to-RNA Transformer", the program computes cotranscriptional folding of larger RNAs by generating a heuristic energy landscape at every transcription step. DrTransformer uses the ViennaRNA package to calculate transition rates and treekin to simulate folding kinetics.

    echo "CUGCGGCUUUGGCUCUAGCC" | --visualize pdf
  • BarMap: folding kinetics on dynamic energy landscapes. For each sequence length, the coarse-grained barriers landscape is computed. During kinetic simulations, a mapping between subsequent landscapes is used to transfer occupancy from one landscape to the next. This is mostly a reimplementation of BarMap by Hofacker et al. (2010), but it makes use of more recent functionality of barriers and treekin.

    echo "CUGCGGCUUUGGCUCUAGCC" | --pyplot

ViennaRNA dependencies

ribolands uses RNAsubopt from the ViennaRNA package, barriers and treekin for landscape computations. Make sure that you have the latest versions installed, i.e. treekin-v0.4.1, barriers-v1.6 and, recommended, ViennaRNA-v2.2 or later.

Python dependencies


>>> from ribolands import sys_subopt_range, sys_suboptimals, sys_barriers, sys_treekin

>>> [name, seq] = ['test', 'ACUGAGGUCGAU']

>>> ener, nos = sys_subopt_range(seq, nos=100000)
>>> sfile = sys_suboptimals(name, seq, ener=ener)
>>> [sfile, bfile, efile, rfile, psfile] = sys_barriers(name, seq, sfile, maxn=50, minh=1.0, rates=True)
>>> [tfile, efile] = sys_treekin(name, seq, bfile, rfile, p0=['2=1'], t0=1e-6, t8=1e10)


If you are using BarMap or DrTransformer please cite:


  python install



Development / Unittests

python test

Build the documentation

sphinx-build -b html docs ~/your/html/sourcedir/