With a collection of sequence alignment algorithms readily on hand — including Needleman-Wunsch, Smith-Waterman, Blast, Fasta, and a growing family of variations on these methods — does the bioinformatics world really need another global alignment program? It certainly does, according to Iowa State University’s Xiaoqiu Huang, particularly when comparing coding regions up to 200,000 base pairs.
Huang and Kun-Mao Chao of National Taiwan University co-wrote a new generalized global alignment algorithm called GAP3 that they claim is better suited than other methods for comparing homologous coding genomic DNA sequences with multiple exons. GAP3 — which builds upon the GAP1 and GAP2 algorithms Huang developed to extend the capabilities of Needleman-Wunsch — finds corresponding exons between two sequences much like other methods, but then goes a step further by placing these exons in the order in which they occur along the chromosome.
Other alignment tools, Huang said, require a second step to produce an ordered list of similar exon regions. “In practice, the two-step method will produce identical results or very similar results as our algorithm. Our algorithm computes it in one step, but in theory, it is guaranteed to give an optimal solution because it handles the two steps together,” Huang said.
But GAP3 isn’t recommended for speed freaks: The dynamic programming algorithm requires 15 hours to compare two sequences of 500,000 base pairs, so whole-genome comparisons are out of the question. However, if you are comparing a single coding region, for example, the program is sensitive enough to give an optimal solution, “and the running time is also acceptable … for ordinary computers,” Huang said.
Huang and Chao described the GAP3 algorithm in a recent issue of Bioinformatics. The program is freely available at http://bioinformatics.iastate.edu/aat/align/align.html, where users can load their sequence onto the server and choose GAP3 or a suite of algorithms Huang developed for sequence alignment and sequence assembly to perform their computation.