next up previous contents
Next: Genetic Algorithms Up: Multiple sequence alignment Previous: Multiple sequence alignment

Extending dynamic programming to more than two sequences

A multiple sequence alignment is an alignment that contains three or more sequences. In theory, dynamic programming methods for two sequences can be generalised to N sequences by adding dimensions to the H matrix. For three sequences H becomes a cube, and so on. In practice, although software has been developed that will allow 3 sequences to be aligned by full dynamic programming (e.g. [Murata et al., 1985]), aligning more than 3 is impractical both in terms of CPU time and memory.

A common technique to save time and space when calculating the global alignment of two sequences is to `cut corners'. Instead of calculating the entire H matrix, only a window either side of the main diagonal is calculated. This general principle has been extended to the global alignment of multiple sequences [Lipman et al., 1989]. The program MSA that implements these ideas reliably performs simultaneous alignment of small numbers of sequences (typically <10).



 

geoff@ebi.ac.uk