Skip to content

custom cell division; cell lineage  #269

Open
@rheiland

Description

@rheiland

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 generation and parentID for 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 .
Screenshot 2024-07-14 at 6 18 13 PM

And these screenshots show the outcome of displaying the new cells' generation and parentID scalars.
Screenshot 2024-07-14 at 5 55 11 PM

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions