Repository for the manuscript "Universal principles of cell population growth follow from local contact inhibition"
All agent-based simulations in the manuscript use the HAL library, which is included in the "HAL" folder in this repository. We recommend checking the HAL Website for further information and tutorials, but the code in this repository is stand alone and can be run without modifications.
The birth-death-migration agent-based model lives in the "Model" folder, with the following important java files:
- Cell.java is the cell class (HAL model)
- BirthDeathMigrationModel.java reproduces figure 3
Agent-based modeling simulations for figure 3 can be reproduced by running "BirthDeathMigrationModel.java" main file inside the "Model" folder. Simulations and png's are exported into the "Figure 3" folder. We repeat the caption for the figure here: Figure 3. Growth curves of the agent-based model (ABM) depend on birth neighborhood (ω) and migration rate (m). A: Simulations with varied birth neighborhood size, ω. Shown for 201x201 domain. B: The cells composing the tumor surface, ns as a function of the total population size. A large value of ω (red) allows faster tumor growth. Large-ω tumors proliferate quickly due to increased surface area and less contact inhibition. C: The same analysis for varying cell migration rate, m. D: Tumors with high m proliferate faster due to increased surface area (ϕ= ω = 8 for both C, D) .Insets (B, D) represent the tumor surface drawn at time t = 100, colored by neighborhood size, ω, and migration rate m, respectively. Note that all cells have the same birth neighborhood.
Figure 4 is generated using MatLab code, with code for both panels inside the folder. We repeat the caption for the figure here: The probability of observing x neighbors given a total population of n cells. Mean of N stochastic realizations of an agent-based model seeded from a single cell in the center of the domain. The likelihood function, P, is estimated by summing the total number of cells with a completely filled neighborhood (xi = ωi) divided by total lattice size, l = 4096. A: No migration, varied birth neighborhood size. Birth rate is λ= 0.1, and migration is m= 0. Long-dashed line shows theoretical prediction (shown for d= 2; see eqn. 3.8); short-dashed line shows d = 3. The simulations approach the upper theoretical prediction as ω →0. B: High migration, varied birth neighborhood size. The birth rate is λ= 0.1 and the migration rate value is m= 1, with the neighborhood size of l. Our theoretical prediction (Eq. (3.10)) aligns well with the simulation data in the limit when l,n≫ω.