Skin BioDynaMo (SkiBiDy) is a hybrid agent-continuum simulation of skin tissue biology built on BioDynaMo. Models wound healing, immune response, fibroblast/collagen dynamics, scar formation, vascular perfusion, hemostasis, tumor growth, and diabetic impairment.
Healthy skin runs as a composite field coupling 23 PDEs with no agents. When an event occurs (wound, infection, tumor), cells spawn from local field state, interact with the fields, and dissolve back once stable. This is called UWYN (Use What You Need), meaning the simulation only creates agents where the biology demands resolution.
Corneum [continuum] barrier, desquamation
Granulosum [continuum] keratohyalin, tight junctions
Spinosum [continuum] desmosomes; agents on event
Basale [continuum] stem/TA cells on event
---------- basement membrane ----------
Dermis [continuum] vasculature, O2/KGF, collagen; agents on event
source <path_to_biodynamo>/bin/thisbdm.sh
./run.sh # interactive menu
./run.sh --study=wound # punch biopsy wound healing
./run.sh --study=diabetic-wound # chronic diabetic ulcer
./run.sh --study=tumor # basal cell carcinoma growth
./run.sh --compare # normal vs diabetic side-by-side
./tests/test.sh # 130 unit tests18 modules, each self-contained in modules/ with its own config, source, data, and README. See docs/ for the module index with biology, parameters, coupling, and validation.
| Module | Default | Module | Default |
|---|---|---|---|
| tissue | on | perfusion | on |
| wound | on | dermis | on |
| immune | on | elastin | off |
| inflammation | on | hyaluronan | off |
| fibroblast | on | ph | off |
| scar | on | hemostasis | off |
| mmp | on | biofilm | off |
| fibronectin | on | diabetic | off |
| angiogenesis | on | tumor | off |
Config is layered TOML, merged at runtime:
bdm.core.toml core tissue params
+ modules/*/config.toml 18 module configs (auto-merged)
+ profiles/*.toml skin phenotype overlay
+ studies/*/preset.toml study scenario overlay
= bdm.toml runtime config (gitignored)
Skin profiles: normal (default), aged, diabetic, aged_diabetic. Studies: wound, diabetic-wound, tumor, tumor-wound, baseline.
The diabetic treatment study compares 8 therapeutic interventions and all pairwise and higher-order combinations (255 total) against an untreated diabetic baseline:
./studies/diabetic-wound/treatment.sh --combos=all # all 255 combos
./studies/diabetic-wound/treatment.sh --combos=all --workers=8 # with 8 parallel workersSimulations run in parallel with isolated working directories so configs never collide. Default is 4 workers; set --workers to match available cores. Results land in studies/diabetic-wound/results/ as per-treatment metrics CSVs, a comparison CSV, and an Excel workbook.
Validated against published literature across 11 observables, backed by 157 DOI-linked source papers in per-module SOURCES.yaml files. Run python3 literature/validate_all.py for the RMSE dashboard or python3 batch/batch.py -n 10 --study wound --validate for a 10-run consensus with literature comparison.
See docs/ for full documentation including architecture, configuration guide, wound healing model, diabetic impairment, treatments, and validation details. See studies/ for packaged experiments and batch/ for multi-run consensus and parameter sweeps.
| Library | Version | License |
|---|---|---|
| toml++ | 3.4.0 | MIT |
| BioDynaMo | 1.04+ (master) | Apache 2.0 (linked, not bundled) |
