Several algorithms based on heuristics have been proposed for the multiple alignment of sequences. The most efficient in time computation are often greedy algorithms. At each step a greedy alignment algorithm must know if two characters are alignable or not, regarding to the characters definitely aligned before. We show that this problem is reducible to find paths in a directed graph. We give an incremental algorithm that maintains the transitive closure of a graph for which we know a spanning set of k disjoined paths. Our algorithm maintains the transitive closure of a graph of n vertices and m edges (in the final state) in O(k2m + n min{m, n}) time and O(kn) space. We show that this algorithm can be used by any greedy alignment algorithm to know in constant time if two characters are alignable or not, by maintaining the transitive closure of an alignment graph in O(k2n q- n2) time and O(kn) space, for k sequences whose total length is n. As an example of application we have implemented TwoAlign a efficient multiple alignment program based on greedy computation of pairwise local alignments.
CITATION STYLE
Abdeddaïm, S. (1997). On incremental computation of transitive closure and greedy alignment. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1264, pp. 167–179). Springer Verlag. https://doi.org/10.1007/3-540-63220-4_58
Mendeley helps you to discover research relevant for your work.