Skip to content

Latest commit

 

History

History
43 lines (28 loc) · 2.81 KB

README.md

File metadata and controls

43 lines (28 loc) · 2.81 KB

Task description:

This paper predicts impact of Tuberculosis preventive therapy: https://bmcinfectdis.biomedcentral.com/articles/10.1186/s12879-020-05592-5

Your task is to:

  • Create a pipeline to reproduce the style and trends in Figure 3 from the publication
  • Which meets appropriate software engineering standards
  • Apply this pipeline for model 3 (from the publication), and the modification to model 3 (described in bullet C below)
  • Explain how the pipeline could be used to include other models
  • Feel free to work from the resources provided in that paper, or not, as you see fit

Modification model: Add a T (on treatment) compartment to model 3 with an inflow from I into T (assume a constant rate) and an outflow from T to S (constant rate). Make reasonable assumptions for the parameters of the inflow into T and outflow out of T.

Provide your work as a self-contained, self-explanatory entity (e.g. as a code repository, or a zip file), that a reasonably skilled scientist would be able to run and add another model to.


Solution outline:

This pipeline was developped on the HPC cluster an Northern Arizona University (Monsoon), and requires a Linux platform with a SLURM scheduler, Anaconda3, and R.

The pipeline initiated by running the GO.sh script from the command line with:

> bash GO.sh

This script performs the following tasks:

  • Uses the check_mod() function in the module_check.sh script (in the scripts directory) to check that anaconda3 and R are available
  • Creates an output directory ('output_dir') where the output files from the SBATCH jobs will be stored (useful for debugging).
  • If Anaconda3 and R are available, the pipeline progresses to create a conda environment with the name Teberculosis_pipeline_R_packages_'username'
    • The pipeline will only create the environment if it does not already exist
    • This part of the code can be modified easily to prompt the user to enter the name of the conda env (commented out at present)
  • Sbatch job 1: checks the conda environment for the R packages: deSolve, ggplot2, reshape2, stats and FME using the pkg_check.sh and Package_check.R
  • Sbatch job 2 (with dependancy on job 1): clones the GitHub repostiroy from: https://github.com/tomsumner/Latency_Model_Comparison_Public/
  • Sbatch job 4 (with dependancy on job 2): moves modified model 3 into the original_Rscripts directory
  • sbatch job 5 (with dependancy on job 4): runs Intervention Analysis with regular models
  • sbatch job 6 (with dependancy on job 5): runs Intervention Analysis with modified model 3.

To apply the pipeline to different models (assumption: provided in the original_Rscripts directory), the model variables in the GO.sh script would need to be changed to the name of the new model(s).