Skip to main content
Browse Subject Areas

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

Emergent Stratification in Solid Tumors Selects for Reduced Cohesion of Tumor Cells: A Multi-Cell, Virtual-Tissue Model of Tumor Evolution Using CompuCell3D

  • Maciej H. Swat ,

    Affiliation Biocomplexity Institute and Department of Physics, Indiana University, Bloomington, Indiana, USA

  • Gilberto L. Thomas,

    Affiliation Instituto de Física, Universidade Federal do Rio Grande do Sul, Porto Alegre, Brazil

  • Abbas Shirinifard,

    Affiliation St. Jude Children’s Research Hospital, Department of Information Sciences, Division of Clinical Informatics, Memphis, USA

  • Sherry G. Clendenon,

    Affiliation Biocomplexity Institute and Department of Physics, Indiana University, Bloomington, Indiana, USA

  • James A. Glazier

    Affiliation Biocomplexity Institute and Department of Physics, Indiana University, Bloomington, Indiana, USA


Tumor cells and structure both evolve due to heritable variation of cell behaviors and selection over periods of weeks to years (somatic evolution). Micro-environmental factors exert selection pressures on tumor-cell behaviors, which influence both the rate and direction of evolution of specific behaviors, especially the development of tumor-cell aggression and resistance to chemotherapies. In this paper, we present, step-by-step, the development of a multi-cell, virtual-tissue model of tumor somatic evolution, simulated using the open-source CompuCell3D modeling environment. Our model includes essential cell behaviors, microenvironmental components and their interactions. Our model provides a platform for exploring selection pressures leading to the evolution of tumor-cell aggression, showing that emergent stratification into regions with different cell survival rates drives the evolution of less cohesive cells with lower levels of cadherins and higher levels of integrins. Such reduced cohesivity is a key hallmark in the progression of many types of solid tumors.


Tumor cells and tumor structure both evolve over periods of weeks to years (somatic evolution). Microenvironmental factors such as levels of nutrients and oxygen, growth factors, host immune response and the structure and composition of the extracellular matrix (ECM), exert selection pressures on tumor cells, which influence both the rate and direction of evolution of specific behaviors (often designated hallmarks), especially the development of tumor-cell aggression and resistance to chemotherapies [1]. A particular problem for cancer treatment is that recurrent tumors are typically more aggressive than primary tumors, and that tumors often become resistant to chemotherapeutic agents. Thus treatment may have the iatrogenic effect of making the cancer more aggressive and less treatable. Cells within a single tumor vary in their morphological and molecular features. The tumor microenvironment is also heterogeneous, with marked spatial and temporal variations in the concentrations of metabolites and therapeutics, confounding efforts to assess how specific selection pressures favor particular cell phenotypes in vivo.

Somatic evolution can also lead to apparently paradoxical responses to treatment. E.g., metronomic chemotherapy, the near continuous administration of cytotoxic drugs at low doses with no extended interruption, induces dormancy in some types of cancers [2], though the effectiveness of metronomic therapy is greater in chemo-naïve than in previously-treated patients. Nutrient starvation (e.g. due to antiangiogenics) can cause tumor cells to shrink and enter a state of reversible dormancy, resuming active growth and proliferation when the microenvironment changes and more nutrients become available [3]. Starvation often (but not always) reduces the effectiveness of chemotherapies. Thus the same treatment may help some patients with a given tumor type and harm others. Despite the growing number of available tests for specific markers in tumors, in many cases, we cannot predict which patients a treatment regime will benefit and which it will harm. Understanding the interacting evolutionary pressures within a tumor will therefore be an essential step in enabling personalized and more effective treatment regimes. Because resources are limited and the number of potential treatment regimes limitless, exhaustive combinatoric patient-based trials with different combinations and regimes of drugs range from impractical to impossible. In addition, such studies can only determine optimal conditions for population-average responses and not for personalized treatment of individuals. Ideally, we would like to be able to predict how a tumor in a specific patient will react to a given treatment regime based on easily measured biomarkers. Virtual-tissue models of tumors may provide a pathway to developing such predictions.

Hybrid virtual-tissue models of tumor growth (e.g. [4] and review in [5]) are mathematical frameworks which can capture the complex interactions of tumor growth with intercellular and intracellular signaling across the multiple scales modulating cancer progression. The Glazier-Graner-Hogeweg (GGH) model [6] is a multi-cell hybrid virtual-tissue model that implements cell behaviors and interactions to predict tissue-scale dynamics. GGH model applications include embryonic development and development-related diseases, including angiogenesis [710], choroidal neovascularization in the retina [11], avascular [12] and vascular [7] tumor growth, chick-limb growth [13] and somitogenesis [14].

