Written by
Pedro Demarchi Gomes
on
on
A parallel implementation of the Smith-Waterman algorithm
The Smith-Waterman algorithm performs local sequence alignment; that is, for determining similar regions between two strings of nucleic acid sequences or protein sequences. Instead of looking at the entire sequence, the Smith-Waterman algorithm compares segments of all possible lengths and optimizes the similarity measure.
To reduce its execution time, I implemented two parallel versions of the algorithm. One of them using OpenMP, for shared-memory parallel computing on multi-core processors, and the other using MPI, for parallel computing on distributed memory environments.
You can check the source code of the OpenMP version here, and the MPI version here