Authors:
Ronny Lorenz
1
;
Christoph Flamm
1
;
Ivo L. Hofacker
1
;
2
and
Peter F. Stadler
1
;
3
;
4
;
5
;
6
Affiliations:
1
Institute for Theoretical Chemistry, University of Vienna, Währingerstraße 17, A-1090 Wien, Austria
;
2
Bioinformatics and Computational Biology, Faculty of Computer Science, University of Vienna, Währingerstraße 29, A-1090 Wien, Austria
;
3
Bioinformatics Group, Department of Computer Science, Interdisciplinary Center for Bioinformatics, and Competence Center for Scalable Data Services and Solutions Dresden/Leipzig, Universität Leipzig Härtelstraße 16-18, D-04107 Leipzig, Germany
;
4
Max Planck Institute for Mathematics in the Sciences, Inselstraße 22, D-04103 Leipzig, Germany
;
5
Facultad de Ciencias, Universidad National de Colombia, Sede Bogotá, Colombia
;
6
Santa Fe Institute, 1399 Hyde Park Road, Santa Fe NM 87501, U.S.A.
Keyword(s):
RNA Folding, Interacting RNAs, Partition Function, Outside Recursion, Cubic-time Algorithm.
Abstract:
RNA folding algorithms, including McCaskill’s partition function algorithm for computing base pairing probabilities, can be extended to N ≥ 2 interacting strands by considering all permutations π of the N strands. For
each π, the inside dynamic programming recursion for connected structures needs to be extended by only a
single extra case corresponding to a base pair connecting exactly two connected substructures. This leaves
the cubic running time unchanged. A straightforward implementation of the corresponding outside recursion, however results in a quartic algorithm. We show here how cubic running time asymptotically equal
to McCaskill’s partition function algorithm can be achieved by introducing linear-size auxiliary arrays. The
algorithm is implemented within the framework of the ViennaRNA package and conforms to the theoretical
performance bounds.