Accelerating string set matching in FPGA hardware for bioinformatics research.
BACKGROUND
This paper describes techniques for accelerating the performance of the string set matching problem with particular emphasis on applications in computational proteomics. The process of matching peptide sequences against a genome translated in six reading frames is part of a proteogenomic mapping pipeline that is used as a case-study. The Aho-Corasick algorithm is adapted for execution in field programmable gate array (FPGA) devices in a manner that optimizes space and performance. In this approach, the traditional Aho-Corasick finite state machine (FSM) is split into smaller FSMs, operating in parallel, each of which matches up to 20 peptides in the input translated genome. Each of the smaller FSMs is further divided into five simpler FSMs such that each simple FSM operates on a single bit position in the input (five bits are sufficient for representing all amino acids and special symbols in protein sequences).


RESULTS
This bit-split organization of the Aho-Corasick implementation enables efficient utilization of the limited random access memory (RAM) resources available in typical FPGAs. The use of on-chip RAM as opposed to FPGA logic resources for FSM implementation also enables rapid reconfiguration of the FPGA without the place and routing delays associated with complex digital designs.


CONCLUSIONS
Experimental results show storage efficiencies of over 80% for several data sets. Furthermore, the FPGA implementation executing at 100 MHz is nearly 20 times faster than an implementation of the traditional Aho-Corasick algorithm executing on a 2.67 GHz workstation.
Dandass
Yoginder S
YS
Institute of Digital Biology, Mississippi State University, Mississippi 39762, USA. yogi@cse.msstate.edu
Burgess
Shane C
SC
Lawrence
Mark
M
Bridges
Susan M
SM
D000465:Algorithms; D003201:Computers; D004867:Equipment Design; D020869:Gene Expression Profiling / Q000295:instrumentation / Q000379:methods; D016247:Information Storage and Retrieval / Q000379:methods; D008128:Logic; D008962:Models, Theoretical; D016571:Neural Networks, Computer; D016366:Open Reading Frames; D020543:Proteome / Q000032:analysis; D040901:Proteomics / Q000295:instrumentation* / Q000379:methods; D016415:Sequence Alignment / Q000295:instrumentation / Q000379:methods; D020539:Sequence Analysis, Protein / Q000295:instrumentation / Q000379:methods
D020543:Proteome