A parallel algorithm for generation of RNA secondary structures with length n and k base-pairs

RNA secondary structures are important in many biological processes since there is a close relationship between structure and function in biology. There is a known bijection between the possible shapes of a single-stranded RNA molecule of fixed length and trees with n nodes and m leaves, $$\mathcal {T}(n, m)$$T(n,m). In this article, we present a sequential algorithm for generating such trees in A-order. The worst case time complexity of the presented algorithm is O(n). We also develop a parallel version of the algorithm which is both cost-optimal and adaptive. We use Exclusive Read Exclusive Write Shared Memory Single Instruction Multiple Data multi-processor architecture. Moreover, the generated trees are in A-order.

[1]  Wladyslaw Skarbek Generating Ordered Trees , 1988, Theor. Comput. Sci..

[2]  Frank Ruskey,et al.  Generating Binary Trees Lexicographically , 1977, SIAM J. Comput..

[3]  Tadao Takaoka O(1) Time Algorithms for Combinatorial Generation by Tree Traversal , 1999, Comput. J..

[4]  Shmuel Zaks,et al.  Generating Trees and Other Combinatorial Objects Lexicographically , 1979, SIAM J. Comput..

[5]  Shmuel Zaks,et al.  Lexicographic Generation of Ordered Trees , 1980, Theor. Comput. Sci..

[6]  Jean Marcel Pallo,et al.  A note on generating binary trees in A-order and B-order , 1985 .

[7]  W Y Chen,et al.  A general bijective algorithm for trees. , 1990, Proceedings of the National Academy of Sciences of the United States of America.

[8]  Jean Marcel Pallo,et al.  Parallel Algorithms for Listing Well-Formed Parentheses Strings , 1998, Parallel Process. Lett..

[9]  Toufik Mansour,et al.  Staircase tilings and k-Catalan structures , 2008, Discret. Math..

[10]  Adam Kapralski New Methods for the Generation of Permutations, Combinations, and Other Combinatorial Objects in Parallel , 1993, J. Parallel Distributed Comput..

[11]  Abbas Nowzari-Dalini,et al.  A new algorithm for generation of different types of RNA , 2010, Int. J. Comput. Math..

[12]  Helmut Prodinger A correspondence between ordered trees and noncrossing partitions , 1983, Discret. Math..

[13]  Jean Marcel Pallo,et al.  Generating trees with n nodes and m leaves , 1987 .

[14]  Michael S. Waterman,et al.  Introduction to computational biology , 1995 .

[15]  S.G. Akl,et al.  An Optimal Systolic Algorithm for Generating Permutations in Lexicographic Order , 1994, J. Parallel Distributed Comput..

[16]  Selim G. Akl,et al.  Generating Regular k-ary Trees Efficiently , 2000, Comput. J..

[17]  S. Akl,et al.  Generating t-ary Trees in Parallel , 1996, Nord. J. Comput..

[18]  Jou-Ming Chang,et al.  Loopless Generation of Non-regular Trees with a Prescribed Branching Sequence , 2010, Comput. J..

[19]  Nachum Dershowitz,et al.  Enumerations of ordered trees , 1980, Discret. Math..

[20]  Ivan Stojmenovic,et al.  Fast algorithms for genegrating integer partitions , 1998, Int. J. Comput. Math..

[22]  Jou-Ming Chang,et al.  Ranking and Unranking t-ary Trees in a Gray-Code Order , 2013, Comput. J..

[23]  Ivan Stojmenovic,et al.  Listing combinatorial objects in parallel , 2006, Int. J. Parallel Emergent Distributed Syst..

[24]  Frank Ruskey,et al.  A CAT algorithm for generating permutations with a fixed number of inversions , 2003, Inf. Process. Lett..

[25]  Abbas Nowzari-Dalini,et al.  Ranking and unranking algorithms for loopless generation of t-ary trees , 2011, Log. J. IGPL.

[26]  James F. Kors A-order generation of k-ary trees with a 4k–4 letter alphabet , 1995 .

[27]  Frank Ruskey,et al.  The coolest way to generate combinations , 2009, Discret. Math..

[28]  Brendan D. McKay,et al.  Constant Time Generation of Free Trees , 1986, SIAM J. Comput..

[29]  Frank Ruskey,et al.  Generating t-ary Trees in A-Order , 1988, Inf. Process. Lett..

[30]  Michael S. Waterman,et al.  Linear Trees and RNA Secondary Structure , 1994, Discret. Appl. Math..

[31]  A simple algorithm for generating neuronal dendritic trees. , 1990, Computer methods and programs in biomedicine.

[32]  A. Nijenhuis Combinatorial algorithms , 1975 .

[33]  Joe Sawada Generating rooted and free plane trees , 2006, TALG.

[34]  Jou-Ming Chang,et al.  Ranking and unranking of non-regular trees with a prescribed branching sequence , 2011, Math. Comput. Model..

[35]  Shmuel Zaks,et al.  Generation and Ranking of k-ary Trees , 1982, Inf. Process. Lett..

[36]  M. C. Er Efficient Generation of k-ary Trees in Natural Order (Short Note) , 1992, Comput. J..

[37]  Abbas Nowzari-Dalini,et al.  Parallel Generation of t-Ary Trees in A-order , 2007, Comput. J..

[38]  Ivan Stojmenovic,et al.  An Optimal Parallel Algorithm for Generating Combinations , 1989, Inf. Process. Lett..