CompuCell3D Workshop : Module 5.3.4
Cell Lineage Tracing
Priyom Adhyapok
Duke University
Durham, North Carolina
Support: NIH NIBIB-U24EB028887, NIGMS-R01GM122424, NSF-2120200, NSF-2000281, NSF-1720625, NIGMS-R01GM076692, NIGMS-R01GM077138
Module 5.3.4 Topics
INTRODUCTION
Ascidian embryonic development. Kumano and Nishida (2007)
Zebrafish (Kimmel et al., 1990)
Xenopus (Dale and Slack, 1987)
INTRODUCTION
Frumkin et al., (2008)
Overview of CC3D Goals
STEM CELL
Will make use of the following CC3D capabilities
1
2
3
4
5
6
1
(1,2)
(1,3)
(1,2,5)
(1,2,4)
(6)
Starting simulation at Module_5_3_4_1_CellLineage
Exercise 5.3.4.1 : Basic Twedit++ template
1. Using Twedit++ template, generate a 500 by 500 lattice.
We will check this for now, but will generate own code in Python
2. Add a new cell type called ‘stem’
Exercise 5.3.4.1 : Basic Twedit++ template
3. Skip over this
4. These are the attributes we will be using
Exercise 5.3.4.1 : Basic Twedit++ template
Quick stop at the .xml file to remove the automatic UniformInitializer grid
We will be using the Steppables file to fill in the rest of the changes
Exercise 5.3.4.1 : Creating a cell and defining attributes
STEM CELL
LATTICE
2. Use self.new_cell and self.cell_field to create the cell
CC3D Python
↓
Cell Manipulation
↓
Create Cell (detailed)
Exercise 5.3.4.1 : Creating a cell and defining attributes
3. self.cell_field uses initial seeds and
width (set to 10 here) of the cells to place the created cell
4. Next set the target and lambda Volumes
xpos, ypos
Exercise 5.3.4.1 : Creating a cell and defining attributes
4. Final step for this steppable - add three dictionary attributes to keep track of lineage, number of divisions and visualization color
1
(1,2)
(1,3)
(1,2,5)
(1,2,4)
(6)
As cells keep dividing, we will use this ‘list’ to add ids of cells that came from the same parent
Exercise 5.3.4.1 : Describing growth and division for cells
5. We will first set uniform growth properties for all the cells. In GrowthSteppable, define a growth rate by incrementing the targetVolume.
6. Then move on to MitosisSteppable.
We will divide cells when they reach 2*times
their original volume.
Can set the division orientation for cells here. We will let cells divide randomly here
Exercise 5.3.4.1 : Describing growth and division for cells
7. MitosisSteppable uses a function called ‘update_attributes’ to update the newly created child cell’s properties. We will use it to update the child cell’s lists.
BUT FIRST!
Automatic code from Twedit++ swapping cell types of dividing cells. Remove this before proceeding
8. In ‘update_attributes’, add the newly created cell’s id to the lineage list and track it’s number of division.
Function will copy all parent attributes to child
1
(1,2)
(1,3)
Exercise 5.3.4.1 : Describing growth and division for cells
At the end of Step 8, example of visualizing cell field after 2000 MCS
Exercise 5.3.4.2 : Constructing lineages
9. We will use a new steppable to construct our lineages.
Exercise 5.3.4.2 : Constructing lineages
10. Assign a name to the scalar field and make sure it’s accessible between CC3D calls
11. Extract out the unique parents that generates each lineage
1
(1,2)
(1,3)
(1,2,5)
(1,2,4)
(6)
In this case, unique parents will be the ones that were created out of the initial stem cell - eg 2,3,6
Using the lineage list, extract the min cell id that formed part of the list. Including 1 will generate only a single lineage
Exercise 5.3.4.2 : Constructing lineages
11. Use the id’s from each unique parent to find it in the cell list. Group if parent id is contained in the child list.
Grouping and coloring by assigning each cell a value between 0 and 1. This will be the input of the visualization field
Exercise 5.3.4.2 : Constructing lineages
Access visualization field in the player
Exercise 5.3.4.3 : Constructing lineages
Completed simulation available at Module_5_3_4_3_CellLineage
Exercise 5.3.4.3 :
Exercise 5.3.4.4 : Contact Inhibited growth
Exercise 5.3.4.4 : Contact Inhibited growth
Only divide if cell is in contact with the medium
Implement contact inhibited growth in each only cells at the periphery divide
Completed simulation available at Module_5_3_4_4_CellLineage
Module 5.1 Questionnaire
Support: NIH NIBIB-U24EB028887, NIGMS-R01GM122424, NSF-188553, NSF-186890, NSF-1720625, NIGMS-R01GM076692, NIGMS-R01GM077138
Please take a minute or two to let us know about your experience with this module by filling out the brief zoom survey
Feel free to provide additional comments and suggestions in the slack or by email to us as well (hfennel@iu.edu)