如何使用 qsub 在 HPC 上使用本地 R 安装

How to use local R installation on HPC with qsub

我使用的集群无法全局安装特定的 R 版本。鉴于我在文件夹上为 R 构建了特定版本:

<generic_path>/R/R-X.Y.Z

我在本地安装了一些软件包:

<generic_path/R/packages

如何在 shell 脚本 (bash) 中设置 运行 这个特定 R 版本的环境变量和别名,从本地包目录加载包?

选项 1: 使用 HPC 的 shell 脚本(在我的例子中是 qsub 脚本),这可以通过 运行ning 一个 shell 脚本(例如在 bash 中)来实现,它包含以下内容行:

alias R="<path_to_R>/R/R-X.Y.Z/bin/R"
export R_LIBS="<path_to_R>/R/packages"
export PATH="<path_to_R>/R/R-X.Y.Z/bin:${PATH}"

脚本(这里我命名为makeenv.sh)可能是运行在qsub脚本里面:

source makeenv.sh

选项 2: 根据您的 HPC 系统,您可能有 module availmodule load 命令,如果是,则使用:

myBsubFile.sh

#!/bin/bash
# some #BSUB headers...
# ...    

module load /R/R-X.Y.Z
Rscript myRcode.R

然后在 R 脚本中加载库为:

myRcode.R

library("data.table", lib.loc = "path/to/my/libs")
# some more R code...