CompuCell3D (CC3D) [15] is a free, fully open-source modeling environment for developing and running GGH-based multi-cell, multi-scale virtual-tissue simulations. CC3D provides many multi-cell virtual-tissue model components, including GGH solvers for cell movement, PDE solvers for chemical fields, reaction-kinetics solvers for biochemical networks, visualization tools, etc. CC3D supports compact model specification using a combination of CompuCell3D Markup Language(CC3DML) and Python scripting. CC3D allows specification of arbitrary subcellular signaling, regulatory and metabolic dynamic network models using SBML and executes these models and their control of cell-level and tissue-level behaviors. CC3D also supports large-scale/macroscopic continuum models via Python scripting. CompuCell3D users can easily share models, which stimulates simulation code reuse and facilitates collaborative model development. CC3D’s use of CC3DML and Python for model specification greatly reduces the effort to develop biological simulations compared to traditional simulation development using C++ or Fortran. The CompuCell3D website ( provides free downloads of the CompuCell3D environment for the Windows, OSX and Linux operating systems and all model code.

This paper demonstrates step-by-step, the creation and execution of a multi-cell virtual-tissue computational model of tumor growth and evolution, providing a platform for the study of the influence of micro-environmental factors on tumor progression. The Appendix provides listings of all models in this paper. Our model focuses on small, early-stage benign tumors and on early development of metastases rather than on developed primary tumors, to identify the pattern of cell-behavior selection. While the average number of cells in our 2D model is less than 1000 at any time and the total cell turnover is on the order of tens of thousands of cells, much fewer than in even a small real tumor, we can map these simplified model tumors onto real tumors either by considering each model cell to represent an ensemble of hundreds or thousands of real cells or by considering each model tumor to represent a peripheral micro-portion of a much larger tumor mass.

Methods: Multi-Cell Virtual-Tissue Models of Tumor Evolution

Our model includes multiple cell agents of different types. Each cell agent has a set of defining properties, including its volume, surface area, intrinsic motility and two distinct classes of adhesion molecules on its membrane. Each cell interacts with neighboring cells and surrounding ECM and stromal tissue primarily by adhesion. We model ECM and stromal tissue as a simple uniform medium, rather than representing individual ECM fibers and stromal cells explicitly and model cells’ adhesion to ECM fibers and stromal cells using appropriate contact-energy coefficients—see later sections. We also include a diffusive growth-limiting nutrient (glucose). In our model, sufficient glucose availability promotes cell growth and proliferation, while glucose depletion causes accumulating cell damage, which may lead to cell death. We assume that all cells except stem-like cancer cells can undergo a limited number of cell cycles (Senescence). We represent the effects of all heritable genetic and epigenetic mutations as random variations of the parameters controlling cell behaviors, with variation occurring immediately after a cell division.

Outline: We first describe briefly model components (i.e., objects and processes) and their biological relevance and background. We then discuss the simplifying assumptions that allow us to abstract solid-tumor biology to construct a biomodel. Appendix 1 provides an implementation of this biomodel as a simulation, specified in CC3DML and Python. Finally, we compare the simulation results to experiments to estimate the model’s parameters.

Biological Components


Biomodel: Our generic solid tumor includes two main classes of generalized cells: tumor cells and stromal tissue. Tumor cells have two subtypes: stem-like cancer cells and somatic cancer cells. All tumor cells assume one of three possible states: Proliferating cancer cells—PCancer (PC), PStem (PS), which grow and divide, quiescent cancer cells—QCancer (QC), QStem (QS), which do not grow, and Necrotic cells (N), which die. An extracellular Medium (M) represents an aggregate of stromal cells and extracellular matrix (ECM).

We define a separate CC3D cell type for each class of cells which has a distinct set of biological behaviors and properties. While all cells of a given type have the same initial list of defining parameters, the properties of each cell of a given type can change during a simulation. We usually limit the number of cell types to no more than 15 to make the model intelligible (For our specific CC3D implementation of cell types, see Table 2).


Biomodel: Tumor growth in vivo depends on the levels of multiple diffusing substances, including blood nutrients (e.g. glucose and fatty acids), tissue oxygen, growth factors and pH. In our model, we assume that glucose is the main growth-limiting nutrient and include a diffusing field (G) representing glucose (see “Glucose Transport” section for details).

Biological Processes

Cell Motility, Time and the Glazier-Graner-Hogeweg Model

Biomodel: Cells move by making cytoskeletally-driven membrane protrusions and retractions and by making and breaking connections with their neighbors and the ECM. In the absence of external stimuli (e.g., gradients of chemical attractants or substrate properties), cells like fibroblasts migrate in a persistent random-walk pattern, where the cell typically moves at least one cell diameter in a given direction before changing direction. In our model, we assume that tumor cells in a cluster migrate via a random walk without a prespecified persistence length.

To simulate the dynamic motility of cells, we use the GGH model, also known as the Cellular Potts Model (CPM), a multi-cell, lattice-based, stochastic methodology for representing tissues. The GGH model uses spatially-extended domains of voxels on a fixed cell lattice to represent cells. Since such domains may also represent cell subcomponents, clusters of cells or portions of ECM, we call the domains generalized cells. Each voxel in the cell lattice has a position and an index σ () denoting the index of the generalized cell to which it belongs. For convenience, we also assign a cell type τ (σ) to each generalized cell σ. One or more generalized cells can represent a single biological cell. In the latter case, the biological cell corresponds to a cluster of generalized subcells, which we can use to represent cell compartments or cell polarity, or to assemble cells with complex shapes.

To model the dynamics of generalized cells, we associate an effective energy term with each generalized-cell behavior which involves motion (e.g., chemotaxis), force-mediated interaction (e.g., cell-cell adhesion, an external force), or size or shape constraint (e.g., the cell volume), etc.… In some cases, an effective energy term represents a physical interaction energy, e.g., cell-cell adhesion. In other cases, (e.g., chemotaxis) the effective energy is a shorthand to produce the desired behavior of cells and does not correspond to an actual energy.

To model a motile cell that has a defined volume and surface area, we use two effective energy terms in the form of constraints: the cell-volume (first term) and cell-surface constraints (second term): (1) where vσ and sσ denote a generalized-cell’s instantaneous volume or instantaneous surface area and Vσ and Sσ denote a generalized-cell’s target volume and target surface area, respectively. The constraints are quadratic and vanish when vσ = Vσ and sσ = Sσ. and are the constraint strengths which correspond to elastic moduli (the higher or the more energy a given deviation from the target volume or surface area costs).

The GGH model represents cytoskeletally-driven cell motility as a series of stochastic voxel-copy attempts. For each attempt, we randomly select a target site, , in the cell lattice, and a neighboring source site . If different generalized cells occupy these two sites, we calculate change in the energy (ΔH) that would occur if we were to copy the index in the the source-site voxel onto the target-site voxel. For almost all cell behaviors and interactions, the evaluation of ΔH requires calculations localized to the vicinity of the target voxel only.

The probability of accepting a voxel-copy attempt (i.e., overwriting the value in the target-site voxel) is: (2) where fH) is a decreasing function, bounded between 0 and 1. Here as in most GGH models, we set (3) where Tm is a parameter describing the amplitude of cell-membrane fluctuations. Tm can be a global parameter, cell specific or cell-type specific.

The net effect of the GGH voxel-copy algorithm is to lower the effective energy of the generalized-cell configuration in a manner consistent with the biologically-relevant “guidelines” in the effective energy: cells maintain volumes close to their target values, mutually-adhesive cells stick together, mutually repulsive cells separate, etc.…. The ability to make voxel copies which temporarily increase the effective energy helps avoid trapping the configuration in local effective-energy minima. The algorithm evolves the cell-lattice configuration to simultaneously satisfy the constraints, to the extent to which they are compatible. Generalized-cell movements are perfectly damped (i.e., average velocities are proportional to applied forces), which makes the updating method numerically stable, making the GGH model a robust tool for building virtual-tissue models [16].

The average value of the ratio for a given generalized cell determines the amplitude of fluctuations of the generalized-cell’s boundaries. High results in rigid, barely- or non-motile generalized cells and little cell rearrangement. For low , large fluctuations allow a high degree of generalized-cell motility and rearrangement. For extremely low , generalized cells may fragment in the absence of a constraint sufficient to maintain the integrity of the borders between them. Because is a ratio, we can achieve appropriate generalized-cell motility by varying either Tm or ΔH. Varying Tm allows us to explore the impact of global changes in cytoskeletal activity. Varying ΔH allows us to control the relative motility of the cell types or of individual generalized cells by varying, for example, , , Vσ, or Sσ.

The generalized cell representing the stromal material around the tumor has unconstrained volume and surface area. Medium voxels can be both source voxels, e.g., during retraction of the trailing-edge of a generalized cell, and target voxels, e.g. during formation of lamellipodia. Since Medium represents largely passive material, We use the amplitude of cytoskeletal fluctuations of the non-Medium target or source generalized cell to determine the acceptance probability for a voxel-copy involving Medium.

GGH simulations measure simulation time in terms of Monte Carlo Step units (MCS), where MCSs are N voxel-copy attempts, where N is the number of voxels in the cell lattice, and sets the natural unit of time in the model. The conversion between MCS and experimental time depends on the average cell motility. In biologically-meaningful situations, MCSs and experimental time are proportional.

Parameter Estimation: In CC3D, the size of the cell-lattice voxel sets the spatial resolution of the simulation. Here a square cell-lattice voxel (2D) represents 16 μm2. Our tumor cells have an initial volume of 256 μm2. We relate the simulation’s MCS time-scale to minutes by comparing cell-migration speeds in simulations to typical cell-migration speeds in experiments. Simulated tumor cells migrate at speeds of about 0.1 voxel/MCS. Experimentally, tumor-cell migration speeds range between 2 μm/hour to 12 μm/hour [17]. Matching the experimental value of 4 μm/hour sets one MCS to 6 min. Both [18] and [19] find that the active cells that lead to metastases move with relatively high speeds.

ECM fibers play a crucial role in enabling such rapid cell-migration. Cancer invasion models based on game theory reach similar conclusions [20], as do other CA models (e.g., [21]) that focus on the relative significance of the rates of cell death, proliferation and migration on tumor growth and spread. However, none of these models captures the role of cell adhesion changes (one of the classical hallmarks of cancer progression) on the initiation of the cancer invasion. Our model concentrates on the evolution of cell adhesion in tumors due to the tumor’s changing microenvironment. While, it does not explicitly represent ECM fibers or the intracellular signaling pathways that help control cell migration [19], we hope to include these more detailed submodels in future studies.

Cell Adhesion

