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 has progressed and been confronted with new problems, computer scientists, engineers and biologists alike have sought algorithmic solutions. In their turn, the newly developed or applied computational techniques opened up 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 such as where and how to find genes in long DNA strings of "TACCAGGAAGGATAT" and their complementary translations in the AUCG code of RNA. Or, to take one exemplary problem and grossly oversimplify: How can we detect whether 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 are 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 a few thousand years. So that is where computers come in, right? Not yet. Even with contemporary computers, it would take an unacceptably long time to find similar strings in the approximately 3 billion bases—long strands of DNA—if we simply align the original string with a piece of the target, compute their similarity, reject and move on to the next base along the line. So, this is where algorithms come in. If by now you are thinking of the Traveling Salesman Problem or the Brussels Tourist Challenge (how to get from one place to another and see 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.
Click for larger view
View full resolution
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 do not 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 is not (yet) interested in doing research herself.