Computer Science Technical Reports
CS at VT

Architectural Refactoring for Fast and Modular Bioinformatics Sequence Search

Archuleta, Jeremy and Tilevich, Prof. Eli and Feng, Prof. Wu-chun (2006) Architectural Refactoring for Fast and Modular Bioinformatics Sequence Search. Technical Report TR-06-20, Computer Science, Virginia Tech.

Full text available as:
PDF - Requires Adobe Acrobat Reader or other PDF viewer.
mpiblast-icse07.pdf (631923)


Bioinformaticists use the Basic Local Alignment Search Tool (BLAST) to characterize an unknown sequence by comparing it against a database of known sequences, thus detecting evolutionary relationships and biological properties. mpiBLAST is a widely-used, high-performance, open-source parallelization of BLAST that runs on a computer cluster delivering super-linear speedups. However, the Achilles heel of mpiBLAST is its lack of modularity, adversely affecting maintainability and extensibility; an effective architectural refactoring will benefit both users and developers. This paper describes our experiences in the architectural refactoring of mpiBLAST into a modular, high-performance software package. Our evaluation of five component-oriented designs culminated in a design that enables modularity while retaining high-performance. Furthermore, we achieved this refactoring effectively and efficiently using eXtreme Programming techniques. These experiences will be of value to software engineers faced with the challenge of creating maintainable and extensible, high-performance, bioinformatics software.

Item Type:Departmental Technical Report
Keywords:sequence search, BLAST, architectural refactoring, eXtreme Programming, parallel processing
Subjects:Computer Science > Parallel Computation
Computer Science > Distributed Computing
Computer Science > Bioinformatics
Computer Science > Software Engineering
ID Code:924
Deposited By:Feng, Prof. Wu-chun
Deposited On:29 September 2006