Skip to main content

Table 2 Table listing pseudoknot classes, corresponding treewidth and resulting complexity of the folding algorithm

From: Automated design of dynamic programming schemes for RNA folding with pseudoknots

   

Complexities

Type

Fatgraph

Treewidth

Full Turner

All others

H-type

([)]

4

\(O\left( n^{5}\right)\)

\(O\left( n^4\right)\)(*)

Kissing hairpins

([)(])

4

\(O\left( n^5\right)\)

\(O\left( n^4\right)\)

“L” [12]

([{)]}

5

\(O\left( n^{6}\right)\)

\(O\left( n^6\right)\)

“M” [12]

([{)(]})

5

\(O\left( n^{6}\right)\)

\(O\left( n^6\right)\)

4-clique

([{<)]}>

5

\(O\left( n^{6}\right)\)

\(O\left( n^6\right)\)

5-clique

([{<A)]}>a

5

\(O\left( n^6\right)\)

\(O\left( n^6\right)\)

5-chain

({[)(][)}]

6

\(O\left( n^{7}\right)\)

\(O\left( n^{7}\right)\)

  1. For H-type pseudoknots beneath the Turner model, marked as (*), an iterated computation over canonical tree decompositions is required to achieve the complexity (see Theorem 5). For the H-type and kissing hairpins cases, we are in the specific case where the most complex routine is the alignment of a “clique case” helix, which is done in \(O(n^4)\) despite a treewidth of 4. These examples are detailed in the Appendix, Fig. 10. The DP equations for each of these examples have been automatically generated by a Python implementation of our pipeline, freely available at https://gitlab.inria.fr/bmarchan/auto-dp