cellular automata models maria byrne august 10 th 2005 vicbc 1 st annual workshop
Post on 03-Jan-2016
Embed Size (px)
Cellular Automata ModelsMaria ByrneAugust 10th 2005VICBC1st Annual Workshop
Origin, History of Cellular Automata
Developed by Stanislaw Ulam, John von Neumann 1940sUlams lattice network model for crystal growthVon Neumanns self-replicating systems
Popularized by John Conway, 1970sGame of Life
Systematically investigated by Stephen Wolfram, 1980s1D Elementary Cellular Automata
Wolframs A New Kind of Science in 2002
Properties, Definition of Cellular AutomataDiscretized Space A regular lattice of nodes, sites, or cellsDiscretized Time The lattice is a dynamical system updated with time-steps.Discretized States For Each NodeE.g.; binary states
Discrete Vs ContinuousContinuous Approaches (PDEs)
Discrete Approaches (lattices)
Properties, Definition of Cellular AutomataUniversal Rule for Updating Node StatesApplied to every node identicallyStates at time t+1 are based on states at time t
Neighborhood (local) Rule for Updating Node StatesNew node states are determined by nearby states within the interaction neighborhoodRules may be deterministic or stochastic
Example of an Elementary CAWolframs Rule #122One-dimensional, only binary 0 and 1Initial conditions: (t=0)
Simple, Deterministic Update Rule:If exactly one neighbor is 1, become 1.If both neighbors are 1, become 0.States at t=1:
Example of an Elementary CAWolframs Rule #122
As t increases
Examples of Regular Lattices1-D
Examples of Interaction Neighborhoodsvon Neumann
Biological Application: C-Signaling in Myxobacteria
Dale KaiserNeighborhood for a Biological Application:C-Signaling in Myxobacteria
Versatility of CA in Biology 1980-1995Occular dominance in the visual cortex Swindale 1980Tumor Growth Duchting & Vogelssaenger, 1983; Chodhury et al, 1991; Pjesevic & Jiang 2002Microtubule Arrays Smith et al, 1984; Hammeroff et al, 1986Animal Coat Markings Young 1984, Cocho et al, 1987Cell sorting Bodenstein, 1986; Goel & Thompson 1988, Glazier & Graner 1993Neural Networks Hoffman 1987Nerve and muscle, cardiac function Kaplan et al 1988Cell dispersion Othmer, Dunbar, Alt 1988Predator Prey Models Dewdney 1988Immunology Dayan et al, 1988; Sieburgh et al, 1990; DeBoer et al, 1991Angiogenesis Stokes, 1989; Peirce & Skalak 2003Cell Differentiation and Mitosis Nijhout et al 1986; Dawkins 1989 Plant Ecology Moloney et al 1991Honey Bee Combs Camazine 1991G-protein Activation Mahama et al 1994Bacteria Growth Ben-Jacob et al 1994
Versatility of CA in Biology 1995-2005Population dynamics Janecky & Lawniczak 1995Reaction diffusion Chen, Dawson, Doolen 1995Actin Filaments Besseau & Geraud-Guille 1995Animal Herds Mogilner & Edelstein-Keshet 1996Shell pigmentation Kusch & Markus 1996Alignment Cook, Deutsch, Mogilner 1997Fruiting Body Formation of Dicty Maree & Hogeweg 2000Convergent Extension Zebrafish Zajac, Jones, Glazier 2002Fruiting Body Formation Myxobacteria Alber, Jiang, Kiskowski, 2004Limb Chondrogenesis Kiskowski et al, 2004; Chaturvedi et al, 2004T-cell Synapse Formation Casal, Sumen, Reddy, Alber, Lee, 2005Cellular Automata Approches to Biological ModelingErmentrout and Edelstein-Keshet, J. theor. Biol, 1993
Phototaxis during the Slug Stage of Dictyostelium discoideum: a Model StudyMare, Panfilov and Hogeweg Proceedings of the Royal Society of London. Series B. Biological sciences 266 (1999) 1351-1360
Advantages of Cellular AutomataStraight-forward implementation.Local rules are intuitive and easy to modify.Transversing length scales:Cells are a natural mesoscopic unit.With modern computational power, 10^3-10^5 cells can be modeled on a PC.Physical Mechanisms easily verifiedIn silico response variables may be the same as for an in vivo experiment.Reflects intrinsic individuality of cells.Unbounded complexity potential.
Example: Self-Organization Emerges from a Population of Equivalent Cells due to Local Individual Interactions
Shimkets and Kaiser
Disadvantages of Cellular AutomataAnalytic analysis of results difficult.Description of average behavior difficult.Require large computational resources.Arbitrary limitationsLimited directions on a regular latticeRigid body motion difficultArtifacts and discretization errors.
Example: Lattice ArtifactsRound off errors: particles appear and disappear unnaturally.
Overly regular structures.
Unrealistic periodic behavior over time: bouncing checkerboard behavior.
Building a Cellular Automata:Diffusion
1. Creating The LatticeSpace is a matrix corresponding to a square lattice:
2. Adding A Cell2. A cell is an occupied node where matrix values are non-zero.
Matlab: M(2,3) = 1;
3. Adding Different Cell TypesDifferent cells can be modeled as different matrix values.
M(2,2)=2; M(2,3)=2; M(3,3)=2; M(4,3)=2;
4. Choosing Random Cell DirectionsDiffusion of a cell is modeled by moving the cell in a random direction at each time-step. For each cell, choose a random number between 0 and 4:
0 => rest1 => right2 => up3 => left4 => down
Matlab: direction=fix (rand(1,1)*5)-1;
5. Move each cell in the chosen direction.Cells move by updating the lattice. Example: Moving a Cell to the Right
Matlab: M(2,3)=0; M(2,4)=1;
Diffusion: Technical DetailHow to handle cells which would move off the lattice?Reflection: cells must choose another direction.Periodic boundary conditions: cells leave and enter the other side of the lattice.Zero flux conditions: a cell may move off the lattice, but another cell appears at random at another boundary pixel
Slower diffusion is modeled by adding an increasedprobability that the cell rests during a timestep.
Fast: P(resting)=0 Slow: P(resting)=.9
Matlab: if rand(1,1) > P(resting) direction = fix (rand(1,1)*4); end
Application: Modeling FRAPFluorescent Recovery After PhotobleachingModeling the diffusion of fluorescent molecules and photobleaching a region of the lattice to look at fluorescence recovery.
1. Fluorescent molecules diffuse on the lattice.
2. All molecules in Region A are photobleached (state changes from 1 to 0).
3. Recovery: remaining flourescent molecules diffuse into Region A randomly.
Application: Modeling FRAPModeling the diffusion of fluorescent molecules and photobleaching a region of the lattice to look at fluorescence recovery.
Building a Cellular Automata:Diffusion and Growth
Building a Cellular Automata:Diffusion and GrowthFor simplicity, assume there is only one cell type.
Then, a non-zero state can refer to the age of the cell, rather than the cell type.
Modeling a Particle Timer
A new cell is represented by a node state 1.
(2) At each time-step, the cells state is increased by 1.Matlab: M = (M>0).*(M+1);Biologically motivated variation:The cell state increases only if there is enough oxygen.
(3) When the cells state reaches 10, the cell is ready to divide, and will divide if there is room to do so.
- Define Initial Conditions:Create a Lattice with Cells with TimersInitial conditions: cells are added to a 50x50 lattice with random positions at density .1 and random timer states between 1 and 10.Matlab: M=(rand(50,50)
Yellow: Timer =1Cyan: 1
2. Define Local Rules:Cells Diffuse and Cells AgeAt each time-step, cells diffuse by moving in a random direction.At each time-step, cell timers are increased by 1.If a cell timer is 10, and if there is an unoccupied node adjacent:A new cell is created in a random adjacent unoccupied node with state 1.The cells timer is reset from 10 to 1.
4. Modeling an oxygen sourceOxygen is modeled as a point source:Every time-step, 5 units of oxygen are added to the center of the lattice.Every time-step, units of oxygen diffuse.
Point Oxygen Source
5. Update Local Rules:Cells Diffuse and Cells Age/Grow Only If There is Enough OxygenAt each time-step, cells diffuse by moving in a random direction.At each time-step, cell timers are increased by 1 if oxygen is present.If a cell timer is 10, and if there is an unoccupied node adjacent:A new cell is created in a random adjacent unoccupied node with state 1.The cells timer is reset from 10 to 1.
Defining Spatial and Temporal ScalesWays of defining the temporal scale:
Spatial scale combined with known diffusion rates often describe temporal scale.Example: A cell moves y micrometers per second. If a simulation cell moves 1 node per time-step, and if a node is x micrometers in width, then one time-step is x/y seconds.
(2) Comparing time-evolution of pattern in simulation with that of experiment.If a pattern takes x hours to evolve in experiment, and y time-steps to evolve in silico, then y time-steps := x hours.(3) Intrinsic temporal scale: cell or molecule timer. If a cell timer counts x time-steps corresponding to a cell cycle of y hours, then one time-step corresponds to y/x hours.
Defining Spatial and Temporal ScalesWays of defining the spatial scale:
One node corresponds to one cell area.
(2) If there is a natural temporal scale (e.g., a cell cycle described by a timer of x time-steps), then the spatial scale can be calculated by comparing the diffusion rates of