This talk examines the many interfaces to BLAST (Basic Local Alignment Search Tool) one of the most heavily used sequence similarity search tools in the world. It combines speed and versatility with a rigorous statistical analysis of the results. Often though, BLAST is not used in the most efficient manner for a particular application. Exploiting the many BLAST interfaces can lead to more efficient and robust applications.
The BLAST algorithm
BLAST is a heuristic that obtains it's speed by first looking for word hits ("hot spots") between the query and a target sequence to initiate gap-free as well as gapped extensions from which local alignments are produced.
BLAST output may be obtained in a number of different formats. These include XML, tabular output, ASN.1 (Abstract Syntax Notation), as well as the traditional BLAST report. The optimal choice of output format depends upon the application.
Overview of BLAST code
BLAST was written in a modular manner using the NCBI toolkit. There are a number of high-level function calls that return alignments as well as function calls that return information contained in the BLAST databases.