PhysiCell biorobots simulation

2D sim of director, worker, and cargo cells.

Launch Tool

You must login before you can run this tool.

Version 2.1 - published on 27 Jul 2020

doi:10.21981/09V3-J053 cite this

Open source: license | download

View All Supporting Documents

Category

Tools

Published on

Abstract

GUI Overview

  • Config Basics tab: parameters common to all models (e.g., domain grid, simulation time, choice/frequency of outputs)
  • Microenvironment tab:   model-specific parameters for the microenv: director and cargo signals.
  • User Params tab:   more model-specific parameters
  • Out: Plots tab:        output display of cells and substrates
  • Animate tab:           generate an animation of cells

Clicking the 'Run' button will use the specified parameters and start a simulation. When clicked, it creates an "Output" widget that can be clicked/expanded to reveal the progress (text) of the simulation. When the simulation generates output file(s), they can be visualized in the appropriate output tabs. The "Max" count in each output tab will be dynamically updated as those output files are generated by the running simulation. When the "Run" button is clicked, it toggles to a "Cancel" button that will terminate (not pause) the simulation.

Introduction: a simulation of biorobots

3 cell types: cargo cells, worker cells (which seek out cargo cells and haul them to a destination), and director cells (which attract worker cells).

This app demonstrates how simple "rules" for three types of agents (biorobots) and two substrates (signals).

In this simulation, "worker bots" (red) seek out "cargo" (blue), form focal adhesions, and haul the cargo towards "director agents" (green) where the cargo is released.

Click here to jump straight to the instructions. 

This model and cloud-hosted demo are part of a course on computational multicellular systems biology created and taught by Dr. Paul Macklin in the Department of Intelligent Systems Engineering at Indiana University. It is also part of the education and outreach for the IU Engineered nanoBIO Node and the NCI-funded cancer systems biology grant U01CA232137. The models are built using PhysiCell: a C++ framework for multicellular systems biology [1].

Signals

There are two (chemical) signals move by chemical diffusion in the simulated environment, using BioFVM [2] 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.

Director signal:

Director cells secrete a diffusible chemoattractant, but are otherwise stationary agents.

Cargo signal:

Cargo cells secrete a diffusible chemoattractant. This factor is released by undocked cargo to help guide chemotaxis by the worker biorobots.

The chemoattractant is nondimensionalized so that 0 ≤ a ≤ 1, and we initially assign a length scale of 100 μm.

Agents:

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 [1]. 

Key features in this models:

Secretion and uptake:

Agents can secrete chemical factors, or they can remove them (i.e., consume or uptake). This can contribute to gradients in chemical factors, and it's a key method of communication between cells. Moreover, cells can "sample" the chemical state of their surrounding environment. Secreting is sending a signal. Uptaking and sampling is receiving a signal.

Biased migration:

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.

Mechanics:

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 [1] 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.

Focal adhesions:

PhysiCell allows custom functions for any cell agents. We use this to model focal cell-cell adhesions as spring-like forces. If two cells (agents) 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 [1]), 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.

Worker cells (red)

Worker cells (biorobots) do not divide, but they can be assigned an apoptotic death rate to model normal "wear and tear." We model workers as non-adhesive except by spring-like focal adhesions; see focal adhesions. They are made more "repulsive" (by default, fivefold more repulsive) to allow them to more readily move through dense cellular regions. Worker cells consume oxygen, but at a reduced rate (by default, 10% of the rate of cancer cells).

Unattached worker cells use the following as their migration bias direction: 

dbias = ∇a,

where a is the chemoattractant released by unattached cargo cells. Note that ∇ is the gradient operator that points towards higher concentrations of a chemical factor.

Unattached worker cells test for near contact with unattached cargo cells. If they detect an unattached cargo cell with active receptor R (R ≈ 1), they form a focal adhesion (see focal adhesions).

Attached worker cells change their migration bias direction to:

dbias = -∇σ,

where σ is the oxygen.

Cargo cells (blue)

Cargo cells do not divide, but they can be assigned an apoptotic death rate to model normal "wear and tear." We model cargo as non-adhesive except by spring-like focal adhesions; see focal adhesions. They are made more "repulsive" (by default, fivefold more repulsive) to allow them to more readily move through dense cellular regions. Cargo cells consume oxygen, but at a reduced rate (by default, 10% of the rate of cancer cells). Note that all cargo cells are non-motile.

Initially, all cargo cells express a receptor R with dimensionless value 1, which is used to control their chemical secretions. If R = 1, they secrete chemoattractant a to help guide worker cells. If R = 0 and they are unattached, then they secrete the therapeutic c.

Cargo cells permanently deactivate their receptor (set R = 0) once they are attached to a worker cell. They detach from worker cells if σ < σrelease.

Basic instructions

Modify the parameters in the "Config Basics" and "User Params" tabs. Click the "Run" button once ready.

To view the output results, click the "Out:Plots" tab, and click/drag the slider to advance through simulation frames. (You can also use the left/right arrow buttons to move the slider if it's selected.) Note that as the simulation runs, the "max" field (maximum frame number) will increase, so you can view more simulation frames. You can toggle on/off the display of either cells or substrates, assuming you selected them to be computed in the "Config Basics" tab. And you can select different substrates and different colormaps from the dropdown widgets.

Note that you can download full simulation data for further exploration in your tools of choice.

Cite this work

Researchers should cite this work as follows:

  • Randy Heiland, Paul Macklin (2020), "PhysiCell biorobots simulation," https://nanohub.org/resources/pc4biorobots. (DOI: 10.21981/09V3-J053).

    BibTex | EndNote

Tags