MyNixOS website logo
Description

RNA secondary structure prediction.

RNAfold v2 using the ADPfusion library. The RNAfold algorithm is used to determine how fast we can be compared to a highly optimized C program.

Please use GHC 7.6 or newer.

NOTE I'd like to rename this package to RNAfold, like the C implementation. Do not install "globally", especially if you normally use RNAfold from the ViennaRNA package, for obvious reasons.

ViennaRNA RNAfold v2, MFE variant using the ADPfusion library

Introduction

This algorithm is the second, and much larger, test case for ADPfusion. We implement "RNAfold v2" in the MFE variant using "-d2" dangles. Both a library version and an executable are created. The "RNAFold" binary expects single sequences, one per line. Backtracking tracks all co-optimal structures.

Installation

A simple "cabal update && cabal-dev install RNAFold" should be enough.

Runtime notes

Using Haskell and ADPfusion, we come to within x3-x4 for this package. Between the initial test case / submission (in 0.0.0.3) I have traded in some performance improvements for much better readability in BioInf.RNAfold.Energy. The C version of RNAfold employs some other methods to improve performance. Consider:

base -~+ inner-1 +~- base base -~+ inner-2 +~- base

where it is advantageous to calculate the outer basepair only once, not twice as we are doing. It is probably better to try to improve the handling of fusioned code and/or final assembler generation than finding calculations common to different parts of CFG's.

Metadata

Version

1.99.3.4

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows