Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
cody2 authored May 15, 2023
1 parent a5a59b0 commit 1e6b024
Showing 1 changed file with 27 additions and 28 deletions.
55 changes: 27 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
# N-803_SIV_Model
Jonathan W. Cody

This repository contains all the code needed to replicate the following journal article, submitted to PLoS Computational Biology. MATLAB R2018b or later is required.

This repository contains all the code needed to replicate the following article. MATLAB R2018b or later is required.
Cody JW, Ellis-Connell AL, O’Connor SL, Pienaar E. "Mathematical modeling indicates that regulatory inhibition of CD8+ T cell cytotoxicity can limit efficacy of IL-15 immunotherapy in cases of high pre-treatment SIV viral load."

=========================

To replicate the article, unzip the entire repository into a folder and run the code in the following order below. Results of step #3 are included in the repository in the file 'N803_ForPlots.mat', which allows you to skip to plotting (steps #4,5).
To replicate the article, unzip the entire repository into a folder and run the code in the following order below. Results of step #3 are included in the repository in the file 'N803_ForPlots.mat', which allows you to skip to plotting (steps #4,5). To replicate only the MAIN TEXT results, perform steps #1,3,4, but first edit 'N803_collector_2.m' and 'N803_plotter_2.m' (see those scripts for instructions).

1. "main_shared_2_calibration" (runs MSLS and MCMC for both cohorts with shared constants)
2. "main_singles_calibration_2022_09_25.m" (repeat with parameters not shared)
3. "N803_collector_2.m" (stores model outputs, parameters, and initial conditions from thinned MCMC sample)
4. "N803_plotter_2.m" (creates all time-course plots)
5. "N803_plotter_2_violin.m" (creates violin plots)
1. 'main_shared_2_calibration.m' (runs MSLS and MCMC for both cohorts with shared constants)
2. supplemental calibrations:
-> 'main_shared_2A_calibration.m'
-> 'main_shared_2B_calibration.m'
-> 'main_shared_2C_calibration.m'
-> 'main_shared_2D_calibration.m'
-> 'main_single_2_calibration.m'
3. 'N803_collector_2.m' (stores model outputs, parameters, and initial conditions from thinned MCMC sample)
4. 'N803_plotter_2.m' (creates all time-course plots)
5. 'N803_plotter_2_violin.m' (creates violin plots)

=========================

Expand All @@ -34,42 +38,37 @@ Source: Webb GM, Li S, Mwakalundwa G, Folkvord JM, Greene JM, Reed JS, et al. "T

=========================

The repository containts the following code (MATLAB .m functions):
In addition to the MATLAB scripts referenced above, this repository contains the following functions:

'N803_model_2.m' (solves ODE model for N-803 treatment of SIV)

'N803_shared.m' (calls 'N803_model_2.m', but first solves for ICs and shared parameters to start from two fixed points)

'N803_single.m' (calls 'N803_model_2.m', but first solves for ICs and parameters to start from one fixed point)
'N803_model_2A.m' (solves ODEs for alternative model A)
'N803_model_2B.m' (solves ODEs for alternative model B)
'N803_model_2C.m' (solves ODEs for alternative model C)
'N803_model_2D.m' (solves ODEs for alternative model D)
'N803_model_2_naive.m' (solves ODE model for N-803 given to SIV-naive NHP)

'N803_shared_2.m' (calls 'N803_model_2.m', but first solves for ICs and shared parameters to start from two fixed points)
'N803_shared_2A.m' (calls 'N803_model_2A.m', but first solves for ICs and shared parameters to start from two fixed points)
'N803_shared_2B.m' (calls 'N803_model_2B.m', but first solves for ICs and shared parameters to start from two fixed points)
'N803_shared_2C.m' (calls 'N803_model_2C.m', but first solves for ICs and shared parameters to start from two fixed points)
'N803_shared_2D.m' (calls 'N803_model_2D.m', but first solves for ICs and shared parameters to start from two fixed points)
'N803_single_2.m' (calls 'N803_model_2.m', but first solves for ICs and parameters to start from one fixed point)

In 'Analyzer' folder:

'calibrator.m' (called by 'main.m' scripts; calibrates model parameters via multi-start local-search)

'calibrator_plot.m' (called by 'main.m' scripts; plots results from 'calibrator.m')

'copyfields.m' (called by 'gridplot.m'; copies fields from one scalar structure to another)

'costFun_NLL.m' (called by 'main.m' scripts; model cost calculator (NLL,SSE,MSE w/additional options))

'gridplot.m' (called by 'N803_plotter_2.m'; creates a grid of plots (alternative to MATLAB's 'subplot'))

'linemaker.m' (called by 'gridplot.m'; plots lines to current axis, with a variety of options)

'looper.m' (called by 'calibrator.m'; loops through and operates on a structure array)

'MCMCsampler.m' (called by 'main.m' scripts; performs uncertainty quantification via markov chain monte carlo)

'parplotter.m' (called by 'N803_plotter_2_parameters.m'; plots parameter distributions)

'performPT.m' (called by 'MCMCsampler.m'; parallel tempering MCMC algorithm)
Source: https://github.com/ICB-DCM/PESTO/blob/master/private/performPT.m

Source: https://github.com/ICB-DCM/PESTO/blob/master/private/performPT.m
'prepper.m' (called by 'main.m' scripts; normalizes a data set and provides several useful outputs)

'sampler.m' (called by 'calibrator.m'; samples a parameter space via latin hypercube sampling)

'tickmaker.m' (called by 'N803_plotter_2.m'; creates axis tick labels)

'violin.m' (called by 'parplotter.m'; creates violin plots)
Source: https://github.com/bastibe/Violinplot-Matlab/blob/master/Violin.m
Source: https://github.com/bastibe/Violinplot-Matlab/blob/master/Violin.m

0 comments on commit 1e6b024

Please sign in to comment.