共享服务器,考虑到用户的需求,服务器维护团队已经在服务器上安装了1300+的公共R包,路径为: /refdir/Rlib
。
一般来说,用户只需要在 .libPaths 中添加服务器公共R包即可调用,有两种方法(其中4.4需要根据服务器的R语言版本进行适当修改):
直接在 .libPaths() 中添加服务器公共R包的路径即可。但是这样设置仅仅是当前R会话生效,当会话重启或者切换了其他项目 Rproj 之后就会失效。
.libPaths(c('~/R/x86_64-pc-linux-gnu-library/4.4',
'/refdir/Rlib',
'/usr/local/lib/R/library'))
ssh 登陆服务器创建一个 .Rprofile(R语言配置文件)然后在这个文件中输入你要调用R包的位置即可。示例代码如下:
echo ".libPaths(c('~/R/x86_64-pc-linux-gnu-library/4.4',
'/refdir/Rlib',
'/usr/local/lib/R/library'))">>~/.Rprofile
设置后了之后,重启 Rsession 即可生效:
需要注意的是:服务器公共R包
/refdir/Rlib
的版本不一定是最新的,且不一定兼容所有环境。不同用户的需求不同,可能需要用到不同版本的R包,用户需要请自行安装到自己目录下,示例方法:
install.packages("xx",lib ="~/R/x86_64-pc-linux-gnu-library/4.4")
有一些用户的分析环境更加复杂,比如使用了conda环境里的R,就需要用户自行再根据其个人环境进行个性化修改,需要用户有较强的R包管理基础。
用户在分析过程中,原先已经在个人目录下安装了 Seurat5 版本,且可以正常使用。现在分析需求要将Seurat 版本降低为 V4,需要重新安装R包,但是遇到问题,无论怎样,都无法降级R包 Seurat 至 V4 版本,报错截图:
首先,用户原先 Seurat 版本为 5.2.0,用户前面 library(Seurat) 将其加载到环境中。然后remove之后,重装R包 Seurat V4 版本,再重新检测的时候,版本依然为 5.2。这是因为在该会话中,用户library Seurat V5 版本,已经加载到会话环境中,重装版本需要结束掉当前会话或者重启会话环境,才能将前面的R包缓存清空。重启会话的方法是:
之后再重新加载 Seurat 包,就可以发现版本已经修改为 V4