You must login before you can run this tool.
Introduction: Replication Competent Oncolytic Virotheray
This app demonstrates the interaction between a replication competent oncolytic viruse and a layer of epithelial cells. It uses the PhysiCell software published PhysiCell in Ghaffarizadeh et al. (2018) . In this model, epithelial cells (pink) divide while consuming oxygen, with greater availability of oxygen driving faster proliferation. There are two sections of the environment that simulate vein and the cells that make up these sections (red) are vein wall cells. To simulate an intravenous virus injection, the vein cells release virus particles over a specific amount of time. The time at which they release virus corresponds to the discrete time intervals for when the injection occurs. The majority of therapies inject treatment three times after a specific interval of time has passed. This tool allows the user to choose the number of injections and the time at which the injections occur. The colour of the vein wall cell changes with the level of virus within the cell (bright meaning high amounts of virus and dull meaning low amounts of virus). The virus the infects epithelial cells and these becoming infected (purple) cells. Inside the cell, viruses are able to replicate. Again, the shading of the infected cell changes with the amount of intracelluar virus. After the viruses has replicated sufficiently, the cell dies (turning yellow), releasing the virus into the local microenviroment.
This model and cloud-hosted demo are supported by the Australian Federation of Graduate Women Tempe Mann Travel Scholarship. The models are built using PhysiCell: a C++ framework for multicellular systems biology .
All chemical signals move by chemical diffusion in the simulated environment, using BioFVM  to solve the reaction-diffusion equations. A key property is the diffusion length scale. Diffusion (with a diffusion coefficient D) helps spread a signal over large distances, while decay (and uptake) (with coefficient λ) eliminates the signal to slow its spread. These effects compete to determine the characteristic distance L that a chemical signal travels.
That length scale L is given by L = sqrt( D/λ ).
Choosing D and λ can help to tune the chemical communication distance in these models.
This is released by the computational boundary (a simplified model of a far-field vasculature), and consumed by tumor cells.
We use a far-field value of 38 mmHg (about 5%), which is a typical physioxic condition. See  and  for more references. We use a length scale of 1000 μm, and cancer cell uptake gives a length scale of 100 μm in densely packed regions.
We use agent-based models to explore multicellular systems like this one. Each cell is modeled as a software agent with an independent state, and its own rules to change its behavior based on local environmental conditions and communication. We use PhysiCell as our modeling platform .
Key features in the agent-based models:
Epithelial cells can proliferate (divide into two daughter cells of half size), with division rates regulated by cell rules. In our model, cells continuously work to grow towards a "target" mature volume.
Note that birth is a stochastic events for each cell agent: if such a process occurs at rate r, then between now (t) and soon (t + Δt), the probability of the event occurring for that agent is rΔt.
Epithelial cells only die from the infection and replication of viruses. Once the virus has replication to a sufficient intracellular number, the cell goes into the apoptosis death cycle. Over time the volume of the dead cell decreases until it has disintegrated.
Virus intravenous injection and secretion:
Vein cells secrete virus after an intravenous injection has occurred. The timing and multiplicity of these injections can be specified.
Secretion and uptake:
Epithelial cells uptake virus from the microenvironment and secrete virus once they die. Epithelial cells "sample" the oxygen level and virus amount of their surrounding environment.
Epithelial cells are motile and vein cells are not. Motile cells perform biased migration. After traveling for Tpersistence time (the mean persistence time), they choose a new migration direction dmigrate. Based on the environmental conditions, the cell chooses a directional bias (intended direction) dbias and a random unit vector r. The motile direction dmigrate is then determined by according to:
dmigrate = b dbias + (1-b) r.
Here, b is a bias parameter (between 0 and 1) that determines how strongly biased migration is towards dbias. If b=1, then migration is deterministic towards dbias. If b = 0, then migration is completely random (Brownian).
Once the migration direction is chosen, it is normalized, and multiplied by the cell's migration speed.
Cell agents can stick to one another within a prescribed interaction distance (some multiple of their radius), and they can exert a pushing force on neighbors. PhysiCell  uses potential functions to implement these simple mechanics. Notably, PhysiCell is an off-lattice model, meaning that cells can have variable sizes, and can move freely without grid artifacts.
They aren't required to move some prescribed number of spatial steps. They also can divide without checking for an open neighbor "site". Instead, they can divide and push their neighbors out of the way.
PhysiCell allows custom functions for any cell agents. We use this to model focal cell-cell adhesions as spring-like forces. If two cells i and j (with positions xi and xj) have a focal adhesion, then cell i is adhered to cell j with a spring-like force that we model as:
Fij = ε (xj - xi),
where ε is the elastic coefficient. Because PhysiCell has an inertialess formatulation (see the method paper in ), this is added directly to the cell's velocity, and so ε has units min-1. To model the finite deformability of cells and these elastic focual adhesions, we detach the cells if their distance (||xj - xj||) exceeds a set maximum distance rmax.
Vein cells (Red)
To simulate virus infux from an intravenous injection, virus is secreted from vein cells at a rate sv which is a function of the total injected virus. Let nI be the amount of virus inside a vein cell, secreted at a rate
dnI/dt = -svnI
the rate at which secreted virus joins the density of extracellular virus will be proportional to the volume of the voxel the cell is in Vvoxel and the volume of the cell Vcell. The rate of change of the density of extracellular virus in the voxel containing the cell pE will be given by
dpE/dt = svnI/Vvoxel.
To allow for discrete injection of the virus at time ti,the intracellular virus in the vein cells are simultaneously instantaneously increased by the amount of virus injected V0.
Epithelial (uninfected) cells (Pink)
Epithelial cells divide at a rate proportional to oxygen availability. Oxygen-dependent cell cycle entry happens at a rate r modeled as
r = rmax p (σ - σH) ⁄ (σmax - σH) ,
where the oxygenation σ is sampled at the cell's position, σH is the hypoxic threshold below which cell cycle entry ceases, and cell cycle entry reaches a maximum rate of rmax for oxygen levels above σmax. See  for parameter values and further details.
Epithelial cells update virus from the microenvironment at a rate and virus within these infected cells replicates, therefore the intracellular amount of virus in epithelial cells is given by
where nE is the extracellular amount of virus, K is the capacity of the cell, cR is the replication rate of the virus and n* is the minimum threshold of virus needed to replication to occur.
The apoptosis rate of an infected cell is given by
a(nI) = nIa(La+nIa)
where L is the size of the virus population at which the apoptosis rate is half of the maximum possible rate.
We therefore consider three stages for the probability of apoptosis:
This software is powered by PhysiCell [1-2], a powerful simulation tool that combines multi-substrate diffusive transport and off-lattice cell models. PhysiCell is BSD-licensed, and available at:
- GitHub releases: https://github.com/MathCancer/PhysiCell/releases
- SourceForge downloads: https://sourceforge.net/projects/physicell/
It is a C++, cross-platform code with minimal software dependencies. It has been tested and deployed in Linux, BSD, OSX, Windows, and other environments, using the standard g++ compiler.
The Jupyter-based GUI was auto-generated by xml2jupyter , a technique to create graphical user interfaces for command-line scientific applications.
To learn more about our work, please visit MathCancer.org.
Randy Heiland, Research Associate, Intelligent Systems Engineering, Indiana University.
- Lead software architect
Paul Macklin, Ph.D. , Associate Professor, Intelligent Systems Engineering, Indiana University.
- Scientific lead, developed PhysiCell simulation model
Australian Federation of Graduate Women Tempe Mann Scholarship
 Ghaffarizadeh A, Heiland R, Friedman SH, Mumenthaler SM, Macklin P (2018) PhysiCell: An open source physics-based cell simulator for 3-D multicellular systems. PLoS Comput Biol 14(2): e1005991. https://doi.org/10.1371/journal.pcbi.1005991
 Ghaffarizadeh A, Friedman SH, Macklin P (2016) BioFVM: an efficient, parallelized diffusive transport solver for 3-D biological simulations. Bioinformatics 32(8):1256-8. https://doi.org/10.1093/bioinformatics/btv730
 Heiland R, Mishler D, Zhang T, Bower E, Macklin P (2019, in preparation) Xml2jupyter: Mapping parameters between XML and Jupyter widgets. J Open Source Software.
Cite this work
Researchers should cite this work as follows: