Log on / register
Feedback | Support | My details

A correction for this article has been published in BMC Bioinformatics 2006, 7:214


Open AccessHighly AccessMethodology article

Versatile and declarative dynamic programming using pair algebras

Peter Steffen email and Robert Giegerich email

Faculty of Technology, Bielefeld University, Postfach 10 01 31, 33501 Bielefeld, Germany

author email corresponding author email

BMC Bioinformatics 2005, 6:224doi:10.1186/1471-2105-6-224

Published: 12 September 2005

Abstract

Background

Dynamic programming is a widely used programming technique in bioinformatics. In sharp contrast to the simplicity of textbook examples, implementing a dynamic programming algorithm for a novel and non-trivial application is a tedious and error prone task. The algebraic dynamic programming approach seeks to alleviate this situation by clearly separating the dynamic programming recurrences and scoring schemes.

Results

Based on this programming style, we introduce a generic product operation of scoring schemes. This leads to a remarkable variety of applications, allowing us to achieve optimizations under multiple objective functions, alternative solutions and backtracing, holistic search space analysis, ambiguity checking, and more, without additional programming effort. We demonstrate the method on several applications for RNA secondary structure prediction.

Conclusion

The product operation as introduced here adds a significant amount of flexibility to dynamic programming. It provides a versatile testbed for the development of new algorithmic ideas, which can immediately be put to practice.


© 1999-2009 BioMed Central Ltd unless otherwise stated. Part of Springer Science+Business Media.