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.shto generate samples of model outputs. - Run
src/MAPK/gsa/gsa_analyze.pyto 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.shandsrc/MAPK/param_est/Keyes_PM_inference.shwithout the--skip_sampleflag on each call. Rerunning with this flag enabled regenerates posterior predictive samples from previous SMC results - Run
src/MAPK/param_est/Keyes_analyze.pyandsrc/MAPK/param_est/Keyes_data_len_analyze.pyto plot posterior predictive trajectories - Run
src/MAPK/multimodel_inference/Keyes_MMI.ipynbto perform MMI, run error analysis, and make plots - Run
src/MAPK/param_est/Keyes_data_params_compDiff_analyze.ipynbto plot marginal eCDFs
Figure S4
- (optional to rerun SMC) Run
src/MAPK/param_est/HF96_DR_inference.shwithout the--skip_sampleflag on each call. Rerunning with this flag enabled regenerates posterior predictive samples from previous SMC results - Run
src/MAPK/param_est/HF96_DR_analyze.pyto plot posteriors - Run
src/MAPK/multimodel_inference/HF96_DR_MMI.ipynbto perform MMI, run error analysis, and make plots
Figure S6
- Run
src/MAPK/multimodel_inference/HF95_DR_model_perturb.ipynbfor panels A-E - Run
src/MAPK/multimodel_inference/HF95_DR_model_combinatorics.ipynbfor 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.shwithout the--skip_sampleflag 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.pyandsrc/MAPK/param_est/Keyes_analyze.pyto plot posterior predictive trajectories - Run
src/MAPK/multimodel_inference/Keyes_MMI.ipynbto 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.shwithout the--skip_sampleflag 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.pyto plot posterior predictive trajectories - Run
src/MAPK/multimodel_inference/Keyes_Rap1_negFeed_MMI.ipynbto 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