From 0417507e5248ec5e992f43d1a87a81ba31e220c1 Mon Sep 17 00:00:00 2001 From: Kelly Sovacool Date: Tue, 20 Aug 2024 14:42:48 -0400 Subject: [PATCH] fix: always load required modules even if already in the path, since version number may need to change and conda env may not have a good snakemake version fixes #153 --- bin/redirect | 48 ++++++++++++++---------------------------------- 1 file changed, 14 insertions(+), 34 deletions(-) diff --git a/bin/redirect b/bin/redirect index 824d007..702c370 100755 --- a/bin/redirect +++ b/bin/redirect @@ -1,21 +1,10 @@ #!/usr/bin/env bash - -# This is a wrapper for spook python script +# This is a wrapper for the pipeline script # It: -# - loads require modules +# - loads require modules and conda environments # - parses the variables directly to the python script - -function load_module_if_needed { - module_name=$1 - x=$(type -P $module_name) - if [[ -z $x ]];then - module load $module_name - fi -} - -SCRIPTNAME="$BASH_SOURCE" -SCRIPTDIRNAME=$(readlink -f $(dirname "$SCRIPTNAME")) +SCRIPTDIRNAME=$(readlink -f $(dirname "$BASH_SOURCE")) # add "bin" to PATH if [[ ":$PATH:" != *":${SCRIPTDIRNAME}:"* ]];then @@ -23,21 +12,15 @@ if [[ ":$PATH:" != *":${SCRIPTDIRNAME}:"* ]];then fi TOOLDIR=$(dirname "$SCRIPTDIRNAME") -TOOLNAME=$(basename "$SCRIPTNAME") -# echo $TOOLNAME # find out if you are running on biowulf or frce -nbiowulf=$(scontrol show config | grep -i -c biowulf) -if [[ "$nbiowulf" > 0 ]];then ISBIOWULF=true; else ISBIOWULF=false;fi -nfrce=$(scontrol show config | grep -i -c fsitgl) -if [[ "$nfrce" > 0 ]];then ISFRCE=true; else ISFRCE=false;fi - +hpc_name=$(scontrol show config | grep ClusterName | sed "s/^.*= //") # load conda -if [[ $ISBIOWULF == true ]];then - . "/data/CCBR_Pipeliner/db/PipeDB/Conda/etc/profile.d/conda.sh" +if [[ $hpc_name == biowulf ]]; then + . "/data/CCBR_Pipeliner/db/PipeDB/Conda/etc/profile.d/conda.sh" conda activate py311 -elif [[ $ISFRCE == true ]];then - . "/mnt/projects/CCBR-Pipelines/resources/miniconda3/etc/profile.d/conda.sh" +elif [[ $hpc_name == fnlcr ]]; then + . "/mnt/projects/CCBR-Pipelines/resources/miniconda3/etc/profile.d/conda.sh" conda activate py311 else echo "You are NOT running on BIOWULF or on FRCE" @@ -55,15 +38,12 @@ fi # - singularity # - snakemake # are in PATH -if [[ $ISBIOWULF == true ]];then - # module purge - load_module_if_needed singularity - load_module_if_needed snakemake -elif [[ $ISFRCE == true ]];then -# snakemake module on FRCE does not work as expected -# use the conda installed version of snakemake instead - # module purge - load_module_if_needed load singularity +if [[ $hpc_name == biowulf ]];then + module load singularity snakemake/7 +elif [[ $hpc_name == fnlcr ]];then + # snakemake module on FRCE does not work as expected + # use the conda installed version of snakemake instead + module load singularity export PATH="/mnt/projects/CCBR-Pipelines/bin:$PATH" fi