Skip to content

SteffenPL/sEMTor.jl

Repository files navigation

SEMTor

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.

Stand-alone EMT simulator (sEMTor)

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.

Installation

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 --project

and then

using Pkg
Pkg.activate(".")
Pkg.instantiate()

This will create a new environment and install all required packages.

Installation as a package

The package can be installed via the Julia package manager via:

using Pkg
Pkg.add("github.com/SteffenPL/sEMTor.jl")

Usage as a GitHub Codespace

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.

Example

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()

About

Julia simulation for epithelial-to-mesenchymal transitions (EMT).

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages