BLAST is a Basic Local Alignment Search Tool for comparing biological sequence information.
Given some query string, it finds similar (although not necessarily identical) biological sequence strings in a large set of possible candidates. BLAST supports searches with possible sequence mismatches, deletions and insertions. BLAST is open source, written in C++, and was originally developed in 1990.