Abstract
In the field of RNA secondary structure prediction, MFE, SCFG and the homologous comparative sequence analysis are three kinds of classical computation analysis approaches. However, the parallel efficiency of many implementations on general-purpose computers are greatly limited by complicated data dependency and tight synchronization. Additionally, large scale parallel computers are too expensive to be used easily for many research institutes. Recently, FPGA chips provide a new approach to accelerate those algorithms by exploiting fine-grained custom design. We propose a unified parallelism schemes and logic circuit architecture for three classical algorithms—Zuker, RNAalifold and CYK, based on a systolic-like master-slave PE (Processing Element) array for fine-grained hardware implementation on FPGA. We partition tasks by columns and assign them to PEs for load balance. We exploit data reuse schemes to reduce the need to load matrix from external memory. The experimental results show a factor of 12–14× speedup over the three software versions running on a PC platform with AMD Phenom 9650 Quad CPU. The computational power of our prototype is comparable to a PC cluster consisting of 20 Intel-Xeon CPUs for RNA secondary structure prediction; however, the power consumption is only about 10% of the latter.
Similar content being viewed by others
References
Furtig B et al (2003) NMR spectroscopy of RNA. ChemBioChem 4:936–962
Gardner PP, Giegerich R (2004) A comprehensive comparison of comparative RNA structure prediction approaches. BMC Bioinform 5:140–157
Fang X, Luo Z, Wang Z (2008) Predicting RNA secondary structure using profile stochastic context-free grammars and phylogenic analysis. J Comput Sci Technol 23(4):582–589
Mathews DH (2006) Revolutions in RNA secondary structure prediction. J Mol Biol 359:526–532. doi:10.1016/j.jmb.2006.01.067
Zuker M, Stiegler P (1981) Optimal computer folding of large RNA sequences using thermodynamics and auxiliary information. Nucleic Acids Res 9:133–148
Zuker M (2003) Mfold web server for nucleic acid folding and hybridization prediction. Nucleic Acids Res 31:3406–3415
Hofacker I et al (1994) Fast folding and comparison of RNA secondary structures. Monatsh Chem 125:167–188
Ding Y, Lawrence C (2003) A statistical sampling algorithm for RNA secondary structure prediction. Nucleic Acids Res 31:7280–7301
Durbin R, Eddy SR, Krogh A, Mitchison GJ (1998) Biological sequence analysis: probabilistic models of proteins and nucleic acids. Cambridge University Press, Cambridge
Hofacker I, Fekete M, Stadler P (2002) Secondary structure prediction for aligned RNA sequences. J Mol Biol 319:1059–1066
Liu T, Schmidt B (2005) Parallel RNA secondary structure prediction using stochastic context-free grammars. Concurr Comput 17:1669–1685
Tan G, Feng S, Sun N (2006) An optimized and efficiently parallelized dynamic programming for RNA secondary structure prediction. J Softw 17(7):1501–1509
Tan G, Feng S, Sun N (2006) Locality and parallelism optimization for dynamic programming algorithm in bioinformatics. In: Proc ACM/IEEE international conference on supercomputing (SC’06), Tampa, Florida, Nov. 2006
Lyngs RB, Zuker M (1999) Fast evaluation of internal loops in RNA secondary structure prediction. Bioinformatics 15(6):440–445
Lyngs RB, Zuker M et al (1999) Internal loops in RNA secondary structure prediction. In: Proc ACM/IEEE international conference on computational molecular biology (RECOMB’99)
Tan G, Sun N, Gao GR (2007) A parallel dynamic programming algorithm on a multi-core architecture. In: Proc ACM international symposium on parallelism in algorithms and architectures (SPAA’07), pp 135–144
Hill JC, Wayne A (1991) A CYK approach to parsing in parallel: a case study. In: Technical symposium on computer science education. Proceedings of the twenty-second SIGCSE technical symposium on computer science education, San Antonio, Texas, United States
Tan G, Feng S, Sun N (2005) Exploiting parallelization for RNA secondary structure prediction in cluster. In: Proc of the 5th international conference on computational science (ICCS’05). Lecture notes in computer science, vol 3516, pp 979–982
Tan G, Xu L, Feng S, Sun N (2006) An experimental study of optimizing bioinformatics applications. In: Proc international conference on parallel and distributed processing symposium. Phodes Island, Greece, pp 25–29
Yang X, Du J, Yan X, Deng Y (2009) Matrix-based streamization approach for improving locality and parallelism on FT64 stream processor. J Supercomput 47(2):171–197
Jacob A, Buhler J et al (2008) Accelerating Nussinov RNA secondary structure prediction with systolic arrays on FPGAs. In: Proc IEEE international conference on application-specific systems, architectures and processors (ASAP’08), pp 191–196
Nussinov R, Pieczenik G, Griggs JR, Kleitman D (1978) Algorithms for loop matchings. SIAM J Appl Math 35:68–82
Ciressan C, Sanchez E, Rajman M, Chappelier JC (2000) An FPGA-based coprocessor for the parsing of context-free grammars. In: Proc symposium on field-programmable custom computing machines (FCCM’2000), pp 236–245
Ciressan C, Sanchez E, Rajman M, Chappelier JC (2001) An FPGA-based syntactic parser for real-life almost unrestricted context-free grammars. In: Proc IEEE international conference on field programmable logic and application. Lecture notes in computer science, vol 2147, pp 590–594
Washietl S, Hofacker IL (2004) Consensus folding of aligned sequences as a new measure for the detection of functional RNAs by comparative genomics. J Mol Biol 342:19–30
Eddy SR, Durbin R (1994) RNA sequence analysis using covariance models. Nucleic Acids Res 22(11):2079–2088
Eddy SR (2002) A memory-efficient dynamic programming algorithm for optimal alignment of a sequence to an RNA secondary structure. BMC Bioinform 3(18)
Lari K, Young S (1991) Applications of stochastic context-free grammars using the inside-outside algorithm. Comput Speech Lang 5:237–257
Vienna RNA folding package (2008) Available from: http://rna.tbi.univie.ac.at. Accessed 28 January 2010
Nawrocki EP, Kolbe DL Eddy SR (2009) Infernal 1.0: inference of RNA alignments. Bioinformatics 25(10):1335–1337
General-purpose micro-processor power dissipation statistic (2009) Available from: http://en.wikipedia.org/wiki/List_of_CPU power dissipation. Accessed 28 January 2010
Moscola J, Cytron R, Cho YH (2010) Hardware-accelerated RNA secondary-structure alignment. ACM Trans Reconfigurable Technol Syst 3(3):14
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Xia, F., Dou, Y. & Jin, G. The unified accelerator architecture for RNA secondary structure prediction on FPGA. J Supercomput 61, 826–855 (2012). https://doi.org/10.1007/s11227-011-0637-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-011-0637-x