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.
Source code is located in the src/MAPK/
directory and results and data are located in the results/
directory.
The excel file source_data.xlsx
contains all results reported in the figures and tables of the manuscript.
Each associated script has code to generate the figure panels and tables in the manuscript and export the source data to 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
.
- (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 S4
- (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 posteriors - Run
src/MAPK/multimodel_inference/HF96_DR_MMI.ipynb
to perform MMI, run error analysis, and make plots
Figure S6
- Run
src/MAPK/multimodel_inference/HF95_DR_model_perturb.ipynb
for panels A-E - Run
src/MAPK/multimodel_inference/HF95_DR_model_combinatorics.ipynb
for panels F,G
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
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