Skip to main content
Log in

Hardware Acceleration of HMMER on FPGAs

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12

Similar content being viewed by others

References

  1. 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.

    Article  Google Scholar 

  2. 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.

    Article  Google Scholar 

  3. 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.

    Article  Google Scholar 

  4. 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.

  5. Eddy, S. (2004). Sequence analysis using profile hidden Markov models. Technical report, Washington University at Saint Louis.

  6. Feautrier, P. (1992). Some efficient solutions to the affine scheduling problem. Part II. Multidimensional time. International Journal of Parallel Programming, 21(6), 389–420.

    Article  MATH  MathSciNet  Google Scholar 

  7. 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).

  8. 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.

    Article  Google Scholar 

  9. 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.

  10. 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.

    Article  Google Scholar 

  11. 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.

    Article  Google Scholar 

  12. Lindahl, E. (2005). HMMer altivec implementation. http://lindahl.sbc.su.se/software/altivec/altivec-hmmer,-version-2.html.

  13. 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.

    Google Scholar 

  14. 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.

    Article  MATH  Google Scholar 

  15. 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.

  16. 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.

    Chapter  Google Scholar 

  17. 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.

    Article  Google Scholar 

  18. 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.

  19. Quinton, P. (1984). Automatic synthesis of systolic arrays from recurrent uniform equations. In International conference on computer architecture.

  20. 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).

  21. 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.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Steven Derrien.

Appendix

Appendix

Table 6 System of Uniform Recurrent Equations (SURE) for the P7Viterbi  loop nest. M max is the maximum HMM model size, M is the size of the HMM model at hand, and L is the sequence length. \(\mathcal{D}\) is the domain \(\left\{(i,k)\: | \: 1 \!\leq\! i \!\leq\! L,\: 1 \!\leq\! k \!\leq\! M \right\}\).
Table 7 Original source code for P7Viterbi routine.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-008-0262-y

Keywords

Navigation