Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
cody2 authored Jan 9, 2023
1 parent e76038f commit 05e41f5
Showing 1 changed file with 36 additions and 23 deletions.
59 changes: 36 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,41 +3,54 @@ Jonathan W. Cody

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

"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"
Article Authors: Jonathan W. Cody, Amy L. Ellis-Connell, Shelby L. O’Connor, Elsje Pienaar
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:
=========================
To replicate the article, unzip the entire repository into a folder and run the code in the following order below. Steps #1,2 are lengthy (~1 week each). Results of step #3 are included in the repository in the file 'N803_MCMC.mat', which allows you to skip to plotting (steps #4,5).

1. "main_shared_calibration_2022_08_18.m"
2. "main_singles_calibration_2022_09_25.m"
3. "N803_collector_2.m"
4. "N803_plotter_2.m"
5. "N803_plotter_2_parameters.m"

The following is list of files (INCOMPLETE)
1. "main_shared_calibration_2022_08_18.m" (runs MSLS and MCMC for both cohorts with parameters shared)
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_parameters.m" (creates parameter violin plots)

'N803_model_1.m' = single-compartment model for article 1
=========================
The repository containts the following data (MATLAB .mat files):

'N803_model_2.m' = single-compartment model for article 2
"N803_DataSet_1.mat" (Cohort 1 calibration data)
Source: Ellis-Connell AL, Balgeman AJ, Zarbock KR, Barry G, Weiler A, Egan JO, et al. "ALT-803 Transiently Reduces Simian Immunodeficiency Virus Replication in the Absence of Antiretroviral Treatment." Journal of virology. 2018;92(3).

'N803_shared.m' = calls 'N803_model_2.m', but first solves for ICs and shared parameters to start from two fixed points
"N803_DataSet_2.mat" (Cohort 2 calibration data, validation data)
Source: Ellis-Connell AL, Balgeman AJ, Harwood OE, Moriarty RV, Safrit JT, Weiler AM, et al. "Control of Simian Immunodeficiency Virus Infection in Prophylactically Vaccinated, Antiretroviral Treatment-Naive Macaques Is Required for the Most Efficacious CD8 T Cell Response during Treatment with the Interleukin-15 Superagonist N-803." Journal of virology.

'N803_single.m' = calls 'N803_model_2.m', but first solves for ICs and parameters to start from one fixed point
Webb_DataSet.mat" (validation data)
Source: Webb GM, Li S, Mwakalundwa G, Folkvord JM, Greene JM, Reed JS, et al. "The human IL-15 superagonist ALT-803 directs SIV-specific CD8(+) T cells into B-cell follicles." Blood advances. 2018;2(2):76-84.

'Analyzer' folder:
'N803_MCMC.mat' (model parameter values, initial conditions, and outputs underlying all article figures)

-> 'calibrator.m' = calibrates model parameters via multi-start local-search
=========================
The repository containts the following code (MATLAB .m functions):

-> 'calibrator_plot.m' = plots results from calibrator.m
'N803_model_2.m' (solves ODE model)

-> 'costFun_NLL' = model cost calculator (NLL,SSE,MSE w/additional options) [used with 'calibrator.m']
'N803_shared.m' (calls 'N803_model_2.m', but first solves for ICs and shared parameters to start from two fixed points)

-> 'looper.m' = loops through and operates on a structure array [used by 'calibrator.m']
'N803_single.m' (calls 'N803_model_2.m', but first solves for ICs and parameters to start from one fixed point)

-> 'MCMCsampler.m' = performs uncertainty quantification via markov chain monte carlo [needs result file from 'calibrator.m']
In 'Analyzer' folder:

-> 'performPT.m' = parallel tempering MCMC algorithm [called by 'MCMCsampler.m']
'calibrator.m' = calibrates model parameters via multi-start local-search

-> 'prepper.m' = normalizes a data set and provides several useful outputs [used with 'calibrator.m']
'calibrator_plot.m' = plots results from calibrator.m

-> 'sampler.m' = samples a parameter space via latin hypercube sampling [used by 'calibrator.m']
'costFun_NLL' = model cost calculator (NLL,SSE,MSE w/additional options) [used with 'calibrator.m']

'looper.m' = loops through and operates on a structure array [used by 'calibrator.m']

'MCMCsampler.m' = performs uncertainty quantification via markov chain monte carlo [needs result file from 'calibrator.m']

'performPT.m' = parallel tempering MCMC algorithm [called by 'MCMCsampler.m']

'prepper.m' = normalizes a data set and provides several useful outputs [used with 'calibrator.m']

'sampler.m' = samples a parameter space via latin hypercube sampling [used by 'calibrator.m']

0 comments on commit 05e41f5

Please sign in to comment.