Abstract
Motivation: Dynamic programming is ubiquitous in bioinformatics. Developing and implementing non-trivial dynamic programming algorithms is often error prone and tedious. Bellman's GAP is a new programming system, designed to ease the development of bioinformatics tools based on the dynamic programming technique.Results: In Bellman's GAP, dynamic programming algorithms are described in a declarative style by tree grammars, evaluation algebras and products formed thereof. This bypasses the design of explicit dynamic programming recurrences and yields programs that are free of subscript errors, modular and easy to modify. The declarative modules are compiled into C++ code that is competitive to carefully hand-crafted implementations.This article introduces the Bellman's GAP system and its language, GAP-L. It then demonstrates the ease of development and the degree of re-use by creating variants of two common bioinformatics algorithms. Finally, it evaluates Bellman's GAP as an implementation platform of 'real-world' bioinformatics tools. © 2013 The Author 2013. Published by Oxford University Press.
Cite
CITATION STYLE
Sauthoff, G., Möhl, M., Janssen, S., & Giegerich, R. (2013). Bellman’s GAP - A language and compiler for dynamic programming in sequence analysis. Bioinformatics, 29(5), 551–560. https://doi.org/10.1093/bioinformatics/btt022
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.