Guide to Simulation and Modeling for Biosciences (2nd edition), 

Supporting Material 
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.
Guide to Simulation and 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 highquality, triedandtested modeling tools described in the book, as well as thorough descriptions and examples.
Topics and features:

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: Agentbased Modeling
This chapter introduces agentbased models (ABMs). These are computational semirealistic 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 equationbased 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 agentbased modeling via the Repast Simphony Agent Based Modeling toolkit. Using examples of agentbased models from an earlier chapter, we look in detail at how to build models using the Groovy programming language, which is based on Java. 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 agent creation, model visualization, charting of results, and multiple runs.
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, opensource 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 Markovchain models. Throughout the chapter, concepts are illustrated using biologicallymotivated case studies.
Chapter 7: Simulating Biochemical Systems
This chapter introduces the reader to the principles underlying Gillespie's widelyused 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 SGNS2 toolkits, which implement some of these approaches, along with tauleap approximation and reaction delays.
Chapter 8: Biochemical Models Beyond the Perfect Mixing Assumption
This chapter looks at modeling of biochemical systems when the assumption of perfect mixing is relaxed and spatial configurations of molecules need to be taken into account. Spatial simulations not only introduce additional degrees of freedom in the system, but demand a somewhat different way of thinking about the model. This chapter introduces the reader conceptually to spatial modeling but also contains two walkthrough examples. It uses the widely respected Smoldyn simulation software to illustrate the modeling process in spatial systems. The case study in this model is a biochemical change detector.
Appendix: Reference Material
In the appendix we have provided reference material in a convenient form to support the main chapters. This covers common rules of differentiation and integration, probability and brief examples of common Maxima and PRISM notation.
Source of all the associated material in GZIP/TAR format and ZIP format.
Date of latest version: 18th September 2015.
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 SSACR variation.
Chapter 8: Smoldyn scripts for the chapter's case studies.
All materials © Springer, David J. Barnes and Dominique Chu, 20102015.
Please notify us of any errors or inaccuracies at the address below.
We would welcome notification of corrections from our readers and will aim to publish them here.
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 J. Barnes (the antispam 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: 18th September 2015
Created: 29th June 2010