Code and data to reproduce the analyses and figures for: Nonlinear Mixed-Effect Models and Tailored Parameterization Schemes Enable Integration of Single-Cell and Bulk Data
Paper authors: Dantong Wang, Fabian Froehlich, Paul Stapor, Yannik Schalte, Manuel Huth, Roland Eils, Stefan M. Kallenberger, Jan Hasenauer
Code authorship: The code in this repository was written by Dantong Wang (as listed in the Zenodo record).
This repository contains the complete, final MATLAB code used to generate the analyses, figures, and results in the manuscript above. It exists solely to support reproducibility and methodological transparency and is not intended as a general-purpose software package.
The overview figure img/conception.png summarizes the modeling and optimization workflow. It shows:
- The three data types integrated in the study (single-cell time-lapse/time-to-event, single-cell snapshot, population-average).
- The two models used throughout the manuscript (conversion reaction model and extrinsic apoptosis model).
- The optimization pipeline and its toolbox dependencies (MEMOIR, SPToolbox, PESTO).
The repository is organized around the two model systems used in the manuscript:
conversion_reaction_model/— conversion reaction model analyses.extrinsic_apoptosis_model/— extrinsic apoptosis model analyses.
Both folders follow a similar structure: model definitions, data, parameter estimation scripts, and analysis scripts. A detailed file-by-file listing is provided in file_info.txt.
Toolbox dependencies are included under toolboxes/:
MEMOIR— mixed-effect model inference.AMICI— MATLAB/C++ interface to SUNDIALS (CVODES/IDAS).PESTO— parameter estimation toolbox.SPToolbox— sigma-point and Dirac mixture approximation methods.
MATLAB version tested: R2017a and R2017b
Required MathWorks toolboxes: Optimization, Statistics, Symbolic Math Toolbox
Clone or download the repository:
git clone git@github.com:ICB-DCM/Extrinsic-apoptosis-Conversion-reaction-model.gitAdd required toolboxes to your MATLAB search path:
addpath(genpath('./toolboxes/MEMOIR'))
addpath(genpath('./toolboxes/AMICI'))
addpath(genpath('./toolboxes/PESTO'))
addpath(genpath('./toolboxes/SPToolbox'))Both model folders follow similar workflows. The example below uses the conversion reaction model.
Compile model:
cd conversion_reaction_model/project/models/
compileModelsGenerate model files:
cd conversion_reaction_model/
generateModelFilesRun parameter estimation:
cd conversion_reaction_model/
optimize_conversion(scenario,k)scenario is an integer (1–6) indicating the data-combination scenario in the manuscript.
k is the multi-start index (1–100 for conversion reaction; 1–550 for extrinsic apoptosis).
Parameter estimation is computationally intensive. Pre-computed results are available via Zenodo:
https://doi.org/10.5281/zenodo.18028185
Download the archive, then copy:
results_for_manuscript/optimized_parametersintoconversion_reaction_model/orextrinsic_apoptosis_model/results_for_manuscript/simulated_data_using_optimized_parametersfor the simulated results used in Figures 5 and 6
Comparison of sigma point vs Monte Carlo sampling:
generate_SP_approximation(nsamples, approx)
generate_SPcomparisonnsamples in the manuscript: 100, 1000, 10000, 50000, 100000, 1000000
approx in the manuscript: 'SP' or 'samples'
Results are in results_for_manuscript/comparison_SP_MC.
Gradient analysis:
check_gradient(s)
gradient_computation_time(s, step_size)s is the scenario index; step_size is the finite-difference step size.
Results are in results_for_manuscript/check_gradient.
Single-cell parameters:
getSingleCellPar(scenario)Results are in results_for_manuscript/scenario1_singleCellParameters.
Inner optimization:
inner_optimization(dataset, i_cell)dataset is 1–8 (single-cell time-lapse datasets).
i_cell is 1–30 for datasets 1–4 and 1–10 for datasets 5–8.
Results are in results_for_manuscript/inner_optimization.
Hessian computation:
getHessianOpt(scenario, k)scenario is the scenario index; k is the parameter index (1–35).
Results are in results_for_manuscript/optimized_parameters.
This repository is provided under the MIT License. See LICENSE for details.
The code is provided as-is to support reproducibility of the associated manuscript.
Zenodo archive (LaTeX/BibTeX-ready):
@dataset{zenodo_18028185,
author = {Wang, Dantong},
title = {Nonlinear mixed-effect models and tailored parametrization schemes enables integration of single cell and bulk data},
year = {2025},
version = {v1},
publisher = {Zenodo},
doi = {10.5281/zenodo.18028185},
url = {https://doi.org/10.5281/zenodo.18028185}
}