Smith–Waterman algorithm
Say it: SMITH WAW-tur-mun AL-guh-rith-um
The Smith–Waterman algorithm is a dynamic programming method that finds the highest-scoring local alignment, the best-matching region, of two sequences.
Also: Smith–Waterman, Smith-Waterman
Definition
What is the Smith–Waterman algorithm?
The Smith–Waterman algorithm, described by Temple Smith and Michael Waterman in 1981, finds the best local alignment between two DNA, RNA or protein sequences. Instead of forcing the sequences to match from end to end, it picks out the region where they are most alike, such as a shared domain inside two otherwise different proteins, and it is guaranteed to find the optimal local match for the scoring scheme used.
It fills a scoring grid in the same way as the Needleman–Wunsch algorithm, with one key change: no cell may fall below zero. When the running score would turn negative, it resets to zero, so a poorly matching stretch cannot drag down a good one that follows. The traceback starts from the highest-scoring cell anywhere in the grid and stops at the first zero. In 1982 Osamu Gotoh showed how to handle gap penalties with separate opening and extension costs efficiently, and the combined method is often called Smith–Waterman–Gotoh.
Like its global relative, it takes time proportional to the product of the sequence lengths, which makes exact database searches slow. BLAST trades guaranteed optimality for speed, while versions accelerated with parallel processor instructions or graphics cards keep the exact method practical. It is also built into many tools that map short sequencing reads to a reference genome.
Practice it
Where you'll meet it
Quizzes that use it
Related
Terms that go with it
- Needleman–Wunsch algorithmThe Needleman–Wunsch algorithm is a dynamic programming method that finds the best-scoring global alignment of two sequences along their entire length.
- Sequence alignmentSequence alignment is a way of lining up two or more DNA, RNA or protein sequences so that matching positions share a column, showing how similar they are.
- BLASTBLAST is a widely used program that searches databases for DNA or protein sequences similar to a query and ranks the matches by statistical significance.
- BioinformaticsBioinformatics is the science of using computers to gather, store, analyze and share biological data, especially DNA, RNA and protein sequences.
- Next-generation sequencingNext-generation sequencing (NGS) is a set of high-throughput methods that read the sequences of millions of short DNA fragments in parallel.
Sources
Checked against
Written for biofideX in plain words, after checking these references:
- EMBL-EBI Training: Pairwise sequence alignment
- Zhao et al. (2013), SSW Library: An SIMD Smith-Waterman C/C++ Library for Use in Genomic Applications, PLoS ONE
- Daily (2016), Parasail: SIMD C library for global, semi-global, and local pairwise sequence alignments, BMC Bioinformatics
Last updated
Spotted a mistake? Tell us and we'll correct it.
Practice Bioinformatics
Free bioinformatics quizzes, with an explanation for every answer.
See the Quizzes