Biomodel: Cell adhesion due to molecular binding of transmembrane adhesion receptors on one cell to either ligand transmembrane adhesion receptors on another cell or to the ECM is one of the most important interactions during tissue morphogenesis and maintenance [22]. A wide variety of adhesion molecules can mediate both cell-cell and cell-ECM adhesion. Detailed models of adhesion are complex because of the multiple interactions affecting these molecules, which occur in both the cytoplasmic and extracellular domains [23, 24]. Here, we assume that a single cadherin species mediates cell-cell adhesion via homotypic cadherin-cadherin binding and a single integrin species mediates cell-stromal tissue adhesion via heterotypic integrin-fibronectin binding. We simplify the strength of adhesion as the product of the number of bonds between two adhering objects and the strength per bond. Bond formation contributes a negative energy to the total effective energy in the model, and breaking a bond requires an energy at least equal to this binding energy. represent inter-cellular adhesive interactions, we add adhesion term to the effective-energy in Eq (1): (4) The outer sum of the (first) adhesion term iterates over all cell-lattice voxels. We refer to the closest voxels to as 1st order (nearest neighbor) voxels, and voxels further away as 2nd, 3rd order, etc.… neighbors of voxel . The inner sum (over ) iterates over all voxels in the neighborhood of voxel up to order Nmax. is the adhesion energy per unit contact area between two generalized cells—σ () and σ (). δ is the Kronecker delta function: (5) and the factor ensures that we only count energies between voxels belonging to different cells. Inclusion of the adhesion term in Eq. (4) reduces the amount of cell-cell contact between generalized cells with high values of and increases the amount of contact between generalized cells with low values of . In our model, we express as a function of the adhesion-molecule concentrations on generalized-cells’ surfaces. As we noted above, several classes of adhesion molecules can reside on a generalized-cell’s surface and we treat the ECM and stromal cells as a generalized cell. The binding energy per unit area between two adhering generalized cells due to integrin-like or cadherin-like adhesion molecules is: (6) where, for cells i and j, m and n are classes of adhesion molecules, km, n the affinity coefficient for those species, and their densities (the number of adhesion molecules of classes m and n, respectively, per unit area), and F is a function which describes the phenomenological relationship between the densities and the binding energy. In our model, we set (7) which assumes that each molecule of class m on cell i can bind only once to a molecule n on cell j.

Including all possible combinations of bonds between different classes of adhesion molecules, the adhesion energy per unit area is: (8)

To calculate the net contribution of adhesion to the effective energy, we sum the adhesion energies at every cell-cell and cell-stroma (cell-Medium) interface: (9) where we have replaced indicies i and j with σ () and σ () respectively, following the notation of Eq (1). Comparing Eqs. (4), (8) and (9), we see that: (10) Using Eq (10) we can express the GGH effective energy as: (11) See Table 3 for the CC3DML implementation of the adhesion energy and for initial parameter estimates.

Parameter Estimation: To form an initially cohesive solid tumor, we set (see Table 3) the AdhesionMoleculeDensity and the homotypic and heterotypic BindingParameters to values that produce a positive surface tension between tumor cells and Medium, which we calculate using the surface tension formula: (12)

A high positive γ produces a cohesive cluster of tumor cells, while zero (non-cohesive cells) or negative γ (invasive cells) indicates that tumor cells can separate from the tumor cluster and invade the surrounding Medium. Positive surface tension corresponds to cell-lattice configurations where replacing cell-cell interfaces with cell-Medium interfaces requires energy input—hence, in the absence of external stimuli, cells stick together, while negative surface tension causes cells to tend to separate, because creating cell-medium interfaces is energetically favorable.

We assume that heterotypic adhesion is weaker than homotypic adhesion and limit both Int and Cad densities to 16 units. Higher Int and Cad densities can cause generalized cells to fragment and introduce cell-lattice-alignment artifacts (see CC3D manual for details). In our model, the initial cohesive solid tumor has a γ of about 2.4. Later in the simulation, some cells evolve to express lower levels of Cad and higher levels of Int, reducing the surface tension and causing the cells to invade the Medium.

Glucose Transport

Biomodel: The blood vessels in biologically-normal stromal tissue supply nutrients at a rate which depends on the metabolic needs of the tissue, keeping nutrient levels in stromal tissue within physiologically-normal ranges. In our model, Medium supplies G at a constant rate α. Since Medium represents the normal cells in the stromal tissue as well as the ECM, it also takes up glucose at a rate proportional to the local glucose concentration G(x): (13) where ϵ is the first-order glucose uptake rate. In the absence of tumor cells, G approaches the equilibrium glucose concentration for normal stroma. Tumor cells take up glucose at a rate which is a Michaelis-Menten function of the local glucose concentration G(x), cell-type (τ) and cell-state (s): (14) where umax(τ, s) is the maximum uptake rate and K(τ, s) is a Michaelis constant, both of which depend on the cell-type (τ) and cell-state (s).

Glucose diffuses at a constant rate DG, with time-dependent secretion and uptake: (15) where, (16) and (17)

CompuCell3D includes a steady-state diffusion-equation solver, which is appropriate for a fast-diffusing species like glucose. Table 4 shows how the model specifies the behavior of glucose using this solver.

Parameter Estimation: We set the Glucose diffusion coefficient to 600 μm2/s which corresponds to 13500 voxel2/MCS. In the absence of tumor cells, Glucose concentration in the simulated stromal tissue approaches an equilibrium Glucose concentration of 5mM. 3D does not impose specific units for field concentration. We use femto-mole (fmol) per voxel as our unit and impose a scaling factor so that 5mM corresponds to 0.32 fmol/voxel.

Experimentally, cell glucose consumption rates are about 0.1 fmol/cell/s, which corresponds to 2.25 fmol/voxel/MCS, so we set the Glucose consumption rate of tumor cells in their queiscent phase to be 0.75 of that of tumor cells in their proliferating phase (1.69 fmol/voxel/MCS). We assume that stromal cells (represented implicitly by Medium) are the same size as tumor cells, occupy 20% of the stromal volume, and consume Glucose at the rate of tumor cells (0.75 fmol/voxel/MCS). For these parameters, Medium must supply Glucose at a rate of 0.145 fmol/voxel/MCS to maintain a stationary and uniform Glucose concentration of 0.32 fmol/voxel over the entire Medium in the absence of a tumor. If the Glucose concentration is stationary and uniform, both the left-hand side of Eq (15) and the diffusion term on the right hand side are zero, so the decay coefficient of Glucose (the first-order consumption rate), ϵ = 0.45. We set the Michaelis constant of Glucose (MichaelisMentenCoef) to 0.04 mM (0.00256 fmol/voxel).

Cell-State Transitions

Biomodel: Experimentally, microenvironmental factors including mechanical stress, hydrostatic pressure, low pH and starvation can cause temporary or permanent changes in tumor cells [25, 26]. In our model, however, we include only cell-state transitions due to nutrient availability. During a period of starvation (in a low-nutrient regime), tumor cells accumulate damage at rates that depend on their local nutrient levels. When accumulated damage in a cell passes a threshold which depends on the cell type and state, the cell dies (an irreversible cell-type transition). When a tumor cell divides, it resets its damage level to zero, so daughter cells do not inherit any accumulated damage from their parent.

Real quiescent tumor cells become proliferative only when they experience sufficient levels of nutrients for long enough periods (refractory behavior) [3]. We model this refractory behavior of individual quiescent-state tumor cells by requiring them to accumulate health, which biologically corresponds to repair of damage due to hypoxia or other harsh microenvironmental conditions. Cells that experience higher nutrient concentrations accumulate health at a faster rate, which saturates for high nutrient concentrations. Fig 1 shows how glucose supply induces transitions between model cell states and presents related flowcharts for the simulation code.

Fig 1.

A) Model cell-state transitions as a function of the glucose supply. As implemented in the simulation: (B) Flowchart for (Q)uiescent (S or C) cell transitions; (C) Flowchart for (P)roliferative (C)ancer cell transitions; (D) Flowchart for (P)roliferative (S)tem cell transitions.

To simulate transitions between normal and damaged cell states, we calculate the accumulated starvation factor, the cumulative effect of a suboptimal level of nutrients on the cell. When the starvation factor reaches a critical threshold, tumor cells (PC, QC, PS, QS) become necrotic cells. Different cell types have different starvation thresholds, xthresh. To calculate the cumulative starvation factor, we periodically check the glucose concentration at the center of mass of each cell. If the concentration is lower than the cell’s concentration threshold, the cell accumulates starvation damage at a rate increasing with the difference between the concentration threshold and the glucose concentration, x = xthreshG according to a Michaelis-Menten function with a saturation limit, m: (18) where m is the maximum uptake rate of glucose in a given cell and k is a Michaelis constant. Note that , for xk and M(x) ≈ m for xk. Table 5 shows the Python code for this function.

