diff --git a/CHANGELOG.md b/CHANGELOG.md index e23fcba..74e358b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - New parameters in the config file to make certain rules optional: (#133, @kelly-sovacool) - GO enrichment is controlled by `run_go_enrichment` (default: `false`) - ROSE is controlled by `run_rose` (default: `false`) +- New `--singcache` argument to provide a singularity cache dir location. The singularity cache dir is automatically set inside `/data/$USER/` or `$WORKDIR/` if `--singcache` is not provided. (#143, @kelly-sovacool) ### Misc diff --git a/carlisle b/carlisle index 367c2ea..315622d 100755 --- a/carlisle +++ b/carlisle @@ -268,6 +268,8 @@ function run() { if [ "$1" == "local" ]; then preruncleanup + $EXPORT_SING_CACHE_DIR_CMD + snakemake -s $SNAKEFILE \ --directory $WORKDIR \ --printshellcmds \ @@ -305,6 +307,8 @@ function run() { cd \$SLURM_SUBMIT_DIR + $EXPORT_SING_CACHE_DIR_CMD + snakemake -s $SNAKEFILE \ --directory $WORKDIR \ --use-singularity \ @@ -384,6 +388,9 @@ function main(){ -f|--force) FORCEFLAG="ON" ;; + -c=*|--singcache=*) + SING_CACHE_DIR="${i#*=}" + ;; -v|--version) get_version && exit 0 ;; @@ -398,6 +405,17 @@ function main(){ WORKDIR=$(readlink -m "$WORKDIR") echo "Working Dir: $WORKDIR" + if [[ -z "$SING_CACHE_DIR" ]]; then + if [[ -d "/data/$USER" ]]; then + SING_CACHE_DIR="/data/$USER/.singularity" + else + SING_CACHE_DIR="${WORKDIR}/.singularity" + fi + echo "singularity cache dir (--singcache) is not set, using ${SING_CACHE_DIR}" + fi + mkdir -p $SING_CACHE_DIR + EXPORT_SING_CACHE_DIR_CMD="export SINGULARITY_CACHEDIR=\"${SING_CACHE_DIR}\"" + case $RUNMODE in init) init && exit 0;; dryrun) dryrun && exit 0;; diff --git a/docs/user-guide/run.md b/docs/user-guide/run.md index bd03a45..2deeadd 100644 --- a/docs/user-guide/run.md +++ b/docs/user-guide/run.md @@ -2,10 +2,13 @@ ## 3.1 Pipeline Overview -The Snakemake workflow has a multiple options: +The Snakemake workflow has a multiple options + +### Required arguments ``` Usage: bash ./data/CCBR_Pipeliner/Pipelines/CARLISLE/carlisle -m/--runmode= -w/--workdir= + 1. RUNMODE: [Type: String] Valid options: *) init : initialize workdir *) run : run with slurm @@ -17,6 +20,13 @@ Usage: bash ./data/CCBR_Pipeliner/Pipelines/CARLISLE/carlisle -m/--runmode=