BLAST is a sequence search and alignment tool used in bioinformatics. It's one of the best-known and most important programs in the field.
Given the query sequence, the BLAST algorithm returns/finds the closest matching sequences in a sequence database. The output of a BLAST search is a list of (sub)sequences from the database with the corresponding E-values.
The BLAST source code is written in C++ and is part of the NCBI C++ Toolkit. The toolkit includes five main BLAST programs (blastn
, blastp
, blastx
, tblastn
, and tblastx
) plus other utilities and libraries.
I've compiled BLAST programs to WebAssembly using Emscripten to make a version of each program that can run fully in the browser (see the demo below). The NCBI C++ Toolkit codebase is large and complex and required some modifications to compile with Emscripten.
The demo runs makeblastdb
to create a BLAST database and then blastp
to do a BLAST search against the database. The demo is interactive, so you can change the input sequences and see the results in real-time.
makeblastdb
+ blastp
)Made by Anton Vasetenkov.