PhysiCell Studio
0.1.0
  • Introduction
  • Guide
  • Galaxy
  • Gallery
    • template
    • biorobots
    • cancer biorobots
    • heterogeneity
    • virus-macrophage
    • interaction
    • worm
  • Publications
  • Funding
PhysiCell Studio
  • Gallery
  • View page source

Gallery

Work in progress…

template

_images/template.gif

A very simple model that has 1 cell type (“default”) and 1 (unused) substrate (“substrate”). The number of initial cells (=5) are specified as a User Parameter. The simulation time is 5 days and results are output every hour. This cell type has a phenotype that includes:

  • cell cycle resulting in proliferation

  • cell death

  • default adhesion and repulsion (mechanics)

  • no motility

  • no secretion

biorobots

_images/biorobots0.png _images/biorobots_12hr.png _images/biorobots_2days.png _images/biorobots_12hr_director_signal.png _images/biorobots_12hr_cargo_signal.png
_images/biorobots.gif
  • 3 cell/agent types: director, cargo, and worker

  • 2 substrates (signals): director, cargo

  • workers (red) pick up and deliver cargo (blue) to directors (green), using chemotaxis to signals

cancer biorobots

Similar to the biorobots sample, but now delivering a drug to treat a tumor. Therapy (cargo and worker cells) appears at 7 days, after the tumor has grown in size.

_images/cancerbots_6days.png _images/cancerbots_7days.png _images/cancerbots_8days.png _images/cancerbots_10days.png _images/cancerbots_userparams.png
_images/cancer_bots.gif

In the video, we are selecting different substrates to plot in the Studio.

  • 3 cell types: cancer, cargo, and worker

  • 3 substrates: oxygen, chemoattractant, therapeutic

heterogeneity

A growing tumor that experiences cell death as oxygen is depleted. Cancer cells (from .svg output) are color-coded in C++. Live cells are green, but shaded by an oncoprotein value. Apoptotic cells are red; necrotic are brown. Note in the images with 2 colorbars, the Studio can color cells’ custom variables (scalars) with a continuous colormap, e.g., oncoprotein, using the “full” (.mat, not .svg) output files.

_images/hetero_1hr.png _images/hetero_10days.png _images/hetero_15days.png _images/hetero_27days.png
_images/hetero.gif
  • 1 cell type: cancer

  • 1 substrate: oxygen

virus-macrophage

Virus particles diffuse through the microenvironment, are uptaken by cells, replicate within cells, and trigger lytic death after reaching a threshold. Lysed cells release their virus particles to further diffuse through the environment. Macrophages move by random migration, test for contact with cells, and ingest / phagocytose cells based upon their viral load. Macrophages degrade their internalized viral particles.

_images/virus_mac_uptake.png

Showing the uptake rate of virus for epi cells.

_images/virus_mac_t0.png _images/virus_mac_18hr.png
_images/virus_mac.gif

It goes fast, but part way through the video, we first plot the virus (substrate) then the interferon.

  • 2 cell types: epithelial cell, macrophage

  • 2 substrates: virus, interferon

interaction

Complex interaction between multiple cell types and signals. Refer to the custom C++ phenotype functions https://github.com/MathCancer/PhysiCell/blob/master/sample_projects/interactions/custom_modules/custom.cpp

_images/interaction_t0.png _images/interaction_cd8.png
_images/interaction.gif
  • 7 cell types: bacteria, blood vessel, stem, differentiated, macrophage, CD8+ T cell, neutrophil

  • 5 substrates: resource, toxin, quorum, pro-inflammatory, debris

worm

A sample project that shows advanced interaction testing and contact testing. (However, this functionality pre-dated the ability to do so in XML, so it is all performed in custom.cpp). Individual cells aggregate based on chemotaxis towards a secreted quorum factor and test for contacts. Cells can form a maximum of n (default: 2) attachments with the built-in spring functions. Cells on the ends (1 attachment) hold a steady expression of a differentiation function (head). This factor is exchanged between interior cells (2 attachments) to model juxtacrine signaling, using a contact function. End cells determine if they are a head or a tail based by comparing their expression with their linked neighbor. This introduces asymmmetry that allows the “worms” to crawl directionally. Cells exchange a differentiation factor across their contacts to model juxtacrine signaling. To help support contact interaction modeling, there are search functions to report a vector of Cells that are nearby for use in your contact interactions. The default mechanics function also records a list of all currently (mechanically) interacting cells in state.neighbors.

_images/worm.gif
  • 1 cell type: worm

  • 1 substrate: signal

Previous Next

© Copyright 2024-26, Randy Heiland, Daniel Bergman, Marco Ruscone, Heber Rocha, Vincent Noel, Paul Macklin. Thanks to the entire MathCancer Lab (past and present members) at Indiana University, the broader PhysiCell community, and many undergraduate students who have made valuable contributions. A special thanks to Aydan Bondurant (Fall 2024) who contributed the automated build for these readthedocs. For help porting to the Galaxy platform, we thank Bjoern Gruening, Enis Afgan, Junhao Qiu, Jeremy Goecks, and others in the community who helped us resolve issues..

Built with Sphinx using a theme provided by Read the Docs.