Dynamic Programming
Dynamic Programming
Dynamic programming and optimal sequence alignment.
Introductory reading
Giegerich (2000) A systematic approach to dynamic programming in bioinformatics. Bioinformatics 16:665-77. (pmid: 11099253) |
[ PubMed ] [ DOI ] MOTIVATION: Dynamic programming is probably the most popular programming method in bioinformatics. Sequence comparison, gene recognition, RNA structure prediction and hundreds of other problems are solved by ever new variants of dynamic programming. Currently, the development of a successful dynamic programming algorithm is a matter of experience, talent and luck. The typical matrix recurrence relations that make up a dynamic programming algorithm are intricate to construct, and difficult to implement reliably. No general problem independent guidance is available. RESULTS: This article introduces a systematic method for constructing dynamic programming solutions to problems in biosequence analysis. By a conceptual splitting of the algorithm into a recognition and an evaluation phase, algorithm development is simplified considerably, and correct recurrences can be derived systematically. Without additional effort, the method produces an early, executable prototype expressed in a functional programming language. The method is quite generally applicable, and, while programming effort decreases, no overhead in terms of ultimate program efficiency is incurred. |
Contents
Dynamic Programing - Presentation by Zahra Ebrahim-Zadeh, BCB410 - 2011
Exercises
Exercises - by Zahra Ebrahim-Zadeh, BCB410 - 2011
Further reading and resources
Needleman & Wunsch (1970) A general method applicable to the search for similarities in the amino acid sequence of two proteins. J Mol Biol 48:443-53. (pmid: 5420325) |
Smith & Waterman (1981) Identification of common molecular subsequences. J Mol Biol 147:195-7. (pmid: 7265238) |