You must login before you can run this tool.
Introduction and purpose
Nanoparticles can be designed to change shape and potentially other properties in specific pH conditions. Many cancers exhibit altered, glycolytic metabolism, leading to increased tissue acidity. This makes pH an ideal control for targeted release of cancer therapeutics.
Moreover, synthetic biology and other bioengineering techniques are increasingly creating novel compounds that can target and tune specific aspects of cell phenotype (behavior), such as proliferation, adhesion, motility, and metabolism. This presents both key opportunities and challenges: What if we could tune what a therapeutic does, and where it is delivered? Which therapies would be worth delivering? What are the key design parameters?
The aim of this tool is to explore these what if questions: users can set nanoparticle, tissue, cell, and drug response parameters for a growing tumor, and see for themselves how things could play out for their design choices.
Note that this tool is a work in progress: we are currently preparing a publication, which will be posted to bioRxiv in Summer 2018 and submitted for publication.
This project extensively involves undergraduates in its design and execution. Because we aim not only to develop useful research tools, but also train the next generation of bioengineers. As such, we greatly appreciate your constructive feedback on usability, features, and model biofidelity.
PhysiCell  simulates multi-substrate diffusive biotransport as a vector of diffusion-reaction equations using BioFVM , and adds lattice-free software agents to represent cells. Each cell agent has a hierarchical phenotype that contains a structured list of the cell's current behavioral parameters and properties. PhysiCell models basic interaction mechanics, motility, secretion/uptake of substrates, cell cycle progression, apoptosis, and necrosis. In addition, users can add custom functions and data on a cell-by-cell basis. This tool is built using PhysiCell and a number of custom functions to implement pharmacodynamics (response to a therapeutic agent).
Nanoparticles and pharmacokinetics
We model the shape-changing nanoparticle (NP) as two diffusing phases (NP1: the untransformed particle, and NP2, the transformed particle), which are released as NP1 at the simulation boundary. NP1 and NP2 can be assigned different diffusion coefficients and decay rates, reflecting that they can potentially be designed with radically different properties.
We model the nanoparticle shape change as a microenvironment-dependent transformation from phase NP1 to phase NP2, and vice versa. In the first versions of the tool, we specify NP1 to NP2 and NP2 to NP1 transformations as oxygen-dependent, as oxygen gradients generally correlate with pH gradients in tumors. Later versions will explicitly model tumor cell metabolism and pH changes.
The code can either base pharmacodynamics (below) upon the local NP1 and NP2 concentrations, or with an active NP influx model. In the code, we allow NP1 and NP2 to have separate uptake rates.
Full equations will be provided very soon.
Cells and pharmacodynamics
Cells will be assigned a wild-type microenvironment-dependent phenotype P0(E), where P is the vector of phenotype properties, and E is the cell's local microenvironmental conditions. As in , cell cycle entry increases with oxygenation, apoptosis occurs at a steady background rate throughout viable tissue, and necrosis increases with oxygen depletion.
We assume that a drug or therapeutic compound is conjugated to the nanoparticles, and that tumor cells uptake the conjugated drug along with the nanoparticles. This code will independently track internalized NP1 and NP2 for each individual cell.
We model pharmacodynamics for NP1 and NP2 separately. For either NP, we specify the the maximum phenotype response vector PM. Moreover, we specify a Boolean vector B that indicates which phenotypic elements the NP-conjugated drug acts upon. (For example, a drug that is purely cytostatic would act upon phenotype elements for cycle progression, and no others.) Each NP phase (1 or 2) has an independent Hill coefficient (h) and half-max effect internalized NP concentration (NP0.5). We use a Hill effects model:
E = NPh / ( NP0.5h + NPh).
Note that the code will also allow us to replace NP with an AUC (area-under-the-curve) model int_0^t NP(s) ds. Also, the code will allow an active damage and repair model, based upon the internalized NP concentration. More details on this in a future code release.
For each cell's current effect E, we set its phenotype to:
P = (1-E) P0(E) + E PM
Note that we compute the effect for each NP phase, and take the maximum effect. Equations will be posted in a future release, and a publication is being drafted.
Click "launch tool," then "load defaults." Change any settings, then click "write config file" and "run."
Console output (runtime progress) appears in "output" below, if you expand with the small triangle.
Visualization appears in "out:SVG". Slide the bar all the way to the left, and then scroll through the visualizations as the simulation runs.
The fields (e.g., O2, NP1 and NP2) appears in "out:Substrate". Choose a substrate from the drop-down menu, slide the bar all the way to the left, and then scroll through the visualizations as the simulation runs.
- Fixed a bug in the simulation code that sometimes caused a segfault when running with motile cells on multiple threads.
- Enabled cell motility, plus related parameters, in the GUI.
- Provided functionality to submit batch jobs and visualize their results.
- Provided cached results for both batch and interactive runs.
- Provided a "Load Config" dropdown widget to access cached results.
- Provided download buttons for (compressed) files associated with plots.
- Rearranged widgets in the Substrate Plots tab to more closely match Cell Plots tab.
- Improved the tool startup process, trying to avoid a blank screen.
- Allow selecting previously computed output (directories)
- Save/remember min/max for substrate ranges.
- Added plot titles to substrate plots.
- Added additional colormap palettes.
- Using checkboxes in plots updates displayed plots.
- Updated substrate plots to allow a fixed min/max range.
- Improved cell visualizations with (optional) black outlines to improve contrast with white background.
- Improved cell glyph (marker) size calculation.
- Disabled chemotaxis due to compiler issues.
- Minor usability refinements.
- Usability refinements.
- Initial public release.
User interface improvements:
- Enable motility (after migration to platform with gcc 6.0 or greater)
- Better defaults on slider bars for substrate visualization
- Export / download simulation data
- User-selectable cell coloring / shading (currently shaded by NP2 bioaccumulation)
- Further refinements based on user feedback
- Explicitly model tumor cell glycolytic metabolism, and model its effects on tissue pH
- Include tissue vascularization
- Include NP binding/unbinding to ECM
This software is powered by PhysiCell, 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.
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
The following undergraduate students have contributed to this project:
Jupyter notebook and UI development
- Eric Bower (IU Intelligent Systems Engineering, B.S., 2018-present)
- Daniel Mishler (IU Intelligent Systems Engineering, B.S., 2018-present)
- Tyler Zhang (IU Intelligent Systems Engineering, B.S., 2018-present)
NSF EEC-1720625. Network for Computational Nanotechnology - Engineered nanoBIO Node
 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
No publications have cited this tool. Yet. :-)
Cite this work
Researchers should cite this work as follows:
This tool is still in preparation for submission. For now, please cite:
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