Linux 下非 root 用户 Conda 安装生物信息 R 软件包 CellMix 演示

今天演示一下 Linux 下非 root 用户 Conda 安装生物信息 R 软件包 CellMix,CellMix 是一款 9 年前就停止更新的老旧生物信息 R 软件包,但是却有人仍然需要使用它。由于年代久远,官网上的安装方法在现在的较新的 R 版本环境下已经失效,给安装带来相当的难度。本文的演示环境是位于腾讯云广州区的 Debian 10 Linux 云服务器、Miniconda3 版本 4.12.0、R 4.0.2、CellMix 1.6.2。视频演示地址:https://www.bilibili.com/video/BV16U4y127AS?share_source=copy_web

一、涉及或尝试过的相关知识点提要:
1、Conda R 环境安装
2、R 包相关知识点
1)、设置 R 包仓库:setRepositories()
2)、选择 CRAN(Comprehensive R Archive Network)镜像:chooseCRANmirror()
3)、选择 生物信息软件库(Bioconductor)镜像:chooseBioCmirror()
4)、通用 R 包安装:install.packages()
(1)、从可能有此软件的任一仓库中安装,如:install.packages("BiocManager")
(2)、从指定的网址安装,如:install.packages(pkgs = "http://web.cbio.uct.ac.za/~renaud/CRAN/src/contrib/CellMix_1.6.2.tar.gz", type = "source")
(3)、从下载到本地的文件中安装,如:install.packages("~/tmp/CellMix_1.6.2.tar.gz", repos=NULL, type="source")
(4)、一次并行安装多个下载的文件,如:install.packages(c("~/tmp/annotate_1.38.0.tar.gz", "~/tmp/Biobase_2.20.0.tar.gz"), repos=NULL, type="source", Ncpus=2)
5)、生物信息软件包安装方法(也可以安装CRAN和github的R包),如一次安装多个包:BiocManager::install(c("pkgmaker", "NMF", "csSAM", "registry"))
6)、编译安装 R 之前,设定环境变量 export MAKE="make -jN"(N 表示可以并行编译的任务数)有可能利用并行编译加快速度(修正:但是,我发现有的软件设置了 export MAKE="make -jN" 的并行编译环境变量后,会通不过编译,所以,保险起见还是不要设置这个环境变量了。2022.06.27)

下面,我详细的演示一下在 R 4.0.2 中安装 CellMix 的步骤。

二、Conda R 环境安装
1、下载并安装 Miniconda
Miniconda 就是缩小版的 Conda。
在终端执行下列命令:

 wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
 bash Miniconda3-latest-Linux-x86_64.sh # 所有的选项都选同意或“Yes”
 . ~/.bashrc
 conda config --set auto_activate_base false
 conda deactivate

2、添加并设置国内清华源优先
网上一般说添加使用国内源速度快点,但我发现添加设置了后可能长时间卡在“Collecting package metadata (repodata.json): done”无响应,如果碰到这个情况就不要添加设置了。

conda config --add channels r
conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels  https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes

3、升级 conda
conda update -n base -c defaults conda

4、安装 R 4.0.2
默认的通道channel 是没有 r-base 4 版本的。
执行命令:
conda create -n cellmix -c conda-forge r-base==4.0.2
还可以克隆一个作为备份:
conda create -n cellmix_init --clone cellmix
conda activate cellmix

