Nathaniel Linden-Santangeli
University of California San Diego 2024
Authors: Nathaniel Linden-Santangeli, Jin Zhang, Boris Kramer, Padmini Rangamani
Date: June 2024
This repository provides all code and data that is necessary to reproduce all results shown in the manuscript available at [URL GOES HERE].
Source code is located in the src/MAPK/
directory and results and data are located in the results/
directory.
The Julia code to run identifiability analysis for each model is located in src/MAPK/identifiability/
. Each script runs the analysis for every model independently.
- Run
src/MAPK/gsa/gsa_sampling.sh
to generate samples of model outputs. - Run
src/MAPK/gsa/gsa_analyze.py
to perform Morris analysis and make plots.
All synthetic data generation and preprocessing occurs in src/MAPK/process_data.ipynb
.
Figure 2
- (optional to rerun SMC) Run
src/MAPK/param_est/HF96_DR_inference.sh
without the--skip_sample
flag on each call. Rerunning with this flag enabled regenerates posterior predictive samples from previous SMC results - Run
src/MAPK/param_est/HF96_DR_analyze.py
to plot posterior predictive trajectories - Run
src/MAPK/multimodel_inference/HF96_DR_MMI.ipynb
to perform MMI, run error analysis, and make plots
Figure 3
- Run
src/MAPK/multimodel_inference/HF95_DR_model_perturb.ipynb
for panels X, Y, Z - Run
src/MAPK/multimodel_inference/HF95_DR_model_combinatorics.ipynb
for panels X, Y, Z
Supplemental Figure S3, S4
- (optional to rerun SMC) Run
src/MAPK/param_est/HF96_traj_inference.sh
without the--skip_sample
flag on each call. Rerunning with this flag enabled regenerates posterior predictive samples from previous SMC results - Run
src/MAPK/param_est/HF96_traj_analyze.py
to plot posterior predictive trajectories - Run
src/MAPK/multimodel_inference/HF96_traj_MMI.ipynb
to perform MMI, run error analysis, and make plots
Supplemental Figure S6
- Run
src/MAPK/multimodel_inference/HF95_traj_model_perturb.ipynb
for panels X, Y, Z - Run
src/MAPK/multimodel_inference/HF95_traj_model_combinatorics.ipynb
for panels X, Y, Z
Figure 4 and Supplemental Figure S7 and S8 (Keyes et al. eLife. 2020. data shortening and quality reduction
data shortening
- (optional to rerun SMC) Run
src/MAPK/param_est/Keyes_CYTO_10min_inference.sh
,src/MAPK/param_est/Keyes_CYTO_20min_inference.sh
,src/MAPK/param_est/Keyes_CYTO_30min_inference.sh
,src/MAPK/param_est/Keyes_PM-10min_inference.sh
,src/MAPK/param_est/Keyes_PM-20min_inference.sh
, andsrc/MAPK/param_est/Keyes_PM-30min_inference.sh
without the--skip_sample
flag on each call. Rerunning with this flag enabled regenerates posterior predictive samples from previous SMC results - Run
src/MAPK/param_est/Keyes_data_len_analyze.py
andsrc/MAPK/param_est/Keyes_analyze.py
to plot posterior predictive trajectories - Run
src/MAPK/multimodel_inference/Keyes_MMI.ipynb
to perform MMI, run error analysis, and make plots
data quality reduction
- [Requires SMC rerun--possible long runtime] Run
src/MAPK/param_est/Keyes_data_quality_inference.py
- Run
src/MAPK/multimodel_inference/Keyes_data_quality_MMI.ipynb
- (optional to rerun SMC) Run
src/MAPK/param_est/Keyes_CYTO_inference.sh
andsrc/MAPK/param_est/Keyes_PM_inference.sh
without the--skip_sample
flag on each call. Rerunning with this flag enabled regenerates posterior predictive samples from previous SMC results - Run
src/MAPK/param_est/Keyes_analyze.py
andsrc/MAPK/param_est/Keyes_data_len_analyze.py
to plot posterior predictive trajectories - Run
src/MAPK/multimodel_inference/Keyes_MMI.ipynb
to perform MMI, run error analysis, and make plots - Run
src/MAPK/param_est/Keyes_data_params_compDiff_analyze.ipynb
to plot marginal eCDFs
Figure 5 and Supplemental Figure S10 (Keyes et al. eLife. 2020. Rap1/ERK negative feedback modifications)
- (optional to rerun SMC) Run
src/MAPK/param_est/Keyes_Rap1_negFeed_inference.sh
without the--skip_sample
flag on each call. Rerunning with this flag enabled regenerates posterior predictive samples from previous SMC results - Run
src/MAPK/param_est/Keyes_Rap1_negFeed_analyze.py
to plot posterior predictive trajectories - Run
src/MAPK/multimodel_inference/Keyes_Rap1_negFeed_MMI.ipynb
to perform MMI, run error analysis, and make plots
The notebook src/MAPK/LOOCV_analyze.ipynb
compares PSIS-LOO-CV to LOO-CV.
Julia version 1.10.0 is used for local identifiability analysis.
StructuralIdentifiability.jl
- v0.5.6DifferentialEquations.jl
- v7.10.0
Python version 3.11.6 is used for all other analysis.
Jax
- 0.4.25 (CPU computing)Jaxlib
- 0.4.20 (CPU computing)numpy
- 1.26.1pandas
- 2.1.2matplotlib
- 3.8.1seaborn
- 0.13.0PyMC
- 5.10.4numpyro
- 0.13.2pytensor
- 2.18.6ArViz
- 0.16.1Preliz
- 0.3.6Diffrax
- 0.5.0Optimistix
- 0.0.6Lineax
- 0.0.4tqdm
- 4.66.1func_timeout
- 4.3.5