Skip to content

Latest commit

 

History

History
59 lines (40 loc) · 3.51 KB

README.md

File metadata and controls

59 lines (40 loc) · 3.51 KB

hiv-modelling

Version

17th Oct 2023: hiv-modelling is now a public repository on GitHub but remains a work in progress. For a specific version, please refer to the relevant journal article for the project in question.

Running HIV SAS Code on UCL HPC cluster Myriad

A set of scripts are available that allow to do the following:

  • submit a HIV model simulation with a number of specified runs on a UCL HPC cluster
    • each model run generates a SAS output file stored in the user's Scratch drive
    • at the end of the model runs a concatenate function is executed that will merge all the individual SAS output files into one big SAS file

Scripts

There are 3 shell script and 1 SAS program. They MUST all be in the same folder!

  • submit.sh --> this is the shell script the user should run to submit a model run on HPC. In turn, submit.sh calls 2 further scripts.
    • testmodel.sh --> this shell script executes the hiv model code
    • concatenate.sh --> this shell script will be executed once the model runs complete. It will run through the list of temporary SAS output files generated by the model and merge them into one big SAS file. For this it calls on the SAS program appendsas.sas. You should not need to edit/modify this SAS program

Running

submit.sh is the only shell script to run.
If you do not supply any command line parameters, the script will assume default values. These (including the name and location of the SAS model code) are listed in the first lines of the submit.sh file.

  • Go to the directory where the shell scripts and the SAS model code are
  • make sure all 3 shell scripts, the appendsas.sas program and your HIV SAS model are there
  • type in sh ./submit.sh

Changing parameters

Changing parameters, or overriding default values, can be accomplished in 2 ways

  • editing submit.sh
    • The lines above the while statement list all the available parameters that can be set for the execution of the shell script
    • It should not be necessary to change the statements from while to the end of the script (unless the way the parameters submitted to the qsub command for HPC need modification).
  • using parameters in the command line for submit.sh
    • -a account name, e.g. sh ./submit.sh -a HIVSynthMod. DEFAULT: HIVSynthMod
    • -i input directory, i.e. the directory where the SAS model code is, e.g. sh ./submit.sh -i $HOME/mymodeldirectory DEFAULT: $HOME (your home directory)
    • -o the name of the combined and merged output SAS file DEFAULT: combined_data
    • -r the number of runs. DEFAULT: 100
    • -j the name of the job on Myriad DEFAULT: hivmodel
    • -m the name of the model SAS file DEFAULT: hiv_synthesis.sas
    • -c the clock/time set for the model run DEFAULT: h_rt=08:00:00
    • -t the beginning of the name of the temporary output files. NOTE: the name will be amended to include the random runID, so that each model run will result in one output file for each run. DEFAULT: out
  • when using command line parameters any combination of parameters can be used. Parameters not explicitely states will fall back to their default values.

The output will be stored in a folder within SCRATCH. The folder name is a combination of the name of the merged SAS file and the start of the temp output file names. Example:

  • merged file is called (default): combined_data
  • temporary output files start with: out

The folder is then $SCRATCH/combined_data_out