In my experience, experimental biologists are developing an increasing ease with computational tools in their research. In a recent meeting I attended on microbiology and infection, most of the talks had some component of bioinformatic analysis. However, with the exception of bioinformatics software, it seems life scientists usually use computing primarily for bookkeeping, calculating, and visualizing tools. The notion of computing as a rigorous and helpful paradigm for formulating problems and their solutions has yet to make an impact in their modus operandi. The author of this book is keen to address this lack, pointing out that “abstraction is not common in biological investigations, while the descriptive approach has dominated the life sciences.” In the same paragraph, he makes the important point that “paradoxically, too many details could hide [a system’s] real logic.” The book takes an informational perspective toward understanding biological systems.

To pursue this view of biology, the author divides the book into two parts. The first half starts with biological systems and introduces abstractions that capture the essence of these systems. Chapters in this part consider broad topics such as interactions between molecules to create polymers, operations on DNA and genomes, and network views of metabolism. In the second part, the foundations of bioinformatics in discrete mathematics are developed, with an emphasis on number theory and formal languages.

While the main gist of the book resonates strongly with my own view of the untapped potential of formal modeling in life sciences, I was rather disappointed with the actual contents. In the preface, the author highlights the role of discrete mathematics, algorithms, and computational approaches in the generation of new ideas, but only explores a limited set of those foundations in any depth. There has been a lot of research on this agenda, but of the references from the last five or six years, over half cover only the work by the author’s group at Verona. While this group has certainly produced excellent work, by focusing so much on its solutions, the book’s scope is narrower than promised on the cover and described in the preface.

The main formalism explored in the book is that of membrane computing, specifically the use of P systems as developed by Gheorghe Păun. The author is particularly involved with the development and application of metabolic P systems, or MP systems, and their use in the numerical simulation of models. This use is covered extensively in the book, with models of concepts such as metabolism and mitosis. Crucially, while the models look interesting and the results accurate, it is not clear how this kind of modeling exercise can concretely shed light onto the actual questions vexing life scientists. I would very much like to see biologists describe how these kinds of models have helped them understand their systems better.

At one point, the author states that “cell genomes strongly resemble computer operating systems,” but this useful analogy is not really explored and there is no reference to researchers exploring this analogy. Chapter 4 introduces some important computational approaches such as memetic and immunological algorithms, but the descriptions are short and devoid of references to current results that would enable readers to explore the ideas further.

The second part of the book covers interesting topics in discrete mathematics, with good informal explanations of classical concepts in the field. The author makes little effort to bring out connections between these topics and biological issues. It reads more like a broad introduction to the field.

Overall, the book is very well written and provides a good introduction to models of cellular behavior using P and MP systems. It also provides a useful background in mathematical topics such as number theory and formal grammars, but only hints at the vast possibilities that arise from the analogy between biological systems and information-based processing.