Schematic view of a Blast-like 3-stage algorithm. Representation of the three stages of comparison of a query (vertical) against a database (horizontal): Stage 1: identify seeds, i.e. small patterns occurring in both the query and the database (black diagonals). Stage 2: compute seed extensions and keep only those for which the score verifies at threshold (brown diagonals). On the Figure, seeds (a) and (b) are successfully extended. Stage 3: perform a full dynamic programming computation (white squares) on remaining seeds. In this example, only seed (b) leads to a significant alignment.