An
Introduction to Bioinformatics Algorithms
by Neil C. Jones and
Pavel A. Pevzner
The MIT Press, Cambridge, MA, 2004
434 pp., illus. b/w. Trade, $55.00
ISBN: 0-262-10106-8.
Reviewed by Stefaan Van Ryssen
Hogeschool Gent
Belgium
stefaan.vanryssen@pandora.be
It is doubtful that an outsider to informatics
and biology would expect there to be an
intense interaction between these fields,
but surprisingly there is. Contemporary
molecular biology poses many problems
that can be clarified, researched, and
eventually solved through mathematical
means. In fact, a whole new branch of
computing has emerged over the past decades.
As molecular biology progressed and was
confronted with new problems computer
scientists, engineers, and biologists
alike sought algorithmic solutions. In
their turn the newly developed or applied
computational techniques opened new avenues
of research and ignited new interests
in biological problems deemed unsolvable
beforehand. This is a great and entertaining
story in itself, and it is obliquely told
in the captions at the end of each chapter
of this book. But the main text is about
algorithms and molecular biology, as it
should be in what is, after all, a textbook.
To make a long and quite complicated story
short, the whole idea of bioinformatics
revolves around problems like where and
how to find genes in long DNA strings
of "TACCAGGAAGGATAT" and their
complementary translations in the AUCG
code of RNA. Or, just taking one exemplary
problem and grossly oversimplifying, how
to detect if two somewhat related species
share a gene, knowing very well that genes
can take slightly different forms. You
found the straw in one haystack, and now
you’re wondering if the other haystack
also contains a very similar but not quite
identical straw. Given a lot of time and
patience, you might eventually find some
candidate straws, but unfortunately it
might take you a few thousand years. So
that is where computers come in, don’t
they? Not yet. Even with contemporary
computers it would take an unacceptably
long time to find similar strings in the
approximately three billion bases long
strands of DNA if you simply make them
align the original string with a piece
of the target, compute their similarity,
reject and move on one more base along
the line. So, this is where algorithms
come in. If by now you are thinking of
the Travelling Salesman Problem or the
Brussels Tourist Challenge (how to get
from one place to another and seeing as
many sights as possible along the way
without retracing your steps) you are
absolutely right. Both problems and many
more have their counterparts in biology,
and they can be solved——or at
least made easier——by applying
the appropriate algorithms.
This book first offers a short but clear
introduction into both faces of the coin:
algorithms and molecular biology and in
the subsequent chapters exposes the strategies
scientists have followed to solve specific
problems. To name just one: Comparing
sequences (which I have clumsily tried
to sketch above) can be done by using
Dynamic Programming, Divide-and-Conquer
Algorithms and Combinatorial Pattern Matching.
Nine different computational techniques
are thus mapped onto 10 fundamental problems
in biology. (Page vii even has an elegant
overview of this mapping, so if you don’t
want to plod through the whole text you
can jump in from any angle that takes
your fancy.) The chapters are organized
around the algorithms. Each has a series
of problems at the end, so the reader
can try her hand at devising solutions
herself. Moreover, the short vignettes
about the pioneers of molecular biology
and bioinformatics make a motivating and
inspiring read for anyone who isn’t
(yet) interested in doing research herself.