Metadata-Version: 2.4
Name: phenocellpy
Version: 0.0.9a3
Summary: Tools for phenotypic characterization of cell behavior
Project-URL: Homepage, https://github.com/OpenVT/PhenoCellPy
Project-URL: Publication, https://doi.org/10.1101/2023.04.12.535625
Author: Juliano Ferrari Gianlupi
License: BSD 3-Clause License
        
        Copyright (c) 2023, Juliano Ferrari Gianlupi
        All rights reserved.
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are met:
        
        1. Redistributions of source code must retain the above copyright notice, this
           list of conditions and the following disclaimer.
        
        2. Redistributions in binary form must reproduce the above copyright notice,
           this list of conditions and the following disclaimer in the documentation
           and/or other materials provided with the distribution.
        
        3. Neither the name of the copyright holder nor the names of its
           contributors may be used to endorse or promote products derived from
           this software without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
        FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
        SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License-File: LICENSE
Requires-Python: >=3.8
Requires-Dist: numpy
Requires-Dist: scipy
Description-Content-Type: text/markdown

## Official repository moved

Now the official repository for PhenocellPy is https://github.com/OpenVT/PhenoCellPy

# PhenoCellPy

**See [publication](https://doi.org/10.1101/2023.04.12.535625) 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

```commandline
pip install phenocellpy
```

The project can be found in [PyPi](https://pypi.org/project/phenocellpy/)

Conda distribution coming soon


## Importing PhenoCellPy

PhenoCellPy can be included in your project by

```python
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.

