You must login before you can run this tool.
Category
Published on
Abstract
Generating Turing-like patterns in an off-lattice agent based model
Ben Duggan and John Metzcar
April 24, 2019
1 Background
1.1 Turing's morphogenesis model
From Turing's Chemical Basis of Morphogenesis[6],
(1) | |
(2) |
with no flux boundary conditions:
(3) | |
(4) | |
(5) |
1.2 Turning patterns in cell-based modeling
2 Cell Agents
- These cells act as the 'inhibitors' in a classical Turing Pattern and are affected by B cell's secretion $beta$.
- Uses life cycle model and cycles and commits apoptosis with rates dependent on chemical environment (concentration of $beta$ as described in Section (5)).
- Motility is enabled with no bias (completely random) and speed determined by chemical environment (concentration of $beta$ as described in Section (5)).
- A cells secrete alpha and are affected by beta but uptake no chemicals.
- Cell B - yellow
- These cells act as activators in the typical Turing Pattern equations and are affected by A cell's secretion alpha.
- Uses life cycle model and cycles and commits apoptosis with rates dependent on chemical environment (concentration of aloha as described in Section (5)).
- Motility is enabled with no bias (completely random) and speed determined by chemical environment (concentration of alpha as described in Section (5)).
- B cells secrete beta and are effected by $alpha$ but uptake no chemicals.
- Wall cells - black
- These cells line the domain and prevent the A and B cells from leaving the domain.
- Uses life cycle model and divides and commits apoptosis with transition rates set to zero (never divide or die).
- Motility is disabled and cells are set to be immovable.
- Does not secrete or uptake anything.
Note that the default values have the two cell types (A and B) set to the same behaivors (same values for all parameters). Exploring parameters of these cell types to produce a Turing like pattern is one of the fun things about this model! Also, exact ideal values are yet to be determined. When additional information becomes available, the default values will be updated.
3 Chemical Environment
- Alpha is intended to correlate to the inhibitory chemical. It is secreted by A cells and affects B cells. It has a diffusion length scale of 40 m m, decay rate of 62.5 min-1 and diffusion coefficient of 100,000 (m m2)/(min). Alpha acts more like a quorum signal in this model than an inhibitor in the classic Turing Pattern and the A cell, which secretes $alpha$, is what represent the inhibitory "chemical". This deviation from the traditional model allows for additional mechanics interactions to play out.
- Beta is intended to correlate to the activator chemical. It is secreted by B cells and affects A cells. It has a diffusion length scale of 40 m m, decay rate of 62.5 min-1 and diffusion coefficient of 100,000 (m m2)/(min). Beta also acts more like a quorum signal in this model than an activator in the classic Turing Pattern and the B cell, which secretes $beta$, is what represent the activator "chemical".
- Oxygen (O2) is turned off in the simulation and thus has no effect on the cells.
4 Simulation Initialization
Cells are initialized randomly at greater than equilibrium spacing. See Section (2) for additional information.
Chemical fields are initialized with zero value across the computational domain.
We use no-flux boundary conditions.
5 Models
There are three different model variants which can be selected. The models are called in the update_phenotype() method and are selectable using the model_number option in the parameters. The core of each model is the logistic function. It was selected because it is symmetric about the y-axis and provides rapid change around the midpoint with less dramatic change on the extremes (it is sigmoid). The logistic function has the form:
(6) |
We use it as in Equations (7) and (8). Equation (7) is used for promotion of the base parameter (either cell speed or rate of apoptosis), resulting in a value of P of the particular rate. Equation (8) works similarly, but decreases the parameter value as the input increases (base proliferation rate). In both cases, we let x0 equal 0.5, k equal 10, be base rates of proliferation, apoptosis, or speed, and finally x is the local value of alpha or beta as appropriate. This produces a logistic equation bounded between 0 and 1 and set with inflection point at 0.5. See Figure (2) and (3) for a graphical representation of the functions.
(7) | |
(8) |
5.1 Model 1
This was the first model attempted and can be implemented by setting model_number to 1. It simply lets equal , , and with the resulting cross-inhibition and promotion of A cells by B cells and vice versa. While proliferation is limited somewhat, in this model at the default parameter settings. it is not balanced by apoptosis and the cell count expands without bound.
5.2 Model 2
This model builds on the previous model (Section (5.1)) and adds a pressure based control on proliferation. If the cell sensed relative pressure exceeds 0.5, then the rate of proliferation drops to 0. Otherwise, proliferation is governed by Equation (7) with set to the base rate of proliferation.
5.3 Model 3
This model builds on the Model 2 (Section (5.2)) by retaining the pressure based limit on proliferation and adding another term to the determination of proliferation, based on self-promotion (versus the strict cross-promotion and inhibition of the previous models).
The goal of this model was to make it more Turing-like by having an activator in the function. The motility and apoptosis are let alone while adding this activator functionality to proliferation. This is still symmetric between A and B cells but the bias can be set independently. The equation used for A type cells is
and for B type cells alpha and beta are switched.
6 Options
6.1 Cell initialization
There are several initialization all set by entering integer values into the placement_pattern parameter. Using -1 will create a pattern of 7 horizontal strips similar to the initialization in 5.a in Volkening et al. [7]. If you use -2 then it will use the sample pattern as -1 but with the middle chunk of cells cut out, similar to 9.b in Volkening et al. [7]. The space between cells can additionally be changed using cell_spacing which is 0.95 by default.
Additionally, integer values any number greater than 1 can be entered into placement_pattern which will make the environment saturated with cells, 1, and less saturated as the number gets bigger. When using this placement pattern you can also set the fraction of cells that will be A type using the cell_frac_A which is set to 0.5 by default.
6.2 Model selection
You can select Model (5.1), (5.2) or (5.3) by inserting 1, 2 or 3, respectively, into the model_number parameter.
References
[1] A. Ghaffarizadeh, R. Heiland, S. H. Friedman, S. M. Mumenthaler, and P. Macklin. Physicell: An open source physics-based cell simulator for 3-d multicellular systems. PLOS Computational Biology, 14(2):1–31, 02 2018. doi: 10.1371/journal.pcbi.1005991. URL https://doi.org/10.1371/journal.pcbi.1005991.
[2] A. Gierer and H. Meinhardt. A theory of biological pattern formation. Biological Cybernetics, 12:30–39, 1972.
[3] D. Karig, K. M. Martini, T. Lu, N. A. DeLateur, N. Goldenfeld, and R. Weiss. Stochastic Turing patterns in a synthetic bacterial population. Proceedings of the National Academy of Sciences, 115(26):6572–6577, June 2018. ISSN 0027-8424, 1091-6490. doi: 10.1073/ pnas.1720770115.
[4] S. Kondo. Turing pattern formation without diffusion. In How the world computes, pages 416–421. Springer, 2012.
[5] J. D. Murray. Mathematical Biology II: Spatial Models and Biomedical Applications, volume 2. Third edition edition.
[6] A. Turing. The Chemical Basis of Morphogenesis. Philosophical Transactions of the Royal Society of London. Series B, BiologicalSciences, 237(641):37–72, 1952.
[7] A. Volkening and B. Sandstede. Modelling stripe formation in zebrafish: An agent-based approach. Journal of The Royal Society Interface, 12(112):20150812, Nov. 2015. ISSN 1742-5689, 1742-5662. doi: 10.1098/rsif.2015.0812.
Cite this work
Researchers should cite this work as follows: