Dynamic programming algorithms for the mosaic longest common subsequence problem

被引:23
作者
Huang, Kuo-Si [1 ]
Yang, Chang-Biau [1 ]
Tseng, Kuo-Tsung [1 ]
Peng, Yung-Hsing [1 ]
Ann, Hsing-Yen [1 ]
机构
[1] Natl Sun Yat Sen Univ, Dept Comp Sci & Engn, Kaohsiung 80424, Taiwan
关键词
dynamic programming; bioinformatics; longest common subsequence; mosaic sequence; design of algorithms;
D O I
10.1016/j.ipl.2006.11.006
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The longest common subsequence (LCS) problem can be used to measure the relationship between sequences. In general, the inputs of the LCS problem are two sequences. For finding the relationship between one sequence and a set of sequences, we cannot apply the traditional LCS algorithms immediately. In this paper, we define the mosaic LCS (MLCS) problem of finding a mosaic sequence C, composed of repeatable k sequences in source sequence set S, such that the LCS of C and the target sequence T is maximal. Based on the concept of break points in sequence T, we first propose a divide-and-conquer algorithm with O(n(2)m vertical bar S vertical bar + n(3) log k) time for solving this problem, where n and nt are the length of T and the maximal length of sequences in S, respectively. Furthermore, an improved algorithm with O(n (m + k)vertical bar S vertical bar) time is proposed by applying an efficient preprocessing for the MLCS problem. (c) 2006 Elsevier B.V. All rights reserved.
引用
收藏
页码:99 / 103
页数:5
相关论文
共 50 条