When, during a single MCS, the available glucose concentration is lower than xthresh the cell’s actual uptake of glucose is less than its uptake at a concentration of xthresh. Because cell starvation occurs when the glucose concentration falls below this threshold value, we define the starvation-factor increment as: (19)

In an analogous way, we define a cumulative “health” factor for cells: (20) In our model, at each MCS we check the concentration of glucose, G(xCOM), at each cell’s center of mass, then increase either the cell’s cumulative starvation factor by ΔS or the cell’s cumulative health factor by ΔQ, depending on whether the cell’s xthresh is greater or less than x.

We then iterate over each generalized cell in the simulation and determine whether the starvation coefficient is above the type-transition threshold for that generalized-cell’s type, in which case we change the generalized-cell type to Necrotic. The parameters ip.PNeThr0, ip.QNeThr0, ip.SNeThr0 and ip.QSNeThr0 store the starvation thresholds for PCancer, QCancer, PStem and QStem generalized-cell types respectively. For quiescent cells (generalized-cell types QCancer and QStem) we also check the health factor. If it is above the threshold for that generalized-cell state (ip.QPThr0 and ip.QSSThr0, respectively), we change the generalized-cell state to PCancer and PStem respectively. After a cell-type transition, we reset the health factor to zero. Table 6 presents the Python implementation of the model’s cell-type transitions, based on the starvation coefficients calculated in Table 7 in the Appendix.

Parameter Estimation: We assume that cells starve and accumulate damage when the Glucose concentration drops below 0.5 mM (0.032 fmol/voxel) (compare to [25, 26]). We calculate PNeThr0 and SNeThr0 based on the assumption that the cells die if they experience a glucose concentration of zero for 24 hours (damage accumulates at its highest rate for 24 hours = 102 MCS) [25, 26]. We assume that QCancer and QStem cells are more resistant to starvation than proliferating cells, so that both QNeThr0 and QSNeThr0 are twice as large as PNeThr0. We calculate QPThr0 and QSSThr0 based on the assumption that QCancer and Qstem cells that experience 5mM glucose for 24 hours switch to a proliferative state.

Cell Growth and Cell Death

Biomodel: A subpopulation of tumor cells proliferates when it has access to sufficient levels of nutrients. In our model, only PC and PS generalized cells grow and divide (via mitosis) once they reach their doubling volume. PC and PS generalized cells grow by consuming glucose. PC and PS generalized cells grow only when the glucose supply is above a threshold and these generalized cells grow faster for higher glucose levels. Necrotic generalized cells shrink at a constant rate, which is independent of the level of nutrients. In our model, once a generalized cell becomes Necrotic it cannot change back into any other generalized-cell type. Quiescent cancer cells (QC) and quiescent stem-like cells (QS) neither grow nor shrink. A generalized-cell’s volume and surface constraint parameters remain unchanged from the time its state changes to QC or QS.

We implement generalized-cell growth and shrinkage by manipulating generalized-cells’ Vis, Sis and λs in Eq (1).

Proliferating cancer cells (PC) and proliferating stem (PS) cells grow at a rate: (21) where ΔVi is the increase in the target volume of generalized cell i per MCS. is the center of mass of generalized cell i and is the glucose concentration at this point. Gthresh is the minimum glucose concentration which allows cells to grow. k is the growth speed and θ the Heaviside step function: (22) We update the generalized-cells’ target volumes once per MCS. To maintain the generalized-cells’ surface-to-volume ratios, we adjust the generalized-cells’ target surface area as: (23) where qs, v = 4 is a scaling factor derived on the assumption that cells in the simulation should be nearly circular in shape. In our 2D simulations, the relationship between surface area and volume for a circular generalized cell is: (24) Necrotic generalized cells shrink and disappear by reducing their target volumes at a constant shrinkage rate until their target volumes reach 0: (25) where is the constant shrinkage rate for necrotic cells and Vi is the current target volume of the Necrotic generalized cell. Once a generalized-cell’s target volume reaches 0, it will disappear as neighboring generalized cells overwrite its voxels. Table 8 shows the Python implementation for these mechanisms.

Parameter Estimation: We assume that PC and PS generalized cells that experience 5mM glucose take 24 hours to reach their doubling volume and divide. We set g in Eq (21) to 0.34 fmol/voxel and set k(incvol) = 0.2 so it increases the generalized-cells’ target volume by 16 voxels in 24 hours. To allow elongated generalized-cell shapes and prevent alignment of generalized-cell boundaries along the cell-lattice’s symmetry axes, we set qs, v = 4, slightly higher than in Eq (24).

Mitosis, Senescence and Mutation

Biomodel: When a growing cell reaches its doubling volume, it undergoes mitosis. Depending on the type of cell undergoing mitosis and the number of cell cycles it has completed, the two daughter cells may change their types and cadherin and integrin expression levels.

Mitosis splits cells into two daughter cells of roughly equal volumes. The Python code in Table 9 sweeps through all generalized cells once per MCS to identify generalized cells that should divide.

In our model, we refer to a cell just before mitosis as a parent cell. Mitosis divides the voxels of the parent generalized cell roughly equally between a generalized cell which keeps the identity of the parent generalized cell and a new daughter generalized cell. While this usage differs from the biological terminology, it reflects the actual bookkeeping in the simulation. Mitosis resets the parent and daughter generalized-cells’ target volumes and target surface areas to their reference values, and their cumulative damage and health to 0. In the model only two generalized-cell types grow and divide: PC, PS. A senescence counter, nd, counts the number of divisions a PC or QC generalized cell has undergone since its transition from a PS generalized cell. We assume that cancer cells typically undergo a maximum number of divisions md. On each division of a PC parent generalized cell we pick R from a Gaussian distribution r: (26) where r (x; md, δd) is the Gaussian probability distribution of variable x with mean md and standard deviation δd and (27) If nd > R both the parent and daughter generalized cells become Necrotic. For PC generalized cells, md = 8 and δd = 2.

When a PS generalized cell divides, the parent generalized cell becomes a QS generalized cell and the daughter generalized cell has a probability of 1 – ip.probstem of becoming a QC generalized cell and of ip.probstem of becoming a QS generalized cell. We normally set ip.probstem = 0.2. As the “Cell-State Transitions” section describes, high nutrient availability induces quiescent stem cells (QS) to become proliferating stem generalized cells (PS). Our simulation implements the senescence and stem generalized cell → cancer generalized cell transition using the Python updateAttributes function in Table 10.

CompuCell3D calls the updateAttributes function immediately after a parent generalized cell divides. The function first resets the parent and daughter generalized-cells’ Vis, Sis and λs. ip.V0 stores their reference target volume and ip.LBD_V0 and ip.LBD_S0 store their reference λvol and λsur (see Eq (1)).

During mitosis, we also simulate random changes in the surface expression of adhesion molecules. Each parent generalized cell has a small probability (pm = 0.1 stored in ip.probmut) of randomly changing its adhesion-molecule expression levels. We scale expression levels of cadherins and integrins to the range 0 to 16. After mitosis, we draw a number R from a gaussian distribution r (x;jam, δam), where jam is the current adhesion-molecule expression level for the parent generalized cell and δam is the standard deviation of the gaussian distribution. In our simulations, we set δam = 2.0. We store the cadherin expression level in the jcadh variable and the integrin expression level in jint. ip.cadhstdev stores the value of δam, which we assume is the same for cadherins and integrins.

When R is within the allowed expression-level interval ([0, 16]) we set: (28) otherwise, we reject the mutation. Our model varies only the levels of cadherin and integrin and not the level of fibronectin (FN)—i.e., the adhesion molecule associated with Medium. Daughter generalized cells inherit their parent generalized-cell’s adhesion molecule expression levels. Table 11 shows Python code implementing this mutation mechanism.

