Skip to content

Implements pjysicell's [1] phenotype cycle models in python. Defines API to attach them to a python object

License

Notifications You must be signed in to change notification settings

JulianoGianlupi/PhenoCellPy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhenoCellPy

See publication for more information

PhenoCellPy is an open-source python package that defines methods for modeling changes of cell behaviors. It also has pre-defined sequences of behaviors.

Modeling of biological systems requires a degree of model complexity that can be daunting to new and experienced modelers alike. Defining cellular behaviors or states and how one cellular state leads to the next is not trivial. To make the development of new biological models we have created PhenoCellPy. PhenoCellPy defines methods and Python classes that make the definition of sequence of cell behaviors easier. The main class is the Phenotype, which is the container of cell behaviors. Phenotype here can mean the cell cycle, the stages of necrosis, the fact that the cell is alive, the fact that it is dead, etc. The Phenotype is made of one or more Phases, each Phase defines the target volume for the cell and the volume change rates it displays. It also defines which is the next Phase of the Phenotype, what conditions trigger Phase change, if cell division occurs when exiting the Phase, what behaviors occur immediately on Phase entry and just before Phase exit (e.g., changing the target volume). The cell volume dynamics are handled by the Cell Volume class. The cell volume is subdivided among the solid and fluid cytoplasm, solid and fluid nucleus, and a calcified fraction.

By default, the Phase transition can be either stochastic (with a set Phase transition rate) or deterministic (with a set Phase period). The user can also define a custom transition function. One of our pre-built Phenotypes, the Necrotic Standard Model, uses a custom transition function for its first Phase (which represents the osmotic swelling of a necrotic cell). The custom transition function monitors the cell volume and changes from the swelling Phase to the ruptured cell Phase when the cell reaches its rupturing volume. The Phase class can, optionally, check if a cell should exit the Phenotype and enter senescence.

As mentioned, a Phenotype can be any sequence of Phases. For instance, the cell cycle is a Phenotype. The modeler using PhenoCellPy must call the division methods of the modeling framework being used to divide the cell.

PhenoCellPy is intended to be used with other python-based modeling framework, e.g., CompuCell3D, Tissue Forge, as an embedded model. PhenoCellPy is inspired by the phenotype definitions of PhysiCell [1].

[1] A Ghaffarizadeh, R Heiland, SH Friedman, SM Mumenthaler, and P Macklin, PhysiCell: an Open Source Physics-Based Cell Simulator for Multicellular Systems, PLoS Comput. Biol. 14(2): e1005991, 2018. DOI: 10.1371/journal.pcbi.1005991

Requirements

PhenoCellPy only requirements are

  • Python 3 support
  • NumPy
  • SciPy

Installation

PhenoCellPy's v0.0.9-alpha and above are packaged through pip. You can install it using

pip install phenocellpy==0.0.9a0

The project can be found in PyPi

Conda distribution coming soon

Importing PhenoCellPy

PhenoCellPy can be included in your project by

import PhenoCellPy as pcp

How to cite:

Gianlupi, J. F., Sego, T. J., Sluka, J. P., & Glazier, J. A. (2023). PhenoCellPy: A Python package for biological cell behavior modeling. bioRxiv, 2023-04.

About

Implements pjysicell's [1] phenotype cycle models in python. Defines API to attach them to a python object

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages