The authors are in the process of writing a second edition of the book, which should be published in the second half of 2015.
Topics and features:
Computational modeling has become an essential tool for researchers in the biological sciences. Yet in biological modeling, there is no one technique that is suitable for all problems. Instead, different problems call for different approaches. Furthermore, it can be helpful to analyze the same system using a variety of approaches, to be able to exploit the advantages and drawbacks of each. In practice, it is often unclear which modeling approaches will be most suitable for a particular biological question - a problem that requires researchers to know a reasonable amount about a number of techniques, rather than become experts on a single one.
Introduction to Modeling for Biosciences addresses this issue by presenting a broad overview of the most important techniques used to model biological systems. In addition to providing an introduction into the use of a wide range of software tools and modeling environments, this helpful text/reference describes the constraints and difficulties that each modeling technique presents in practice. This enables the researcher to quickly determine which software package would be most useful for their particular problem.
This unique and practical work guides the novice modeler through realistic and concrete modeling projects, highlighting and commenting on the process of abstracting the real system into a model. Students and active researchers in the biosciences will also benefit from the discussions of the high-quality, tried-and-tested modeling tools described in the book, as well as thorough descriptions and examples.
Chapter 1: Foundations of Modeling
This introductory chapter discusses some basic principles of biological modeling. Specifically, it presents some practical advice on how to approach modeling problems in biology. This chapter sets the scene for the rest of the book, and is particularly intended for the scientist who has little previous experience in modeling.
Chapter 2: Agent-based Modeling
This chapter introduces agent-based models (ABMs). These are computational semi-realistic models where every important part of the system is explicitly represented. ABMs can be very valuable in biological modeling because they can represent very complicated systems that cannot be represented using, for example, purely equation-based modeling approaches. This chapter explains the underlying ideas of ABMs, and highlights the characteristics that make systems amenable to ABM modeling. A large part comprises walk through illustrations of two models, namely, the spread of malaria in a spatially structured population and a model of the evolution of fimbriae. This last example also demonstrates how ABMs can be used to simulate evolution in a biologically realistic way.
Chapter 3: ABMs using Repast and Java
This chapter provides the reader with a practical introduction to agent-based modeling, via the Repast Simphony programming environment. Using examples of agent-based models from an earlier chapter, we look in detail at how to build models via either flowcharts or Java code. We illustrate some of the ways in which a toolkit such as Repast considerably simplifies the life of the modeler by providing extensive support for model visualization, charting of results, and multiple runs, for instance.
Chapter 4: Differential Equations
This chapter introduces the reader to the basic ideas underlying ordinary differential equations. Knowledge of the basic rules of differentiation and integration is assumed; however, one of the main objectives of the chapter is to convey to the biologist reader, in an intuitive way, the basic idea of infinitesimal change and differentiation. The second main aim of this chapter is to provide an introduction to ordinary differential equations. The emphasis of this chapter is on usability. By the end of the chapter the reader will be able to formulate basic, but practically useful, differential equations; have a grasp of some basic concepts, including stability and steady states); and will also have an understanding of some basic methods to solve them. Furthermore, the reader will be able to critically evaluate differential equation models she may encounter in the research literature. The more general theoretical introduction into this topic is accompanied by fully worked case studies, including a differential equation model of the spread of malaria and a stability analysis of Cherry and Adler's bistable switch.
Chapter 5: Mathematical Tools
This chapter describes the use of the free, open-source computer algebra system Maxima. Maxima is a system similar to Maple and Mathematica. The use of Maxima is illustrated by a number of examples. Special emphasis is placed on practical advice on how the software can be used, and the reader is made aware of difficulties and pitfalls of Maxima. The chapter also demonstrates how to use Maxima in practice by walking the reader through a number of examples taken from earlier chapters of the book.
Chapter 6: Other Stochastic Methods and Prism
This chapter introduces the reader to the concept of stochastic systems. It motivates the importance of noise and stochastic fluctuations in biological modeling and introduces some of the basic concepts of stochastic systems, including Markov chains and partition functions. The main objective of this theoretical part is to provide the reader with sufficient theoretical background to be able to understand original research papers in the field. Strong emphasis is placed on conveying a conceptual understanding of the topics, while avoiding burdening the reader with unnecessary mathematical detail. The second part of this chapter describes PRISM, which is a powerful computational tool for formulating, analyzing and simulating Markov-chain models. Throughout the chapter, concepts are illustrated using biologically-motivated case studies.
Chapter 7: Simulating Biochemical Systems
This chapter introduces the reader to the principles underlying Gillespie's widely-used stochastic simulation algorithm (SSA), for the exact stochastic modeling of chemical reactions involving relatively small numbers of molecules. We also look at Gibson and Bruck's improvements to the SSA, in order to support larger numbers of reactions, as well as the more recent variation by Slepoy, Thompson and Plimpton. All of these techniques are illustrated with Java implementations and a discussion of their complexity. We also introduce the Dizzy and SGNSim toolkits, which implement some of these approaches, along with tau-leap approximation and reaction delays.
Appendix: Reference Material
In the appendix we have provided reference material in a convenient form to support the main chapters. This includes: advice on running Repast Simphony in batch mode; some common rules on differentiation and integration; a short summary of Maxima and PRISM notation; and some basic mathematical concepts.
Source of all the associated material in GZIP/TAR format and ZIP format.
Date of latest version: 27th February 2012.
The source code comprises the following:
Chapter 2: Standalone Java source code for Conway's Game of Life.
Chapter 3: Repast Simphony projects for the chapter's case studies.
Chapter 6: PRISM scripts for the chapter's case studies.
Chapter 7: Java source code as Eclipse projects for implementations of Gillespie's Direct Method of the SSA, Gibson and Bruck's Next Reaction Method, and Slepoy et al's SSA-CR variation. (Updated 27th Feb 2012)
All materials © Springer, David J. Barnes and Dominique Chu, 2010-2012.
Please notify us of any errors or inaccuracies at the address below.
Thanks to our readers for notifying us of the following corrections:
Pages 132-133, Equations 4.1, 4.2 and 4.3:
Page 137, line 12 from the bottom:
5^2 = 25a
5^3 = 125a and
x(5) = 25 should be
x(5) = 125
Page 138, Equation 4.9:
x^3 should be
Page 142: the
i=0 below the summations should be
Page 148, line 14 from the bottom (not counting the footnote): 'create' should be 'created'
This section contains links to both free and commercial software and packages that may be of use to modelers. Most of these are mentioned in the book, but not all are covered in detail.
This page (http://www.cs.kent.ac.uk/imb/) is maintained by: David Barnes (the anti-spam email address will need editing by you) to whom any questions, comments and corrections should be addressed.
© David J. Barnes and Dominique Chu
Last Updated: 10th June 2015
Created: 29th June 2010