Most Helpful Customer Reviews
|
|
61 of 63 people found the following review helpful:
5.0 out of 5 stars
Excellent...but dense, April 4, 2001
This textbook gives a rigorous introduction to the algorithms of computational biology from the standpoint of theoretical computer science. It does however give the reader an overview of the practical application of these algorithms to the subject. The author gives a very detailed discussion of the most important results in the field, but the book is very dense: there are 228 definitions, 127 theorems, 490 references, and over 400 exercises that both illustrate the topics in the book and extend them. The author omits any real source code, but does give a URL where code for many of the algorithms can be found. The author restricts his attention to deterministic approaches to string matching and comparison, and thus there is no treatment of hidden Markov models or Monte Carlo methods. The major algorithms such as the Aho-Corasick, Boyer-Moore, Knuth-Morris-Pratt, Needleman-Winsch, and Smith-Waterman are discussed and brilliantly motivated in the book. The author employs very effective diagrams to illustrate the matching concepts that are detailed in the book. The book does require some time to read but it is worth the effort. Also, the exercises can be challenging but some should he done in order to understand the concepts in the book. The empirical results of the algorithms as sequence databases are also included, with FASTA, BLAST, BLOCKS, BLOSUM, and PROSITE are discussed in detail. The chapter that discusses these is the least mathematical of all the ones in the book and was no doubt included to connect the reader with real-world applications of the techniques in the book. The last quarter of the book is a lot more trendy than the rest, with emphasis placed on algorithms for physical mapping, fragment assembly, and phylogenetic trees. These algorithms of course take on particular importance today given the Human Genome and other gene sequencing projects. Radiation-hybrid mappings, direct sequencing, and shotgun DNA sequencing are discussed in one of the chapters in this section, and the author addresses in great detail some approaches to speeding up sequence assembly. In the discussion on shotgun DNA sequencing the author refrains from any probabilistic analysis, instead referring the reader to the references. This omission goes along with the rest of the book, where probabilistic methods are not used, which is a little disappointing since these have shown great promise in computational biology. The exercises at the end of the chpater are very interesting and it is worth spending time working some of them through. In a later chapter, the solution of the satisfiability problem in mathematical logic is discussed and shown to be solved (at least theoretically) by DNA-based computing. The quantities of DNA needed to carry out the computation are shown to be infeasible by the author. This book will no doubt be of great assistance to those interested in the more rigorous approaches to computational biology. But the best attribute of the book is that one gets the impression that the author had a good time writing it, and that shows through in this very important book.
|
|
|
29 of 29 people found the following review helpful:
5.0 out of 5 stars
Definitive String Algorithms Text, January 4, 2003
If you like definition-theorem-proof-example and exercise books, Gusfield's book is the definitive text for string algorithms. The algorithms are abstracted from their biological applications, and the book would make sense without reading a single page of the biological motivations. Gusfield aims his book at readers who are fluent in basic algorithms and data structures (at the level of Cormen, Leisersohn and Rivest's excellent text). The exercises are wonderfully illustrative, being neither trivial nor impossible. All of the major exact string algorithms are covered, including Knuth-Morris-Pratt, Boyer-Moore, Aho-Corasick and the focus of the book, suffix trees for the much harder probem of finding all repeated substrings of a given string in linear time. In addition to exact string matching, there are extensive discussions of inexact matching. Even the discussions of widely known topics like dynamic programming for edit distance are insightful; for instance, we find how to easily cut space requirements from quadratic to linear. There is also a short chapter on semi-numerical matching methods, which are also of use in information retrieval applications. Inexact matching is extended to the threshold all-against-all problem, which finds all substrings of a string that match up to a given edit distance threshold. The theoretical development concludes with the much more difficult problem of aligning multiple sequences with ultrametric trees, with applications to phylogenetic alignment for evolutionary trees (an approach that has also been applied to the evolution of natural languages). Note that there is no discussion of statistical string matching. For that, Durbin, Eddy, Krogh and Mitchison's "Biological Sequence Analysis: Probabilistic Models of Proteins and Nucleic Acides" is a good choice, or for those more interested in language than biology, Manning and Schuetze's "Statistical Natural Language Processing". There is also no information on more structured string matching models such as context-free grammars, as are commonly used to analyze RNA folding or natural language syntax. Luckily, Durbin et al. and Manning and Schuetze also provide excellent coverage of these higher-order models in their books. This book is not about efficient implementation. If you need to build these algorithms, you'll also need to know how to write efficient code and tune it for your needs. This is an algorithms book, pure and simple. As a computer scientist, I found the discussions of computational biology to be more enlightening than in other textbooks on similar topics such as Durbin et al., because Gusfield does not assume the reader has any background in cellular biology. Instead, he provides his own clear and gentle introductions illustrated with algorithms, applications, open problems and extensive references. Like most Cambridge University Press books, this one is beautifully typeset and edited.
|
|
|
28 of 28 people found the following review helpful:
5.0 out of 5 stars
A very nicely written book, June 12, 1998
By A Customer
This is THE book on string algorithms; covers all the normal exact match algs (Z, BM, KMP) and then goes on to discuss suffix trees in great depth (but with great clarity!). The second half of the book deals with inexact matching mostly using dynamic-programming-based algs. Some of the stuff generalizes nicely to non-string DP algs as well. Worth the investment just for increasing "algorithmic maturity", not to mention Gusfield's gift for clear exposition makes it a pleasant read.
|
|
|
Most Recent Customer Reviews
|