[27] ALGORITHMS FOR BIOLOGICAL SEQUENCE COMPARISON 575
The variance of this mean is approximately equal to the mean, according
to our computer simulations.
Acknowledgments
We thank Patsy Craig for preparation of the manuscript and Paula P. Azimi for the
artwork. This work was supported in part by National Institutes of Health Grant RR 00847
to the Clinical Research Center of the University of Virginia, Grant RCDA 1 KO4 HD00634
(J.D.V.), Grant GM-28928 (M.L.J.), the Diabetes and Endocrinology Research Center Grant
NIH DK-38942, the NIH-supported Clinfo Data Reduction Systems, the Pratt Foundation,
the University of Virginia Academic Enhancement Fund, and the National Science Founda-
tion Science Center for Biological Timing (DIR-8920162).
[27] Dynamic Programming Algorithms for Biological
Sequence Comparison
By WILLIAM R. PEARSONand WEBB MILLER
Introduction
The concurrent development of molecular cloning techniques, DNA
sequencing methods, rapid sequence comparison algorithms, and com-
puter workstations has revolutionized the role of biological sequence com-
parison in molecular biology. Twenty years ago, protein sequence determi-
nation was the last step in the characterization of a protein. Today, we
clone first, sequence the clone, search the databases, and then, armed
with hypotheses about structure and function that are based on sequence
similarity, proceed with experiments to characterize the biochemical prop-
erties of a protein. This strategy--clone first and experiment laterwis
likely to become even more popular as sequence databases grow larger
and thus more comprehensive.
In this chapter, we discuss several dynamic programming algorithms
that have been applied to biological sequence comparison problems. 1Such
algorithms are the basis of most methods currently used to identify dis-
tantly related proteins by sequence similarity. We do not discuss the
application of these algorithms, or of their heuristic approximations, to
sequence database searches. For reviews of the problems encountered in
1 "Dynamic programming" refers to a broad class of algorithms that have been applied to
problems from a number of areas. For other examples, see T. H. Cormen, C. E. Leiserson,
and R. L. Rivest, "Introduction to Algorithms," p. 301. McGraw-Hill, New York, 1990.
Copyright© 1992 by Academic Press,Inc.
METHODSIN ENZYMOLOGY,VOL.210 All rightsof reproduction in any formreserved.