- Notifications
You must be signed in to change notification settings - Fork 112
Description
Rather than submit a PR for this, as it's probably premature, I wanted to share/discuss a branch (https://github.com/rheiland/PhysiCell/tree/custom-division) that implements:
- a new custom function,
cell_division_function, that gets invoked when a cell divides - cell attributes
generationandparentIDfor cell lineage tracking
To test, rather than add another directory in sample_projects (which requires editing all of those Makefiles), I opted to add a sample_division_lineage to user_projects. Yes, I know this sort of violates its original purpose, but thought we could discuss this practice (with the sample_ prefix).
So, to test:
- clone/download the branch
make -j2 make load PROJ=sample_division_lineage make Some results from the Studio are shown. Note that the model defines 2 cell types: default and ctype1. At the beginning, only 2 default cells are created (in cells.csv). When the custom cell_division_function for this model is invoked (from divide()), it does a coin flip to decide if a daughter cell should differentiate. The 2 cell types have different phenotypes - the ctype1 chemotaxes to oxygen; default does not.
The following image shows results of being able to do asymmetric division, using the new custom function (rf. custom.cpp). However, note that it requires providing the custom function in create_cell_types (in custom.cpp); rf. #265 .

And these screenshots show the outcome of displaying the new cells' generation and parentID scalars.