Parameter Estimation: We limit the AdhesionMoleculeDensity of both Int and Cad to values between 0 and 16 because this range produces both positive (cohesive) and negative (invasive) surface tensions and minimizes cell-lattice artifacts that can occur for large, positive surface tensions. Our algorithm rejects adhesion-molecule expression-level changes if they would cause the adhesion-molecule expression level to fall outside the allowed interval, which eliminates bias towards the end-values of the interval. Setting expression levels that fall outside the allowed interval to end-values causes a bias towards the end-values of the interval. For any initial value, in the absence of selection, random mutation leads the population average to drift towards the middle of the interval. Distinguishing such random-walk drift from evolution due to selection pressure is difficult, so we set the initial adhesion-molecule expression levels to 8, the middle of the allowed interval.

To facilitate simulation of the cell processes and behaviors described in this paper our simulations include modules which the center of mass and set of voxels belonging to each generalized cell. Appendix A. (Table 12) shows CC3DML implementation of these modules.

As an initial condition, we place an 82-voxel quiescent stem (QS) generalized cell in the middle of the cell lattice. Table 13 shows the CC3DML implementation of this initial condition.

Table 14 shows the CC3DML to define the cell-lattice dimensions (<Dimensions>), type of boundary conditions (<Boundary_x>, <Boundary_y>), average amplitude of cell membrane fluctuations (<Temperature>), neighbor range used to pick source and target voxels for voxel-copy attempts (<NeighborOrder>), simulation duration in MCS (<Steps>) and the seed for random number generator (<RandomSeed>).


Size and Shape Dynamics

In our simulations, the initial cancer stem (QS) generalized cell grows into a cohesive solid tumor that reaches a maximum diameter of about 500 μm during the first simulated month. During the next simulated 10 days (day 30 to day 40), tumor generalized cells at the center of the tumor die and form a necrotic core that is about 250 μm in diameter (Fig 2A.1 and 2B.1). At this stage, some PS generalized cells at the periphery also die through senescence after reaching their maximum number of divisions. Since we do not model angiogenesis, the total amount of Glucose the Medium supplies limits the diameter of a compact tumor to under 500 μm. This nutrient-limited regime lasts between four and twelve simulated months. As tumor generalized cells progressively become less cohesive (due to mutations accumulated during mitosis) (Fig 2A.2), the tumor becomes less spherical and elongates, usually leading to splitting of the tumor into two clusters that are nearly equal in size. The less cohesive cluster then usually outgrows the more cohesive cluster, because its elongated shape has more contact area with Medium, which allows higher rates of Glucose transport into the cluster (Fig 2B.2). Any clusters that do not contain stem generalized cells eventually disappear. Tumor generalized cells become potentially invasive if they express low levels of cadherin and high levels of integrin. When such invasive generalized cells come to the edge of their cluster and contact the Medium, they can leave their clusters and invade the Medium (Fig 2A.2). Generalized cells that have invaded the Medium proliferate faster than those remaining in a cluster (see population plots in Fig 3A3B), since glucose levels outside clusters are significantly higher than levels inside or at the periphery of clusters. Thus the spreading invasive cells eventually outcompete nearby tumor because they have higher probability of survival than generalized cells in a larger cluster.

Fig 2. Simulation snapshots.

Row A) Generalized-cell type: dark green: QCancer, light green: PCancer, dark red: QStem, light red: Pstem, Light purple: Necrotic. Row B) Accumulated damage due to starvation. Row C) Surface tension between tumor generalized cells and Medium, see Eq (12). Times: first column: ∼ 40 days, second column: ∼ 1 year, third column: ∼ 3 years. CompuCell3D code that we used to generate this figure can be downloaded from See also Table 1 for the list of parameters used to generate this figure.

Table 1. Reference parameter set.

The entire model is available at—listed as Emergent Stratification Model. For an explanation of the effective units of these parameters see text.

Fig 3. Tumor generalized-cell populations by generalized-cell type as a function of time (each plot shows results from a single simulation replica).

The fraction of stem-like cancer generalized cells increases steadily in all simulations.

For the reference set of parameters, predominantly dispersed, invasive generalized cells become dominant after about 3 simulated years (Fig 2A.3)—see section “Parameter Effects on Tumor Growth and Evolution” for detailed studies of the parameter space. After this stage, small clusters (less than 20 cells) continuously form and disintegrate, as stem-like generalized cells leave their clusters or die due to rapid accumulation of damage. Even though we did not vary the fraction of stem-like offspring of stem-like generalized cells or allow this fraction to evolve in this paper, the fraction of stem-like generalized cells in the total population gradually increases with time. We will present our studies of the effects of evolutionary change on the fraction of stem-like generalized cells in a future paper.

Starvation and Evolution of Cell Adhesion

In our model, invasion of Medium is a winning strategy for generalized cells. Generalized cells gain invasive behaviors in two key phases. In the initial phase, as long as generalized cells remain in clusters, differential cell adhesion leads to cell-sorting in which generalized cells expressing lower levels of cadherins and higher levels of integrins (relative to the typical levels in the cluster) move to the surface of the cluster and generalized cells expressing higher levels of cadherins (relative to typical values in the cluster) move towards the center of the cluster (the black arrow in Fig 4C). As generalized cells move towards the center of the cluster, they cease to proliferate, starve and eventually die. Thus generalized cells which remain on the surface of the cluster proliferate more rapidly than those in the interior of the cluster, selecting for the least cohesive generalized cells in the cluster. Since a generalized cell’s cadherin level has a greater effect on its radial position in the cluster than its integrin level, initial selection predominantly favors generalized cells with decreased cadherin levels (Fig 4A). Because starvation selects for lower relative adhesion between generalized cells, the typical cadherin level of the generalized cells in the cluster decreases continuously until, in the second phase, the least cohesive generalized cells (those with high levels of integrin and low levels of cadherin) in the cluster are able to migrate out of the cluster. This invasive phenotype corresponds to a negative surface tension between Medium and tumor generalized cells (Fig 2C.2, Fig 4B4C). As we discussed in section “Size and Shape Dynamics”, invasive generalized cells then come to dominate the tumor-cell population, and spread throughout the Medium.

Fig 4. Evolution of typical generalized-cell cohesivity vs. time.

A) Average density of cadherin (Cad) of tumor generalized cells in arbitrary units (AU) vs. time. B) Average density of integrin (Int) of tumor generalized cells in arbitrary units (AU) vs. time. C) Average surface tension between tumor generalized cells and Medium vs. time.

Parameter Effects on Tumor Growth and Evolution

Our model of emergent tumor stratification has about 50 parameters. Some parameters values are available in the cancer literature, others are not, including the probability of a random mutation of a generalized-cell’s cadherin expression and the distribution of changes in cadherin expression on mutation. In any case, because we are simulating a much smaller number of generalized cells than the number of cells we would find in a real tumor, we must greatly increase the probability of mutation per generation and the magnitude of the typical phenotypic consequence of a mutation, if we wish to observe a significant evolution of the phenotype. Since the goal of this work is to examine how specific types of selection pressure contribute to the emergence of specific tumor morphologies, we care more about relative rates of mutation than absolute rates and the sequence of evolutionary events rather than their absolute times of occurrence. Despite these caveats, we observe patterns of changes of cell behavior which should be robust if we were to reduce the overall rates of mutation and increase the simulation size to more realistic values. As long as all cells are sufficiently cohesive that they remain attached to the primary cluster, selection favors cells with lower relative cell-cell adhesivity and higher cell-stroma adhesivity. Because only cells with lower relative adhesivity benefit, the mean absolute adhesivity decreases until cells are able to separate from their cluster and invade the surrounding tissue. To check the robustness of this evolutionary pattern to the mutation rate and amplitude parameters, we varied the probability of cadherin-level and integrin-level mutation Pm and the standard deviation δam of the Gaussian probability distribution used to select the mutated cadherin and integrin expression levels (see eqs. (26) and (28)), using the same Pm and δam for both cadherin and integrin.

For each value of Pm (from the set {0.1, 0.2, 0.3}) and each value of δam (from the set {0.5, 1.0, 1.5, 2.0}) we ran 10 simulation replicas with different random seeds. We then correlated Pm and δam values with the typical behavior of the replicas. As we would expect, larger Pm and δam decreased the time until the first appearance of generalized cells able to invade the surrounding stromal tissue and increased the average number of clusters at a given time. Despite these quantitative differences, the qualitative series of changes in generalized-cell and cluster properties were independent of the mutation rate and amplitude.

