title: A memory-efficient algorithm for multiple sequence alignment with constraints.
abstract: BACKGROUND
  Recently, the concept of the constrained sequence alignment was proposed to incorporate the knowledge of biologists about structures/functionalities/consensuses of their datasets into sequence alignment such that the user-specified residues/nucleotides are aligned together in the computed alignment. The currently developed programs use the so-called progressive approach to efficiently obtain a constrained alignment of several sequences. However, the kernels of these programs, the dynamic programming algorithms for computing an optimal constrained alignment between two sequences, run in (gamman2) memory, where gamma is the number of the constraints and n is the maximum of the lengths of sequences. As a result, such a high memory requirement limits the overall programs to align short sequences only.
  
  
  RESULTS
  We adopt the divide-and-conquer approach to design a memory-efficient algorithm for computing an optimal constrained alignment between two sequences, which greatly reduces the memory requirement of the dynamic programming approaches at the expense of a small constant factor in CPU time. This new algorithm consumes only O(alphan) space, where alpha is the sum of the lengths of constraints and usually alpha << n in practical applications. Based on this algorithm, we have developed a memory-efficient tool for multiple sequence alignment with constraints.
  
  
  BACKGROUND
  http://genome.life.nctu.edu.tw/MUSICME.
authors.affiliation: Department of Biological Science and Technology, National Chiao Tung University Hsinchu 300, Taiwan, Republic of China. cllu@mail.nctu.edu.tw
authors.forename: Chin Lung
authors.initials: CL
authors.lastname: Lu
authors.forename: Yen Pin
authors.initials: YP
authors.lastname: Huang
mesh_terms: D000465:Algorithms; D000595:Amino Acid Sequence; D001483:Base Sequence; D016247:Information Storage and Retrieval / Q000379:methods*; D020407:Internet; D008969:Molecular Sequence Data; D015203:Reproducibility of Results; D012680:Sensitivity and Specificity; D016415:Sequence Alignment / Q000379:methods*; D017421:Sequence Analysis / Q000379:methods*; D020539:Sequence Analysis, Protein / Q000379:methods; D017423:Sequence Analysis, RNA / Q000379:methods; D017385:Sequence Homology; D012984:Software