How can I simulate the mitosis of a sphere cell?


49
views
0
28 days ago by
Yuan  
Hi, I want to simulate the mitosis process of a sphere cell on a substrate. How can I set the initial sphere shape with square or hexagonal lattice? Thank you~
Community: CompuCell3D

1 Answer


3
28 days ago by
To generate spherical cells, use the function self.cellField whose arguments are coordinates in the lattice space. If your radius is r, and center of the sphere at say (x0,y0,z0) the coordinates (x0-r,x0+r),(y0-r,y0+r) and (z0-r,z0+r) will span a bigger cube. Then the value of r can be used as a distance cutoff to determine which voxels will lie inside the boundary of the sphere. Example code:

#generate cell
cella=self.newCell(some cell type);
#set up the center of sphere say (x0,y0,z0)
#set up the boundaries of the bigger cube
xi = x0 - r
xf = x0 + r
yi = y0-r
yf = y0+r
zi=z0-r
zf=z0+r
#loop over the points to determine boundaries of the circle
for xr in range(xi, xf):
  for yr in range(yi, yf):
   for zr in range(zi,zf):
    rd = sqrt((xr - x0) ** 2 + (yr - y0) ** 2+(zr-z0)**2)
     if (rd < r):
      self.cellField[xr, yr, zr] = cella




Thank you so much, I can set up the sphere shape in this way. But how to let the shape of the daughter cells keep sphere after the mitosis. I am going to simulate many times of mitosis.
written 27 days ago by Yuan  
1
Your daughter cells will tend to stay spherical if they have the proper target surface for their current and target volumes. So periodically change individual cell's target surface to;
      import math
      cell.targetSurface=((cell.targetVolume)**(1./3.))**2*4./3.*math.pi

The above is just a starting point for what you want to do. The surface of a "sphere" in a lattice representation is often a fair bit bigger than in a non-lattice situation. Often though if the target surface is too small that will tend to make the cell as spherical as possible. You then have to worry about the lambda for surface and volume and make sure that when you want to grow the cell's volume that lambdaVolume is big enough to overwhelm lambdaSurface amd you'll need to periodically increase the targetSurface.

You might want to make the target surface a bit bigger than it should be to give the cells some flexibility.
written 26 days ago by James Sluka  
Yeah,I have tried this method. In my try, the results is good when the cell is large enough. When the cell is small, tens of lattices long for example, the cell tends to be polyhedron. If I simulate the process that one cell divides several times into hundreds of daughter cells, the cost will be expensive.How to realize that? Thank you~
written 26 days ago by Yuan  
Please login to add an answer/comment or follow this question.

Similar posts:
Search »