Julia implementation for a computational model for epithelial-to-mesenchymal transitions-like events in a pseudostratified epithelium.
Implementation for the computational model used in:
- S. Plunder, C. Danesin, B. Glise, M. A. Ferreira, S. Merino-Aceituno, E. Theveneau, Modelling variability and heterogeneity of EMT scenarios highlights nuclear positioning and protrusions as main drivers of extrusion. Nature Communications (2024) DOI:10.1038/s41467-024-51372-z.
- E. Despin-Guitard, V. S. Rosa, S. Plunder, N. Mathiah, K. Van Schoor, E. Nehme, S. Merino-Aceituno, J. Egea, M. N. Shahbazi, E. Theveneau & I. Migeotte, Non-apical mitoses contribute to cell delamination during mouse gastrulation. Nature Communications (2024) DOI:10.1038/s41467-024-51638-6.
For trying the model, one can use the JavaScript version of the simulator: semtor.github.io.
The JavaScript variant implements the same model, but without abilities for data collection. For running scientific simulations and performing parameter studies, please this the Julia version instead.
The simulator is written in Julia, and can be installed as a Julia package. We recommend to install Julia via juliaup.
We recommend to clone this repository for usage, as it contains also input files.
git clone https://github.com/SteffenPL/sEMTor.jl
julia --projectand then
using Pkg
Pkg.activate(".")
Pkg.instantiate()This will create a new environment and install all required packages.
The package can be installed via the Julia package manager via:
using Pkg
Pkg.add("github.com/SteffenPL/sEMTor.jl")This repository is also configured to be used within a GitHub codespace. Just click
on the webpage of the repository on the button Code and select Open with Codespaces.
using SEMTor
p = StaticParameters() # load default parameters (no EMT)
ens = simulate_ensemble(p) # run 50 simulations
plot_state(ens[1][end], p) # plot the last state of the first simulation
st = compute_statistics(ens, p)
# plot statistical results
using CairoMakie
df = st.stats_mean["tissue"]
T = df.time # time
X = df.apical_height_mean # mean tissue height
X_std = df.apical_height_std # standard deviation of tissue height
lines(T, X, axis = (xlabel = "time [hr]", ylabel = "tissue height [5µm]"))
band!(T, X - X_std, X + X_std, color=(:gray, 0.3))
current_figure()