Design and implementation of a database filter for BLAST acceleration

  • Authors:
  • Panagiotis Afratis;Constantinos Galanakis;Euripides Sotiriades;Georgios-Grigorios Mplemenos;Grigorios Chrysos;Ioannis Papaefstathiou;Dionisios Pnevmatikatos

  • Affiliations:
  • Technical University of Crete, Chania, GR, Greece;Technical University of Crete, Chania, GR, Greece;Technical University of Crete, Chania, GR, Greece;Technical University of Crete, Chania, GR, Greece;Technical University of Crete, Chania, GR, Greece;Technical University of Crete, Chania, GR, Greece;Technical University of Crete, Chania, GR, Greece

  • Venue:
  • Proceedings of the Conference on Design, Automation and Test in Europe
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

BLAST is a very popular Computational Biology algorithm. Since it is computationally expensive it is a natural target for acceleration research, and many reconfigurable architectures have been proposed offering significant improvements. In this paper we approach the same problem with a different approach: we propose a BLAST algorithm preprocessor that efficiently identifies the portions of the database that must be processed by the full algorithm in order to find the complete set of desired results. We show that this preprocessing is feasible and quick, and requires minimal FPGA resources, while achieving a significant reduction in the size of the database that needs to be processed by BLAST. We also determine the parameters under which prefiltering is guaranteed to identify the same set of solutions as the original NCBI software. We model our preprocessor in VHDL and implement it in reconfigurable architecture. To evaluate the performance, we use a large set of datasets and compare against the original (NCBI) software. Prefiltering is able to determine that between 80 and 99.9% of the database will not produce matches and can be safely ignored. Processing only the remaining portions using software such as NCBI-BLAST improves the system performance (reduces execution time) by 3 to 15 times. Since our prefiltering technique is generic, it can be combined with any other software or reconfigurable acceleration technique.