Architectural Refactoring for Fast and Modular Bioinformatics Sequence Search
2006) Architectural Refactoring for Fast and Modular Bioinformatics Sequence Search. Technical Report TR-06-20, Computer Science, Virginia Tech. (
Full text available as: |
Abstract
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 |