Book contents
- Frontmatter
- Contents
- Preface
- I Exact String Matching: The Fundamental String Problem
- II Suffix Trees and Their Uses
- III Inexact Matching, Sequence Alignment, Dynamic Programming
- 10 The Importance of (Sub)sequence Comparison in Molecular Biology
- 11 Core String Edits, Alignments, and Dynamic Programming
- 12 Refining Core String Edits and Alignments
- 13 Extending the Core Problems
- 14 Multiple String Comparison – The Holy Grail
- 15 Sequence Databases and Their Uses – The Mother Lode
- IV Currents, Cousins, and Cameos
- Epilogue – where next?
- Bibliography
- Glossary
- Index
12 - Refining Core String Edits and Alignments
from III - Inexact Matching, Sequence Alignment, Dynamic Programming
Published online by Cambridge University Press: 23 June 2010
- Frontmatter
- Contents
- Preface
- I Exact String Matching: The Fundamental String Problem
- II Suffix Trees and Their Uses
- III Inexact Matching, Sequence Alignment, Dynamic Programming
- 10 The Importance of (Sub)sequence Comparison in Molecular Biology
- 11 Core String Edits, Alignments, and Dynamic Programming
- 12 Refining Core String Edits and Alignments
- 13 Extending the Core Problems
- 14 Multiple String Comparison – The Holy Grail
- 15 Sequence Databases and Their Uses – The Mother Lode
- IV Currents, Cousins, and Cameos
- Epilogue – where next?
- Bibliography
- Glossary
- Index
Summary
In this chapter we look at a number of important refinements that have been developed for certain core string edit and alignment problems. These refinements either speed up a dynamic programming solution, reduce its space requirements, or extend its utility.
Computing alignments in only linear space
One of the defects of dynamic programming for all the problems we have discussed is that the dynamic programming tables use Θ(nm) space when the input strings have length n and m. (When we talk about the space used by a method, we refer to the maximum space ever in use simultaneously. Reused space does not add to the count of space use.) It is quite common that the limiting resource in string alignment problems is not time but space. That limit makes it difficult to handle large strings, no matter how long we may be willing to wait for the computation to finish. Therefore, it is very valuable to have methods that reduce the use of space without dramatically increasing the time requirements.
Hirschberg [224] developed an elegant and practical space-reduction method that works for many dynamic programming problems. For several string alignment problems, this method reduces the required space from Θ(nm) to O(n) (for n < m) while only doubling the worst-case time bound. Miller and Myers expanded on the idea and brought it to the attention of the computational biology community [344].
- Type
- Chapter
- Information
- Algorithms on Strings, Trees, and SequencesComputer Science and Computational Biology, pp. 254 - 311Publisher: Cambridge University PressPrint publication year: 1997