Many problems in bioinformatics can be solved efficiently by the application
of the dynamic programming technique, once they are cast as traveling
in a Manhattan-like grid. For example, development of new sequence comparison
algorithms often amounts to building an appropriate “Manhattan”
that adequately models the specifics of a particular biological problem, and
by defining the block weights that reflect the costs of mutations from one
DNA sequence to another.