diff --git a/workflow/qhtcp-workflow b/workflow/qhtcp-workflow index ee8e34ba..3ef8b8e9 100755 --- a/workflow/qhtcp-workflow +++ b/workflow/qhtcp-workflow @@ -427,7 +427,7 @@ install_dependencies() { # Dependency arrays depends_rpm=(graphviz pandoc pdftk-java gd-devel perl-CPAN shdoc nano rsync coreutils libcurl-devel openssl-devel) - depends_deb=(graphviz pandoc pdftk-java libgd-dev perl shdoc nano rsync coreutils) + depends_deb=(graphviz pandoc pdftk-java libgd-dev perl shdoc nano rsync coreutils libcurl-dev openssl-dev) depends_brew=(graphiz pandoc gd pdftk-java shdoc nano perl rsync coreutils) depends_perl=(File::Map ExtUtils::PkgConfig GD GO::TermFinder) depends_r=(BiocManager ontologyIndex ggrepel tidyverse sos openxlsx ggplot2 @@ -1644,8 +1644,16 @@ main() { declare -g MATLAB="${MATLAB:-$(which matlab 2>/dev/null)}" # Use a custom R library - declare -gx R_LIBS_USER="$HOME/R/$SCRIPT_NAME" - [[ -d "$R_LIBS_USER" ]] || mkdir -p "$R_LIBS_USER" + if [[ -z $R_LIBS_USER || $R_LIBS_USER != "$HOME/R/$SCRIPT_NAME" ]]; then + echo "This script uses a custom R library at $HOME/R/$SCRIPT_NAME" + echo "You can install the R dependencies to this library using the install_dependencies module" + if ((YES)) || ask "Would you like to make this library the default for your user?"; then + echo "Adding R_LIBS_USER=$HOME/R/$SCRIPT_NAME to your .bashrc" + echo "export R_LIBS_USER=$HOME/R/$SCRIPT_NAME" >> "$HOME/.bashrc" + fi + else + debug "R_LIBS_USER already set to $HOME/R/$SCRIPT_NAME" + fi # Global vars SCRIPT_NAME="${BASH_SOURCE[0]}" @@ -1795,9 +1803,14 @@ main() { "${SUBMODULES[i]}" "${cmds[@]}" continue 2 # skip the command string done + + done } -main "$@" +# (Safe) main loop +for ((i=0; i<=1; i++)); do + main "$@" && i=0 # on successful run, reset the counter +done exit $?