Releases: ComplexOrganizationOfLivingMatter/epithelialShellModelling
epithelialShellModelling_v1.0.0
Curvature and geometry interplay shapes tissue organisation in epithelial shells
This project explores how curvature and geometric constraints shape 3D epithelial shells during development. Using computational models validated on hundreds of cysts, we uncover topological rules that govern epithelial organization.
CYSTS MODEL: Geodesic Voronoi on 3D surfaces
To model cysts, the main code is parallelVoronoi.m
This code launches in parallel the function voronoiModel.m
Both can be found inside src/cysts/
We study monolayer MDCK II cysts that can be arranged in spheres or oblate spheroids due to the proportions of spheroids found in nature (see CartoCell).
Because of that, the model consists of two concentric spheroids where a geodesic Voronoi tessellation is developed. Seeds are placed on the inner surface, where Lloyd iterations are performed. Then, seeds are projected to the outer surface.
The model is created based on the following inputs:
Inputs
savePath: Path where results will be savedcells: Number of cells of the Voronoi tessellationlloyd: Number of Lloyd iterationsruns: Number of times to run the same conditionsurfaceRatio: Dictionary{numberOfCells: surfaceRatio}that determines the distance between inner and outer surfacesaxis1: Axis shape control;100will make a sphere; '75' will make an oblate spheroid;nDots: Number of dots used for the simulation (resolution)minimumSeparation: Poisson-disk radius runs
Result
The result of this code will be:
- A
.matfile for each Lloyd iteration with the information of the inner surface Voronoi tessellation. - A
.matfile for the outer surface of the last Lloyd iteration.
Data extraction
For data extraction, the main code is src/cysts/check3DInfoBULK.m, which checks if every cyst has the needed info and, if not, creates the result table.
Model visualization
EMBRYO MODEL: Clipped 3D Voronoi on images
To model embryos, the main code is getSyntheticEmbryosMiddleCells_bulk.m.
This code launches in parallel the function getSyntheticEmbryoMiddleCells.m.
Both can be found inside src/embryos/
Embryos, unlike cysts, are not monolayer, do not have a lumen, and tend to behave like spheres.
Given a whole sphere of radius R, N seeds will be located inside it.
Seeds will be placed at a radius r < R, but to simulate the inner cells, some of the cells (quantity defined by probability P) will be placed inwards of the concentric spherical surface r, at a random distance between two spheres of radii d and D (d<D<r).
By default:
- All Voronoi tessellations undergo 5 Lloyd iterations.
- Each iteration will be saved separately in
.tifformat files.
Inputs
R: Radius of the spherer: Radius of the spherical surface where most of the seeds will be placedN: Number of seedsd: Radius of internal limit of seed positioningD: Radius of external limit of seed positioningP: Probability of a cell being an inner cellD2: Minimum distance between seedsnEmbryos: Number of embryos to be created
Result
A .tif file for each Lloyd iteration of each embryo.
Data extraction
To extract data, since Voronoi tessellations are constructed using images, it is possible to use code from CartoCell.
You can access the adapted code for feature extraction here and here
Model visualization
Other info
Theoretical configurations (Euler's rule)
Code for getting all feasible configurations is available here
Ranking (Analytical Voronoi)
Code for getting fast Voronoi to calculate the ranking is available here

