CentOS 7 安装R-4.2.0及Seurat、hdf5r、DoubletFinder

因为直接根据R语言官网的描述,CentOS 7系统安装的R是3.6.0版本的,而Seurat包要求R-4.0.0以上版本,所以在这里记录下自己安装R-4.2.0以及几个R包的过程。

下载R-4.2.0安装包

$ wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-4/R-4.2.0.tar.gz

$ tar-zxvf R-4.2.0.tar.gz

配置

$ ./configure --enable-R-shlib=yes --prefix=/disks/software/R-4.2.0

安装

$ make

$ make install

注意此时的R-4.2.0安装的位置与默认位置不同,需要创建aliases

默认的R

$ alias R3.6.0=/usr/local/bin/R 

新装的R

$ alias R4.2.0=/home/admin/R-4.2.0/bin/R

运行R,然后安装Seurat

> install.packages("Seurat")

这一步要等好久,很多dependencies要安装

Warning messages:

1: In install.packages("Seurat") :

  安装程序包‘RcppTOML’时退出狀態的值不是0

2: In install.packages("Seurat") :

  安装程序包‘reticulate’时退出狀態的值不是0

3: In install.packages("Seurat") : 安装程序包‘leiden’时退出狀態的值不是0

4: In install.packages("Seurat") : 安装程序包‘Seurat’时退出狀態的值不是0

安装一个低版本的RcppTOML

> install.packages("devtools")

> require(devtools)

> install_version("RcppTOML", version = "0.1.3")

安装reticulate

> install.packages("reticulate")

再次尝试安装Seurat

> install.packages("Seurat") ;library("Seurat")

成功!

在安装 hdf5r 包的时候,提示需要 hdf5-devel >= 1.8.13,而目前CentOS 7 中 yum 只能安裝1.8.12版本,所以只能手动安装高版本的hdf5.

卸载yum安装旧版本后,从官网下载 hdf5-1.10.5安装

wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/hdf5-1.10.5.tar.gz

tar xvf hdf5-1.10.5.tar.gz

cd hdf5-1.10.5

./configure

make

make install

然后在 这和 这发现 hdf5r 的安装依赖 h5cc,因为是自己安装的 hdf5,所以需要手动指定 h5cc 路径

install.packages("hdf5r", configure.args="--with-hdf5=/home/moutian/hdf5-1.10.5/hdf5/bin/h5cc")

错误: package or namespace load failed for ‘hdf5r’ in dyn.load(file, DLLpath = DLLpath, ...):

 无法载入共享目标对象‘/home/moutian/R/x86_64-pc-linux-gnu-library/4.2/hdf5r/libs/hdf5r.so’::

  libhdf5_hl.so.100: 无法打开共享对象文件: 没有那个文件或目录

这表明加载包的时候不能识别 hdf5 的动态库,实际包已经安装好了,只是不能加载 hdf5 动态库,需要手动配置 hdf5 动态库 libhdf5_hl.so.100

在R中运行

> dyn.load('/usr/local/hdf5/lib/libhdf5_hl.so.100')

> install.packages("hdf5r", configure.args="--with-hdf5=/home/moutian/hdf5-1.10.5/hdf5/bin/h5cc")

> library(hdf5r)

成功!

直接从install.packages安装DoubletFinder会需要更新RcppTOML版本,所以选择从GitHub安装

> remotes::install_github('chris-mcginnis-ucsf/DoubletFinder',update=F) 

> library("DoubletFinder")

成功!

你可能感兴趣的:(CentOS 7 安装R-4.2.0及Seurat、hdf5r、DoubletFinder)