The multiple sequence alignment problem in biology
SIAM Journal on Applied Mathematics
Sparse dynamic programming I: linear cost functions
Journal of the ACM (JACM)
Sparse dynamic programming II: convex and concave cost functions
Journal of the ACM (JACM)
Algorithms on strings, trees, and sequences: computer science and computational biology
Algorithms on strings, trees, and sequences: computer science and computational biology
Chaining multiple-alignment fragments in sub-quadratic time
Proceedings of the sixth annual ACM-SIAM symposium on Discrete algorithms
The complexity of multiple sequence alignment with SP-score that is a metric
Theoretical Computer Science
A sub-quadratic sequence alignment algorithm for unrestricted cost matrices
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
Non-approximability of weighted multiple sequence alignment
Theoretical Computer Science - Computing and combinatorics
Parameterized Complexity
Nonlinear synchronization for automatic learning of 3D pose variability in human motion sequences
EURASIP Journal on Advances in Signal Processing - Image processing and analysis in biomechanics
A parallel algorithm for multiple biological sequence alignment
IPCAT'12 Proceedings of the 9th international conference on Information Processing in Cells and Tissues
Hi-index | 0.01 |
Multiple Sequence Alignment (MSA) is one of the most fundamental problems in computational molecular biology. The running time of the best known scheme for finding an optimal alignment, based on dynamic programming, increases exponentially with the number of input sequences. Hence, many heuristics were suggested for the problem. We consider a version of the MSA problem where the goal is to find an optimal alignment in which matches are restricted to positions in predefined matching segments. We present several techniques for making the dynamic programming algorithm more efficient, while still finding an optimal solution under these restrictions. We prove that it suffices to find an optimal alignment of the predefined sequence segments, rather than single letters, thereby reducing the input size and thus improving the running time. We also identify "shortcuts驴 that expedite the dynamic programming scheme. Empirical study shows that, taken together, these observations lead to an improved running time over the basic dynamic programming algorithm by 4 to 12 orders of magnitude, while still obtaining an optimal solution. Under the additional assumption that matches between segments are transitive, we further improve the running time for finding the optimal solution by restricting the search space of the dynamic programming algorithm.