TL;DR: The goal of this paper is to give Hirschberg's idea the visibility it deserves by developing a linear-space version of Gotoh's algorithm, which accommodates affine gap penalties.
Abstract: Space, not time, is often the limiting factor when computing optimal sequence alignments, and a number of recent papers in the biology literature have proposed space-saving strategies. However, a 1975 computer science paper by Hirschberg presented a method that is superior to the new proposals, both in theory and in practice. The goal of this paper is to give Hirschberg's idea the visibility it deserves by developing a linear-space version ofGotoh's algorithm, which accommodates affine gap penalties. A portable C-software package implementing this algorithm is available on the BIONET free of charge.
TL;DR: The problem of finding a longest common subsequence of two strings has been solved in quadratic time and space and an algorithm is presented which will solve this problem in QuadraticTime and in linear space.
Abstract: The problem of finding a longest common subsequence of two strings has been solved in quadratic time and space. An algorithm is presented which will solve this problem in quadratic time and in linear space.
TL;DR: O(n(m-p) log n) algorithm is presented, and when p is close to m (in other words, two given strings are similar), the algorithm presented here runs much faster than previously known algorithms.
Abstract: Efficient algorithms for computing the longest common subsequence (LCS for short) are discussed. O(pn) algorithm and O(p(m-p) log n) algorithm [Hirschberg 1977] seem to be best among previously known algorithms, where p is the length of an LCS and m and n are the lengths of given two strings (m?n). There are many applications where the expected length of an LCS is close to m.
In this paper, O(n(m-p)) algorithm is presented. When p is close to m (in other words, two given strings are similar), the algorithm presented here runs much faster than previously known algorithms.
TL;DR: This paper presents a new linear-space algorithm, based on the divide and conquer technique, that has runtime complexity O(n(m-p), where p is the length of the LCS.
Abstract: The LCS problem is to determine the longest common subsequence (LCS) of two strings. A new linear-space algorithm to solve the LCS problem is presented. The only other algorithm with linear-space complexity is by Hirschberg and has runtime complexity O(mn). Our algorithm, based on the divide and conquer technique, has runtime complexity O(n(m-p)), where p is the length of the LCS.
TL;DR: A time-efficient algorithm developed by Galil and coworkers is combined with a space-saving approach of Hirschberg to obtain a local alignment algorithm that uses0((M+N+F logN) logM) time and0(M+ N) space to align sequences of lengthsM andN from a pool of F alignment fragments.
Abstract: This paper presents practical algorithms for building an alignment of two long sequences from a collection of “alignment fragments,” such as all occurrences of identical 5-tuples in each of two DNA sequences. We first combine a time-efficient algorithm developed by Galil and coworkers with a space-saving approach of Hirschberg to obtain a local alignment algorithm that uses0((M+N+F logN) logM) time and0(M+N) space to align sequences of lengthsM andN from a pool of F alignment fragments. Ideas of Huang and Miller are then employed to develop a time- and space-efficient algorithm that computesn best nonintersecting alignments for anyn>1. An example illustrates the utility of these methods.