Parameter Scan Methodology

To facilitate parameter scans, we developed a parameter-scan module for CompuCell3D that automatically runs multiple replicas of a simulation over a user-defined parameter space. We analyzed our parameter-scan results using Python scripts employing the 3rd-party tools Pandas (, numpy ( and scikit-learn (

The key to efficient management of studies which require long simulations is to store sufficient information to support flexible postprocessing. Otherwise, a change to the analysis protocol can require time-consuming rerunning of all replicas in the entire simulation set. We therefore store, every 1000 MCS, a summary file (a data snapshot) including each generalized-cell’s index, type, volume, surface area, cadherin and integrin levels, and center-of-mass position. Although a typical simulation replica has only a few hundred generalized cells at any time, a typical run generates between 20,000 and 50,000 tumor generalized cells as cells divide and die. In addition, generalized cells frequently change type (see Fig 1). When we approximate generalized-cell-type-dependent metrics, e.g., the average distance generalized cells of a given type travel over a fixed time, we bin the data for that generalized cell based on the type it had when it first appeared in a snapshot. While a recording interval of 1000 MCS is too slow for some types of measurement, it suffices for evolutionary changes, which happen on an even slower time scale.

To aggregate the behaviors of multiple simulation replicas with identical Pm and δam, for each simulation metric we used envelop plots showing the minimum, maximum, and median metric value as a function of time. In a substantial number of cases, the behavior of a few replicas differs significantly from the behavior of a typical replica (see cluster plots for e.g., Pm = 0.1 and δam = 1.0). However, none of these cases refutes our basic conclusions about the evolution of invasive phenotypes.

Generalized-Cell-Type Populations

The number and fraction of generalized cells of each type changes with time. The number of Necrotic generalized cells increases as the cluster grows, then decreases once generalized cells begin to invade the surrounding tissue, see Fig 5. For Pm = 0.1, δam = 0.5 and for Pm = 0.1, δam = 1.0 the number of Necrotic generalized cells decreases slowly, while for other combinations of Pm and δam the number of Necrotic generalized cells decreases rapidly. A cluster must contain at least one stem-like generalized cell to survive, so we expect the fraction of stem-like generalized cells to increase as the number of clusters increases and the cluster size decreases. The number of stem-like generalized cells increases continuously. For Pm = 0.1, δam = 0.5 and Pm = 0.1, δam = 1.0 the number of stem-like generalized cells increases more slowly than for other combinations of parameters (see Figs. 6 and 7). As more generalized cells develop an invasive phenotype, the initial cluster gives way to many smaller clusters. Because these clusters are small, almost all generalized cells receive sufficient glucose and the number of necrotic generalized cells decreases as the number of proliferating non-stem cancer generalized cells begins to saturate (see Fig 8). We see a clear distinction if we compare the numbers of quiescent (Fig 9) and proliferating (Fig 8) non-stem cancer generalized cells. Both saturate and begin to decrease, the former as soon as a few generalized cells establish new clusters, the latter only when small clusters fill the entire tissue.

Fig 5. Number of Necrotic generalized cells as a function of time.

In all replicas, the number of Necrotic generalized cells decreases after generalized cells begin to invade the stromal tissue.

Fig 6. Number of quiescent cancer stem-like generalized cells as a function of time.

In all replicas, the number of quiescent cancer stem-like generalized cells increases in time.

Fig 7. Number of proliferating cancer stem-like generalized cells as a function of time.

In all cases, the number of proliferating cancer stem-like generalized cells increases in time.

Fig 8. Number of proliferating non-stem cancer generalized cells as a function of time.

The number of proliferating non-stem cancer generalized cells saturates and even to decrease when most generalized cells are able to invade the stromal tissue, forming numerous tumor small clusters.

Fig 9. Number of quiescent non-stem cancer generalized cells as a function of time.

The number of quiescent non-stem cancer generalized cells saturates and begins to decrease once a few generalized cells are able to invade the stromal tissue and the mean cluster size begins to decrease.

Number of Clusters

To count the number of generalized-cell clusters, we used the DBSCAN algorithm [27] in the scikit-learn Python package ( DBSCAN views clusters as areas of high density, separated by areas of low density. We defined a cluster as a group of at least five generalized cells whose centers of mass are at most 6 voxels from their nearest cluster-mate (Fig 10) and configure DBSCAN algorithm accordingly. The number of clusters increases in time once generalized cells become able to invade the stromal tissue and establish new clusters. If we define the aggressiveness of the tumor as the rate at which new clusters develop, the aggressiveness increases for larger Pm and δam. For many combinations of Pm and δam, the number of clusters eventually peaks and then decreases when medium-sized clusters split into isolated generalized cells and transient associations of fewer than five generalized cells. We can understand this second transition if we remember that the mean motility of the generalized cells increases continuously in time. When this motility is too small, all of the generalized cells remain condensed in a single cluster. For larger motilities, the large cluster breaks up into multiple medium-sized clusters. However, still larger motilities lead to a second phase transition in which all clusters become unstable, reducing the number of clusters (5 or more generalized cells separated a COM-to-COM distance of at most 6 voxels) that DBSCAN algorithm detects. If we also count transient associations of 2, 3 and 4 generalized cells (Fig 11) and also include isolated generalized cells as separate clusters (Fig 12), the number of clusters increases and eventually saturates, when it reaches the maximum the available space permits.

Fig 10. Number of clusters with at least five generalized cells as a function of time.

The number of clusters increases in time once generalized cells become able to invade the stromal tissue and establish new clusters.

Fig 11. Number of transient associations of 2, 3 and 4 generalized cells and clusters of five or more generalized cells as a function of time.

The number of clusters increases continuously until it reaches the maximum the available space permits.

Fig 12. Number of isolated generalized cells, transient associations of 2, 3 and 4 generalized cells and clusters of five or more generalized cells as a function of time.

The number of clusters increases continuously until it reaches the maximum the available space permits.

The surface tension between generalized cells determines whether they can invade the surrounding stromal tissue. For Pm = 0.1,0.2 and δam = 0.5, the average surface tension stays positive at all times (see Fig 13). For all other combinations of Pm and δam, the average surface tension eventually decreases below zero, after which the number of clusters rapidly increases. The number of Necrotic generalized cells decreases a short time later. These observations show that, even in the absence of other factors stimulating invasiveness, a high rate of cadherin mutation enables rapid metastasis. Consequently, studies of the regulation of adhesion molecules may give researchers clues to designing therapies to slow the rate of increase of tumor invasiveness. Such therapies would be especially useful to patients undergoing any of the many treatments, which can increase the invasiveness of surviving tumor tissue.

Fig 13. Average surface tension of tumor cells as a function of time.

Only simulations with Pm = 0.1 and δam = 0.5 or δam m = 1.0 have positive average surface tension at all times. In all other cases, the average surface tension eventually drops below zero and the generalized cells invade the stromal tissue.

Average Lifetime and Total Travel Distance of Generalized Cells

Fig 14 shows the lifetimes for different initial generalized-cell types for different values of Pm and δam. As we expect, Necrotic generalized cells have short lifetimes and total travel distances, so the period a generalized cell spends in necrosis has a small effect on its total lifetime and travel distance. Quiescent non-stem generalized cells (QC) clearly have a lower probability of dying by senescence than proliferating non-stem generalized cells, since they do not divide, but, since quiescent generalized cells are closer to glucose-depleted regions than proliferating generalized cells, we might expect them also to have a higher probability of entering a glucose-depleted region and becoming necrotic, shortening their lifetime. However, in all cases, the proliferating non-stem-like generalized cells have a shorter lifetime than the quiescent non-stem-like generalized cells, indicating that necrosis is more important than starvation in determining their lifetime. As a result, initially quiescent non-stem-like generalized cells travel a longer total distance than initially proliferating non-stem-like generalized cells (Fig 15). Since stem-like generalized cells do not die from senescence, but are otherwise identical in properties to non-stem-like generalized cells, we would expect them to live longer than non-stem-like generalized cells, and, indeed, the typical lifetime of stem-like generalized cells is several-fold greater than that of non-stem-like generalized cells. As a result, initially proliferating stem-like generalized cells travel a longer total distance than proliferating non-stem-like generalized cells and quiescent stem-like generalized cells travel a longer total distance than quiescent non-stem-like generalized cells (Fig 15). The relationship between proliferating and quiescent stem-like generalized cells is more complex. Since these cells generalized do not experience senescence we would expect that proliferating stem-like generalized cells would have longer lifetimes than quiescent stem-like generalized cells. We see this relationship only for Pm = 0.2, δam = 0.5, Pm = 0.3, δam = 0.5 and Pm = 0.3 and δam = 1.0. In addition, for stem-like generalized cells, the relative lifetimes do not strictly correspond to the total travel distances, with the longer-lived type having a shorter total travel distance for Pm = 0.1, δam = 0.5, Pm = 0.2, δam = 0.5, Pm = 0.3, δam = 0.5.

Fig 14. Average lifetime of generalized cells, by initial generalized-cell type.

In each bar, the black-red boundary is the minimum generalized-cell lifetime, the red-blue boundary is the median generalized-cell lifetime and the top of the blue portion is the maximum generalized-cell lifetime, all averaged over all cells of the specified initial generalized-cell type and over all replicas for a given Pm and δam.

Fig 15. Average total distance traveled by generalized cells, by initial generalized-cell type.

In each bar, the black-red boundary is the minimum total distance, the red-blue boundary is the median total distance and the top of the blue portion is the maximum total distance, all averaged over all cells of the specified initial generalized-cell type and over all replicas for a given Pm and δam.


As in clinical and experimental cancer progression, simulation replicas of our model with the same parameters can produce a range of outcomes. However, for all replicas in the parameter range we studied, the qualitative evolution of adhesivity and initiation of metastasis agree with experimental observations of cell-behavior evolution in tumors, with single generalized cells or clusters of generalized cells developing high motility and detaching from the primary tumor [19], showing that the evolutionary trend and its consequences are robust. Together, these results suggest that weakening cell-cell adhesion and strengthening cell-stromal-tissue adhesion are primary enablers of metastasis.

Future Work

Our simple model provides an easy-to-extend framework for exploring additional determinants of tumor evolution, some of which are difficult or impossible to measure or control in vitro and in vivo. The model enables tracking of cell-scale population heterogeneity and dynamics, cell-lineages, fitness and selection pressures. Most importantly, it also allows prediction of population-level drift (rates of evolution) of cell behaviors as a function of a limited number of experimentally-accessible parameters. These predicted population-level drifts can identify the factors most likely to promote or retard cancer progression and thus optimize cancer therapies. Thus extensions of our model can provide deeper insight into what drives tumor evolution, especially when we couple signaling and metabolic network models with cell- and tissue-behavior models. This coupling bridges the gap between molecular-scale observations and tissue-scale tumor progression. E.g., in real tumors, changes in the adhesive properties of cells result from both heritable changes in the form or number of cell adhesion molecules and from cells’ response to hypoxia in tumors [28]. We are conducting simulations to explore the differences in tissue-level phenotype of these two mechanisms, alone and in combination. We are also simulating the effect on tumor phenotypes of variations in the fraction of stem-like progeny of stem-like-cell divisions, which prior computational studies have suggested promote increased agressiveness in surviving tumor tissue after therapy [21]. Adding a model of ECM alignment due to tension forces created by the tumor cells would be another natural extension of our model, since in in vitro experiments, cells follow aligned ECM fibers when they leave the primary tumor [19].

Appendix: Simulation Implementation

This appendix presents the CC3D simulation implementation of the biomodels from the main text. The listings are in CC3DML and Python.

Generalized-Cell Type Specification

The simulation defines six generalized-cell types (Medium, proliferating non-stem (PCancer), quiescent non-stem (QCancer), Necrotic, proliferating stem (PStem) and quiescent stem (QStem) generalized cells, which we abbreviate as M, PC, QS, N, PS, QS in the text) (see subsection “Cells” under “Biological Components”). Table 2 defines these generalized cell types in CC3DML:

Generalized-Cell Adhesion

Table 3 defines the generalized cells’ type-dependent initial molecular densities of cadherin and integrin adhesion molecules:

Table 3. Initial adhesion molecule density definition in CC3DML.

We first define the internal adhesion-molecule names Cadherin (Cad), Integrin (Int), and Fibronectin (FN). The AdhesionMoleculeDensity tags describe the initial concentration of adhesion molecules at the surface of generalized cells of the type specified as a CellType attribute. In the <BindingFormula> section we specify the mathematical formula for —see Eq (7)—as:

<Formula>min(Molecule1, Molecule2)</Formula>

In the <AdhesionInteractionMatrix> section we specify km, n, the affinity coefficients between different adhesion molecule classes. Unspecified combinations of adhesion classes have their affinity coefficient set to 0. Finally, we set Nmax in Eq (9) using the <NeighborOrder> tag.

Glucose Transport

Since Glucose diffusion is fast compared to the rate of cell reorganization, Glucose reaches its steady-state distribution. Consequently we set the left-hand side of Eq (15) to zero and use the following CC3DML syntax for the CC3D steady-state diffusion solver:

Table 4. Steady state diffusion solver expressed in CC3DML

Generalized Cell Health and Damage Algorithm

In the StarvationDamageAcumulator Python steppable we define M (x), see Eq (18) as:

Table 5. Steady state diffusion solver expressed in CC3DML

For PCancer, QCancer, PStem, QStem cells, we increment their starvation and health factors using the Python code as follows:

Table 6. Python implementation of starvation and health factor calculations.

The ip.GluD variable stores the xthresh value for the critical glucose concentration for PCancer cells. ip.PUgMax is the maximum uptake rate of glucose (m in Eq (18)) and ip.GluK is the constant k in Eq (18). Similarly ip.QUgMax,ip.SUgMax and ip.QSUgMax are the maximum uptake rates for QCancer, PStem and QStem respectively.

Generalized Cell Type Transition Algorithm

We specify the algorithm to implement generalized-cell type changes as follows:

Generalized-Cell Growth and Death Algorithm

The generalized-cell growth and death algorithm can be conveniently expressed in Python code as follows:

Table 8. Python implementation of generalized-cell growth and death.

After each MCS, we iterate over all generalized cells in the simulation and shrink Necrotic generalized cells by a constant amount (ip.decvol) provided that their volume is greater than their current target volume (cell.targetVolume). PCancer and PStem generalized cells grow according to Eq (21) where ip.PGrThr0 and ip.SGrThr0 store values of Gthresh from Eq (21) for PCancer and PStem generalized cells respectively and ip.incvol stores the value of k from Eq (21). ip.ktgs stores the value for qs.v (see Eq (23)).

Mitosis, Aging and Mutation Algorithms

Table 9. Python code selecting generalized cells which will undergo mitosis.

ip.volmaxmit stores the value of the doubling volume for PCancer and QCancer generalized cells whereas ip.Svolmaxmit stores the doubling volume for PStem and QStem generalized cells. The first for loop builds a list of generalized cells to divide and division takes place in the second for loop. In our model quiescent generalized cells do not grow however, a growing proliferating generalized cell with a volume close to doubling volume can become quiescent. In this special situation quiescent generalized cell can divide.

Table 10. Python implementation (partial) of the updateAttributes function which modifies the properties of parent and daughter generalized cells after mitosis.

Table 11. Python implementation of updateAttributes function (continuation of Table 10) to randomly mutate cadherin expression levels.

Helper CompuCell3D modules, initial conditions and basic GGH parameters

Here we present the CC3DML modules which track centers of mass and monitor sets of pixels belonging to each individual generalized cell:

Table 12. CC3DML instantiation of center of mass and pixel tracker modules.

As an initial condition, we single 3x3 voxel quiescent stem cell located in the middle of the lattice:

Table 13. CC3DML specification of initial generalized cell layout.

Finally, we specify thelattice dimensions (<Dimensions>), boundary conditions (<Boundary_x>,<Boundary_y>), average amplitude of generalized-cell membrane fluctuation (<Temperature>), neighbor range used to pick source and target voxels for the voxel copy attempt (<NeighborOrder>), duration of the simulation in MCS (<Steps>) and the seed for the random number generator (<RandomSeed>) in CC3DML as follows:

Table 14. CC3DML specification of basic simulation properties.

Simulation parameters

For completeness, Table 1 lists the parameters that generated Fig 2.


We gratefully acknowledge support from the National Institutes of Health, National Institute of General Medical Sciences, grants R01 GM077138 and R01 GM076692, The Environmental Protection Agency, and the Office of Vice President for Research, the College of Arts and Sciences, the Pervasive Technologies Laboratories and the Biocomplexity Institute at Indiana University. Dr. Gilberto L. Thomas acknowledges support from the Brazilian agencies Conselho Nacional de Pesquisa e Desenvolvimento (CNPq) and Fundação de Amparo à Pesquisa do Estado do Rio Grande do Sul (FAPERGS) under the grant PRONEX-10/0008-0.

Author Contributions

Conceived and designed the experiments: GLT AS JAG MHS SGC. Performed the experiments: MHS GLT AS. Analyzed the data: MHS GLT AS SGC JAG. Wrote the paper: MHS GLT AS SGC JAG. Developed/coded models: GLT AS MHS.


  1. 1. Hanahan D, Weinberg RA. Hallmarks of cancer: The cext generation. Cell 144, 646–674 (2011). pmid:21376230
  2. 2. Berruti A, Sperone P, Bellini E, Daffara F, Perotti P, Ardito A, et al. Metronomic therapy concepts in the management of adrenocortical carcinoma. Horm. Cancer 2, 378–384 (2011).
  3. 3. Kenific CM, Thorburn A, Debnath J. Autophagy and metastasis: another double-edged sword. Curr. Opin. Cell. Biol. 22, 241–245 (2010).
  4. 4. Anderson ARA. A hybrid mathematical model of solid tumour invasion: the importance of cell adhesion. Math. Med. Biol. 22: 163–186, (2005).
  5. 5. Rejniak KA, Anderson ARA. Hybrid models of tumor growth. Wiley Interdiscip. Rev. Syst. Biol. Med. 3, 115–125 (2011). pmid:21064037
  6. 6. Glazier JA, Balter A, Pop[suppress]lawski NJ. Magnetization to morphogenesis: A Brief history of the Glazier-Graner-Hogeweg model. In: Anderson ARA, Chaplain MAJ, Rejniak KA (eds.) Single-Cell-Based Models in Biology and Medicine, pp 79–106. Birkh[notdef]auser, Basel, Boston and Berlin (2007).
  7. 7. Shirinifard A, Gens JS, Zaitlen BL, Pop[suppress]lawski NJ, Swat M, Glazier JA. 3D multi-cell simulation of tumor growth and angiogenesis. PLoS ONE 4, e7190 (2009). pmid:19834621
  8. 8. Merks RMH, Glazier JA. Dynamic mechanisms of blood vessel growth. Nonlinearity 19, 1–10 (2006).
  9. 9. Merks RMH, Brodsky SV, Goligorksy MS, Newman SA, Glazier JA. Cell elongation is key to in silico replication of in vitro vasculogenesis and subsequent remodeling. Dev. Biol. 289, 44–54 (2006).
  10. 10. Merks RM, Perryn ED, Shirinifard A, Glazier JA. Contact-inhibited chemotaxis in de novo and sprouting blood-vessel growth. PLoS Comput. Biol. 4, e1000163 (2008). pmid:18802455
  11. 11. Shirinifard A, Glazier JA, Swat M, Gens JS, Family F, Jiang Y, et al. Adhesion failures in the Bruch’s membrane-retinal pigment epithelium-photoreceptor outer segment complex determine the pattern of choroidal neovascularization: a computer simulation study. PLoS Comput. Biol. 8: e1002440 (2012). pmid:22570603
  12. 12. Pop[suppress]lawski NJ, Agero U, Gens JS, Swat M, Glazier JA, Anderson AR. Front instabilities and invasiveness of simulated avascular tumors. Bull. Math. Biol. 71, 1189–1227 (2009).
  13. 13. Pop[suppress]lawski NJ, Swat M, Gens JS, Glazier JA. Adhesion between cells, diffusion of growth factors, and elasticity of the AER produce the paddle shape of the chick limb. Physica A 373: 521–532 (2007).
  14. 14. Hester SD, Belmonte JM, Gens JS, Clendenon SG, Glazier JA. A Multi-cell, multi-scale model of vertebrate segmentation and somite formation: PLoS Comput. Biol. 7, e1002155 (2011).
  15. 15. Swat M, Thomas GL, Belmonte JM, Shirinifard A, Hmeljak M, et al. Multi-Scale modeling of tissues using CompuCell3D. Methods in Cell Biology 110, 325–366 (2012). pmid:22482955
  16. 16. Andasari V, Roper R, Swat MH, Chaplain MAJ. Integrating intracellular dynamics using CompuCell3D and Bionetsolver: Applications to multiscale modelling of cancer cell growth and invasion. PLoS ONE 7: e33726 (2012). pmid:22461894
  17. 17. Zaman MH, Trapani LM, Sieminski AL, MacKellar D, Gong H, Kamm R, et al. Migration of tumor cells in 3D matrices is governed by matrix stiffness along with cell-matrix adhesion and proteolysis. PNAS 103, 10889–10894 (2006). pmid:16832052
  18. 18. Condeelis J, Singer RH, Segall JE. THE GREAT ESCAPE: When cancer cells hijack the genes for chemotaxis and motility. Annual Review of Cell and Developmental Biology 21, 695–718 (2005). pmid:16212512
  19. 19. Condeelis J, Segall JE. Intravital imaging of cell movement in tumours. Nat.Rev. Cancer 3, 921–930. (2003). pmid:14737122
  20. 20. Basanta D, Hatzikirou H, Deutsch A. Studying the emergence of invasiveness in tumours using game theory. Europ. Phys. J. 63, 393–397 (2008).
  21. 21. Enderling H, Hlatky L, Hahnfeldt P. Migration rules: tumours are conglomerates of self-metastases. Br. J. Cancer, 100(12), p.1917–1925 (2009). pmid:19455139
  22. 22. Steinberg MS. Reconstruction of tissues by dissociated cells. Some morphogenetic tissue movements and the sorting out of embryonic cells may have a common explanation. Science 141, 401–408 (1963). pmid:13983728
  23. 23. Ramis-Conde I, Drasdo D, Anderson ARA, Chaplain MAJ. Modeling the influence of the E-Cadherin-β-Catenin pathway in cancer cell onvasion: a multiscale approach. Biophysical Journal 95: 155–165, (2008). pmid:18339758
  24. 24. Ramis-Conde, I, Chaplain, MAJ, Anderson, ARA, Drasdo, D. Multi-scale modelling of cancer cell intravasation: the role of cadherins in metastasis. Phys. Biol., 016008 (2009).
  25. 25. Hlatky L, Sachs RK, Alpen EL. Joint oxygen-glucose deprivation as the cause of necrosis in a tumor analog. J. Cell Physiol. 134, 167–178, (1988). pmid:3279056
  26. 26. Lieberthal W, Menza SA, Levine JS. Graded ATP depletion can cause necrosis or apoptosis of cultured mouse proximal tubular cells. Am. J. Physiol. 274, F315–327 (1998). pmid:9486226
  27. 27. Ester M, Kriegel HP, Sander J, Xu X. Intravital imaging of cell movement in tumours. Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining, Portland, OR, AAAI Press, pp. 226–231. (1996).
  28. 28. Jing SW, Wang YD, Chen LQ, Sang MX, Zheng MM, Sun GG, et al. Hypoxia suppresses E-cadherin and enhances matrix metalloproteinase-2 expression favoring esophageal carcinoma migration and invasion via hypoxia inducible factor-1 alpha activation. Dis. Esophagus. 26, 75–83, (2013). pmid:22340517