ARC 2008: Reconfigurable Computing: Architectures, Tools and Applications pp 39-50 | Cite as
Hardware BLAST Algorithms with Multi-seeds Detection and Parallel Extension
Abstract
As one of the most widely used bio-sequence searching tools, BLAST adopts index-based approach to detect the matches between two substrings by looking up a large table and processing one match per query. In this paper, we propose a systolic array approach to detect string matches without using looking up tables. The pipelining systolic array is implemented as a multi-seeds detection and parallel extension pipeline engine to accelerate the first two stages of NCBI BLAST algorithm. Different from the index-based approach, our implementation consumes little memory resources and eliminates redundant string extensions by merging multiple adjoin seeds into a valid seed. Our FPGA implementation achieves superior performance results in both of processing element number and clock frequency over related works in the area of FPGA BLAST accelerators. The experimental results also show the speedup can reach about 17 and 48 compared to the NCBI BLASTp and TBLASTn programs for 3072-residue queries on Intel P4 CPU, respectively. Furthermore, the idea of multi-seeds detection also can be adopted in other seed-based heuristic searching applications.
Keywords
Systolic Array Array Size FPGA Implementation Amino Acid Pair Subject SequencePreview
Unable to display preview. Download preview PDF.
References
- 1.Altschul, S.F., Gish, W., et al.: Basic local alignment search tool. Molecular Biology, 403–410 (1990)Google Scholar
- 2.NCBI, GenBank Growth Statistics (2006), http://www.ncbi.nlm.nih.gov/Genbank/genbankstats.html
- 3.Buhler, J.D., Lancaster, J.M., et al.: Mercury BLASTN: Faster DNA Sequence Comparison Using a Streaming Hardware Architecture. In: Proc. 3rd Annual Reconfigurable Systems Summer Institute (2007)Google Scholar
- 4.Krishnanurthy, P., Buhler, J., et al.: Biosequence Similarity search on the Mercury system. In: Proc. 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors, pp. 365–375 (2004)Google Scholar
- 5.Lancaster, J., Buhler, J., et al.: Acceleration of Ungapped Extension in Mercury BLAST. In: Proc. 7th Workshop on Media and Streaming Processors, pp. 50–57 (2005)Google Scholar
- 6.Herbordt, M.C., Model, J., et al.: Single Pass, BLAST-Like, Approximate String Matching on FPGAs. In: Proc. 14th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp. 217–226 (2006)Google Scholar
- 7.Jacob, A., Lancaster, J., et al.: FPGA-accelerated seed generation in Mercury BLASTp. In: Proc. 15th Annual IEEE Symposium on Field-Programmable Custom Computing Machines, pp. 95–106 (2007)Google Scholar
- 8.Muriki, K., Underwood, K.D., et al.: RC-BLAST: Towards a Portable, Cost-Effective Open Source Hardware Implementation. In: Proc. 19th IEEE International Parallel and Distributed Processing Symposium (2005)Google Scholar
- 9.Lavenier, D., Xinchun, L., Georges, G.: Seed-based Genomic Sequence Comparison using a FPGA/FLASH Accelerator. In: IEEE International Conference on Field Programmable Technology, pp. 41–48 (2006)Google Scholar
- 10.Sotiriades, E., Dollas, A.: Design Space Exploration for the BAST Algorithm Implementation. In: Proc. 15th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (2007)Google Scholar
- 11.Sotiriades, E., Kozanitis, C., Dollas, A.: FPGA based Architecture for DNA Sequence Comparison and Database Search. In: Proc. 20th IEEE International Parallel and Distributed Processing Symposium (2006)Google Scholar
- 12.Chang, C.: BLAST Implementation on BEE2. Electrical Engineering and Computer Science University of California at Berkeley (2005), http://bee2.eecs.berkeley.edu
- 13.CLC Desktop Hardware-Acceleration. White paper on CLC Bioinformatics Cube (2006), http://www.clccube.com
- 14.Mitrion.Inc.: NCBI BLAST Accelerator (2007), http://www.mitrionics.com
- 15.Timelogic.Inc.: Timelogic DeCypher BLAST Engine (2006), http://www.timelogic.com/decypher_blast.html
- 16.Hoang, D., et al.: FPGA Implementation of Systolic Sequence Alignment. In: Proc. 2nd International Workshop on Field-Programmable Logic and Applications, Lecture Notes in Computer Science, pp. 183–191 (1992)Google Scholar
- 17.Hoang, D., et al.: Searching Genetic Databases on Splash2. In: Proc. IEEE Workshop on FPGAs for Custom Computing Machines, pp. 185–191 (1993)Google Scholar
- 18.Guccione, S.A., Keller, E.: Gene Matching Using JBits. In: Glesner, M., Zipf, P., Renovell, M. (eds.) FPL 2002. LNCS, vol. 2438, Springer, Heidelberg (2002)Google Scholar
- 19.Oliver, T., et al.: Hyper Customized Processors for Bio-Sequence Database Scanning on FPGAs. In: Proc. ACM/SIGDA 13th international symposium on Field programmable gate arrays, pp. 229–237 (2005)Google Scholar
- 20.Court, T.V., Herbordt, M.C.: Families of FPGA-Based Accelerators for Approximate String Matching. Microprocessors and Microsystems 31, 135–145 (2007)CrossRefGoogle Scholar
- 21.NCBI BLAST Database, National Center for Biotechnology Information (2006), http://www.ncbi.nih.gov/BLAST
- 22.EBI, European Bioinformatics Institute (2007), http://www.ebi.ac.uk/uniprot/database/download.html