Sparse RNA Folding: Time and Space Efficient Algorithms

  • Authors:
  • Rolf Backofen;Dekel Tsur;Shay Zakov;Michal Ziv-Ukelson

  • Affiliations:
  • Albert Ludwigs University, Freiburg, Germany;Department of Computer Science, Ben-Gurion University of the Negev, Israel;Department of Computer Science, Ben-Gurion University of the Negev, Israel;Department of Computer Science, Ben-Gurion University of the Negev, Israel

  • Venue:
  • CPM '09 Proceedings of the 20th Annual Symposium on Combinatorial Pattern Matching
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The classical algorithm for RNA single strand folding requires O (n Z ) time and O (n 2) space, where n denotes the length of the input sequence and Z is a sparsity parameter that satisfies n ≤ Z ≤ n 2. We show how to reduce the space complexity of this algorithm. The space reduction is based on the observation that some solutions for subproblems are not examined after a certain stage of the algorithm, and may be discarded from memory. This yields an O (nZ ) time and O (Z ) space algorithm, that outputs both the cardinality of the optimal folding as well as a corresponding secondary structure. The space-efficient approach also extends to the related RNA simultaneous alignment with folding problem, and can be applied to reduce the space complexity of the fastest algorithm for this problem from O (n 2 m 2) down to $O(nm^2 + \tilde{Z})$, where n and m denote the lengths of the input sequences to be aligned, and $\tilde{Z}$ is a sparsity parameter that satisfies n m ≤ $\tilde{Z}$ ≤ n 2 m 2. In addition, we also show how to speed up the base-pairing maximization variant of RNA single strand folding. The speed up is achieved by combining two independent existing techniques, which restrict the number of expressions that need to be examined in bottleneck computations of these algorithms. This yields an O (LZ ) time and O (Z ) space algorithm, where L denotes the maximum cardinality of a folding of the input sequence. Additional online supporting material may be found at: http://www.cs.bgu.ac.il/zakovs/RNAfold/CPM09_supporting_material.pdf