Abstract
We propose a new parallelization scheme for the hmmsearch function of the HMMER software, in order to target FPGA technology. hmmsearch is a very compute intensive software for biological sequence alignment, based on profile hidden Markov models. We derive a flexible, generic, scalable hardware parallel architecture which can accelerate the core of hmmsearch by nearly two orders of magnitude, without modifying the original algorithm of this software. Our derivation is based on the expression of the algorithm as a set of recurrence equations, and we show in a systematic way how a very efficient parallel version of the algorithm can be found by combining scheduling, projection, partitioning, pipelining and precision analysis. We present the performance of the implementation of this parallel algorithm on a FPGA platform.
Similar content being viewed by others
References
Altschul, S., Madden, T., Schffer, A., Zhang, J., Zhang, Z., Miller, W., et al. (1997). Gapped BLAST and PSI-BLAST: A new generation of protein database search programs. Nucleic Acids Research, 25, 3899–3402.
Bateman, A., Birney, E., Cerruti, L., Durbin, R., Etwiller, L., Eddy, S.R., et al. (2002). The Pfam protein families database. Nucleic Acids Research, 30(1), 276–280.
Darte, A., Schreiber, R., Rau, B. R., Vivien, F. (2002). Constructing and exploiting linear schedules with prescribed parallelism. ACM Transactions on Design Automation of Electronic Systems, 7(1), 159–172.
Derrien, S., Rajopadhye, S., Sur-Kolay, S. (2001). Combining instruction and loop level parallelism for array synthesis on FPGAs. In International symposium on system synthesis (ISSS’01), Montral.
Eddy, S. (2004). Sequence analysis using profile hidden Markov models. Technical report, Washington University at Saint Louis.
Feautrier, P. (1992). Some efficient solutions to the affine scheduling problem. Part II. Multidimensional time. International Journal of Parallel Programming, 21(6), 389–420.
Guillou, A.C., Quinton, P., Risset, T. (2003). Hardware synthesis for multi-dimensional time. In 14th IEEE international conference on application-specific systems, architectures and processors (ASAP’03).
Guyetant, S., Giraud, M., L’Hours, L., Derrien, S., Rubini, S., Lavenier, D., et al. (2005). Cluster of re-configurable nodes for scanning large genomic banks. Parallel Computing, 31(1), 73–96.
Horn, D.R., Houston, M., Hanrahan, P. (2005). Claw HMMER: A streaming HMMer-search implementation. In SC’05 : Proceedings of the 2005 ACM/IEEE conference on supercomputing.
Krogh, A., Brown, M., Mian, I. S., Sjölander, K., Haussler, D. (1994). Hidden markov models in computational biology: Applications to protein modeling. Journal Molecular Biology, 235, 1501–1531.
Lavenier, D., Georges, G., Liu, X. (2007). A reconfigurable index FLASH memory tailored to seed-based genomic sequence comparison algorithms. Journal of VLSI Signal Processing System, 48(3), 255–269.
Lindahl, E. (2005). HMMer altivec implementation. http://lindahl.sbc.su.se/software/altivec/altivec-hmmer,-version-2.html.
Maddimsetty, R.P., Buhler, J., Chamberlain, R.D., Franklin, M.A., Harris, B. (2006). Accelerator design for protein sequence HMM search’. In Proceedings of the ACM international conference on supercomputing. Cairns, Australia: ACM.
Moldovan, D. I., & Fortes, J. A. B. (1986). Partitioning and mapping algorithms into fixed size systolic arrays. IEEE Transactons on Computers, 35(1), 1–12.
Oliver, T., Schmidt, B., Jakop, Y., Maskell, D.L. (2006). Accelerating the viterbi algorithm for profile hidden markov models using reconfigurable hardware. In International conference on computational science.
Oliver, T., Schmidt, B., Maskell, D. (2005a). Hyper customized processors for bio-sequence database scanning on FPGAs. In FPGA ’05: Proceedings of the 2005 ACM/SIGDA 13th international symposium on Field-programmable gate arrays (pp. 229–237). New York, NY, USA: ACM.
Oliver, T., Schmidt, B., Nathan, D., Clemens, R., Maskell, D. (2005b). Using reconfigurable hardware to accelerate multiple sequence alignment with ClustalW. Bioinformatics, 21(16), 3431–3432.
Oliver, T., Yeow, L. Y., Schmidt, B. (2007). High performance database searching with HMMer on FPGAs. In HiCOMB 2007, sixth IEEE international workshop on high performance computational biology.
Quinton, P. (1984). Automatic synthesis of systolic arrays from recurrent uniform equations. In International conference on computer architecture.
Walters, J.P., Qudah, B., Chaudhary, V. (2006). Accelerating the HMMER sequence analysis suite using conventional processors. In AINA ’06: Proceedings of the 20th international conference on advanced information networking and applications—Volume 1 (AINA’06).
Wun, B., Buhler, J., Crowley, P. (2005). Exploiting coarse-grained parallelism to accelerate protein motif finding with a network processor. In PACT ’05: Proceedings of the 14th international conference on parallel architectures and compilation techniques.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
Rights and permissions
About this article
Cite this article
Derrien, S., Quinton, P. Hardware Acceleration of HMMER on FPGAs. J Sign Process Syst Sign Image Video Technol 58, 53–67 (2010). https://doi.org/10.1007/s11265-008-0262-y
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11265-008-0262-y