一、服务器更新R版本以及更改Rstudio配置&vscode配置R
版本更新从3.6.0-->4.2.2
方法:
Root权限
[if !supportLists]1. [endif]Configure:
./configure --prefix=/home/software/R-4.2.2 --enable-R-shlib
报错:configure: error: libcurl >= 7.28.0 library and headers are required with support for https
解决:yum install curl curl-devel -y
后续有个pdf字体的warning,未解决,不重要。
[if !supportLists]2. [endif]安装成功后,更改服务器rstudio的attach的R版本:
(1)root用户打开Rstudio server配置文件
vim /etc/rstudio/rserver.conf
添加两个版本R的路径,想用哪个版本,即把另一个注释掉
rsession-which-r=/home/test/Download/R-4.2.1/bin/R
# rsession-which-r=/usr/local/bin/R
保存退出该文件
(2)root用户重启Rstudio
# rstudio-server verify-installation #查看Rstudio安装是否正确
rstudio-server restart #重启
rstudio-server status #查看状态
(3)重新打卡网页版Rstudio server即可。
————————————————
版权声明:本文为CSDN博主「YZJenny」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/YZJenny/article/details/127364737
(4)服务器上的rstudio-server无法使用conda环境中的R,所以想看一下vscode怎么样
(参考:忘掉Rstudio,来用VSCode愉快地进行R远程开发 (baidu.com))
应该配置成功了,我目前的操作就是先打开一个R文件,之后根据vscode自动弹出的提示安装一些需要的R包。这一步结束之后,需要在Rextension的设置里添加希望打开的conda R路径。
这里的hdWGCNA里的R是我预先配置好的。
(5) rstudio-server链接conda中的R
这里除了常规的which-r配置外,还需要配置lib路径,不然无法正常启动。
在rserver.conf中添加:
rsession-which-r=/root/anaconda3/envs/singlecell_analysis/bin/R
rsession-ld-library-path=/root/anaconda3/envs/singlecell_analysis/lib
即可。
二、本地安装stringi
安装Seurat的时候发现stringi安装失败,因为无法连接github。因此采用线下安装的方法。报错信息:
首先在官网下载stringi的安装包:
stringi_1.7.12.tar.gz
之后下载icu69,这个对于安装也是必须的,下载地址:
https://raw.githubusercontent.com/gagolews/stringi/master/src/icu69/data/icu4c-69_1-data-bin-l.zip
下载完成后存放到/home/software/R_package/文件夹下,之后执行:
R CMD INSTALL --configure-vars='ICUDT_DIR=/home/software/R_package/' stringi_1.7.12.tar.gz
再补充一点,这个本地个性化安装很重要,即使在conda环境下也要自己手动安装stringi,否则lib里面有个文件可能会和其他的包冲突。stringi(libicui18n.so.58)里面的包需要的是58版本,其他的很多都需要更新的。但是手动安装貌似就不存在这个问题了。
三、RcppTOML安装失败
真是各种问题啊,RcppTOML安装也出问题了,报错信息:
C++17 standard requested but CXX17 is not defined
解决方法:
首先按照服务器安装新版本R及Seurat方法所述方法更新gcc至devtoolset-9版本。之后执行:
mkdir -p ~/.R
echo 'CXX17 = g++ -std=c++17 -fPIC' > ~/.R/Makevars
搞定。
四、SCENIC的本地安装
本方法应该同样适用于其他github来源的包。devtools在线安装SCENIC无法连接GitHub,因此采用先打包下载,再本地安装的方法。在github上打包下载zip文件即可。
之后在服务器上选定安装文件夹,解压缩,得到了一个SCENIC-master文件夹。
之后用:install.packages("SCENIC-master", repos=NULL, type="source") 安装即可。
五、hdf5r & seurat-disk安装
hdf5r安装:
服务器自带的hdf5版本比较老,需要手动下载安装hdf5。这里我下载了最新版本:
wget -c Index of /ftp/HDF5/releases/hdf5-1.14/hdf5-1.14.0/src/hdf5-1.14.0.tar.gz
之后手动安装。我用了默认安装路径,没有指定。
hdf5下载解压目录:/home/software/hdf5-1.14.0/
之后依次执行:
./configure
make
make check
make install
完成之后hdf5安装在了当前目录
下面需要安装hdf5r,需要指定路径
首先,在终端中执行:
echo "dyn.load('/home/software/hdf5-1.14.0/hdf5/lib/libhdf5_hl.so.310')" >> ~/.Rprofile
echo LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/software/hdf5-1.14.0/hdf5/lib/ >> ~/.Renviron
之后在R中安装hdf5r:
install.packages("hdf5r", configure.args="--with-hdf5=/home/software/hdf5-1.14.0/hdf5/bin/h5cc")
之后安装seurat disk,使用的也是先下载后安装的模式:
install.packages("seurat-disk-master", repos=NULL, type="source")
这里需要注意一下,SeuratDisk安装的时候是在root权限安装的,个人账号登陆的时候两个echo还需要在个人账号重新跑一遍。应该有更好的办法但是还没找到。
如果配置Rprofile和Renviron的时候打开了Rstudio,记得在配置完成后在Rstudio中重启R,不然无法正常使用。
如果后续还是报错,每次使用这两个包之前运行:
dyn.load('/home/software/hdf5-1.14.0/hdf5/lib/libhdf5_hl.so.310')
library(SeuratDisk)
即可。
六、scater安装
有一个包,Cairo需要系统中提前安装。代码:
yum install cairo-devel.x86_64
之后在R中:install.packages("Cairo")
七、conda中的R包安装
1) ragg:
直接用conda里面的R安装ragg会显示configure失败,因此使用以下安装方式:
conda install -c conda-forge r-ragg
(不得不说conda安装起来还真是方便,可以自动检测下载一些依赖。)
后面加载的时候报错:
library(ragg)
错误: package or namespace load failed for ‘ragg’ in dyn.load(file, DLLpath = DLLpath, ...):
无法载入共享目标对象‘/root/anaconda3/envs/singlecell_analysis/lib/R/library/ragg/libs/ragg.so’::
libjpeg.so.9: 无法打开共享对象文件: 没有那个文件或目录
解决方法是更新jpeg包。我做了 两个操作:
conda install -c conda-forge libjpeg-turbo
conda install -c conda-forge jpeg
之后就可以加载成功了。