BLAST WASM

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.

Demo: In-browser BLAST (makeblastdb + blastp)

Loading...

See also

Made by Anton Vasetenkov.