三、安装 CellMix 1.6.2
从我的测试来看,安装成功 CellMix 有一个重要的关键因素就是网络,我这里使用的是腾讯云广州区的云服务器。阿里云等云服务器估计也行。
如果网络不行,可能导致在 R 环境中其中依赖包 stringi 不能正常安装,那么我们可以预先用 conda 安装上这个包,如下:
conda install -c conda-forge r-stringi
我用上面腾讯云的网络是不需要这步的。
另外,在 R 环境下编译安装依赖包 curl 时可能会报告 libcurl 无法找到,从而编译安装失败,我们同样可以预先用 conda 安装上这个包,如下:
conda install -c conda-forge r-curl
执行命令:
export MAKE="make -j8" # 设置为最多可以有8个并行编译任务,可以发挥多核CPU的威力,加快编译速度
R
在 R 环境下执行下列命令:
setRepositories() # 设置 R 包仓库,把1~8个仓库全选上
install.packages("BiocManager") #安装生物信息包管理器
这时会让选择CRAN镜像,我这里选”20: China (Guangzhou) [https]“,即输入20回车即可。
因为 CellMix 的依赖包“BiocInstaller”在当前的 R 4.0.2 无效。这时,需要手工安装它,命令如下:
install.packages(pkgs = "http://bioconductor.org/packages/3.7/bioc/src/contrib/BiocInstaller_1.30.0.tar.gz", type = "source")
上面的依赖包“BiocInstaller”如果不能通过网络安装,就想法下载到本地安装,如下:
install.packages("~/tmp/BiocInstaller_1.30.0.tar.gz", repos=NULL, type="source")
install.packages(pkgs = "http://web.cbio.uct.ac.za/~renaud/CRAN/src/contrib/CellMix_1.6.2.tar.gz", type = "source") # 从源码安装 CellMix_1.6.2
也可以下载到本地后安装,如下:
install.packages("~/tmp/CellMix_1.6.2.tar.gz", repos=NULL, type="source")
这个时候,会报告缺少安装 CellMix 需要的一大堆依赖,如下:
ERROR: dependencies ‘pkgmaker’, ‘NMF’, ‘csSAM’, ‘registry’, ‘stringr’, ‘GSEABase’, ‘Biobase’, ‘BiocGenerics’, ‘annotate’, ‘matrixStats’, ‘genefilter’, ‘AnnotationDbi’, ‘RSQLite’, ‘DBI’, ‘preprocessCore’, ‘limSolve’, ‘quadprog’, ‘corpcor’, ‘xtable’, ‘gtools’, ‘beeswarm’, ‘graph’, ‘bibtex’, ‘digest’, ‘ggplot2’, ‘plyr’ are not available for package ‘CellMix’
然后,执行下列命令安装上面列出的缺失的依赖:

BiocManager::install(c("pkgmaker", "NMF", "csSAM", "registry", "stringr", "GSEABase", "Biobase", "BiocGenerics", "annotate", "matrixStats", "genefilter", "AnnotationDbi", "RSQLite", "DBI", "preprocessCore", "limSolve", "quadprog", "corpcor", "xtable", "gtools", "beeswarm", "graph", "bibtex", "digest", "ggplot2", "plyr"))

如果我们前面用 conda 安装了 r-stringi ,可能会询问是否升级 stringi,回答 n
上面的依赖包安装完成后,我们再重新执行安装 CellMix 命令如下:
install.packages(pkgs = "http://web.cbio.uct.ac.za/~renaud/CRAN/src/contrib/CellMix_1.6.2.tar.gz", type = "source")
安装完毕。
执行下列命令加载 CellMix:
library(CellMix)
关于 R 古董包 CellMix 的安装分享就些结束。欢迎交流及批评指正。

参考链接:
1、A Comprehensive Toolbox for Gene Expression Deconvolution http://web.cbio.uct.ac.za/~renaud/CRAN/web/CellMix/index.html
2、一文掌握 conda 安装配置生物信息软件 https://cloud.tencent.com/developer/article/1889220
3、使用conda配置一个单细胞数据分析环境 https://cloud.tencent.com/developer/article/1906292
4、Linux R 中安装生物信息相关软件包 https://blog.csdn.net/qq_32115939/article/details/118993214
5、Installing and Managing Bioconductor Packages https://cran.r-project.org/web/packages/BiocManager/vignettes/BiocManager.html
6、Installation of the R package : CellMix https://competitions.codalab.org/forums/18663/3175/
7、Install package from local source https://riptutorial.com/r/example/5556/install-package-from-local-source
8、setRepositories: Select Package Repositories(及后面 See Also 里的:chooseCRANmirror, chooseBioCmirror, install.packages)https://www.rdocumentation.org/packages/utils/versions/3.6.2/topics/setRepositories
9、Bioconductor https://www.bioconductor.org/

发表评论

电子邮件地址不会被公开。 必填项已用*标注