From 54a3dd4b38d267ccf1903b96565d62214800320e Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 10 Sep 2024 12:58:35 -0400 Subject: [PATCH] fix: set singularity cache dir (fixes #137) --- carlisle | 19 +++++++++++++++++++ docs/user-guide/run.md | 12 +++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/carlisle b/carlisle index 367c2ea..9d6488d 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,18 @@ function main(){ WORKDIR=$(readlink -m "$WORKDIR") echo "Working Dir: $WORKDIR" + if [[ -z "$SING_CACHE_DIR" ]]; then + echo "singularity cache dir (--singcache) is not set" + if [[ -d "/data/$USER" ]]; then + SING_CACHE_DIR="/data/$USER/.singularity" + else + SING_CACHE_DIR="${WORKDIR}/.singularity" + fi + echo "\tusing ${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=