Memory-efficient dynamic programming backtrace and pairwise local sequence alignment.
basic_science · Level V
Where this comes from
- Record sourced from PubMed, PMID 18558620.
- Also identified by DOI 10.1093/bioinformatics/btn308 and PMC identifier 2668612.
- Licence recorded as CC BY-NC.
- Because redistribution is not established, this page shows the abstract only. Follow the links below for the full text.
Abstract
A backtrace through a dynamic programming algorithm's intermediate results in search of an optimal path, or to sample paths according to an implied probability distribution, or as the second stage of a forward-backward algorithm, is a task of fundamental importance in computational biology. When there is insufficient space to store all intermediate results in high-speed memory (e.g. cache) existing approaches store selected stages of the computation, and recompute missing values from these checkpoints on an as-needed basis. Here we present an optimal checkpointing strategy, and demonstrate its utility with pairwise local sequence alignment of sequences of length 10,000. Sample C++-code for optimal backtrace is available in the Supplementary Materials. Supplementary data is available at Bioinformatics online.
Medical subject headings
- Algorithms
- Information Storage and Retrieval
- Numerical Analysis, Computer-Assisted
- Sequence Alignment
- Sequence Analysis