RNAFold- RNA secondary structure prediction




ViennaRNA folding based on an algebraic ring structure. This should combine the goals of few lines of codes, multiple different folding functions and extensibility.

NOTE Assume that you want '-d 3' for folding with dangles. Then you can just instanciate the folding functions, replacing only those functions where the folding changes based on the new dangle options.

NOTE compile with: -fno-method-sharing



type ResultTables a = (Table a, Table a, Table a, Table a, Table a)Source

Folding works on unboxed values of a Ring-type for which a FoldFunctions instance does exist. By default, we have this for Energy values. Again, we use a class as we could be interested in probabilistic backtracking or something like that.

type Pairlist = [(Int, Int)]Source

Helper functions