作者: Hyacz hyacinth.hao@foxmail.com 2017年8月30日 本教程发布时仅针对 Microsoft R Open 3.4.0 版本测试通过。
我们新写的 GWAS 的算法包 MVP 采用了 Microsoft R Open,在我们对计算的优化中 MRO 起到了非常关键的作用。在测试的时候就遇到了在没有 root 权限要安装 MRO 的问题,经过百度、Google 都没有找到较好的方案,研究了 MRO 的安装脚本和解开 RPM 包分析了之后,最终采用手工安装的方式成功安装,遂成此文与大家分享。(另随文附赠官方安装和 Conda 安装方法)
简要概括Microsoft R Open以及其各种安装方法,手工安装过程见文章最后。
Microsoft R Open 是一个加强的 R 发行版,完全适配与原有的 Base R——这意味着它可以使用所有的 R 包。 特色是: * 非常快 * 稳定,可以回滚包的版本
安装MRO
conda install -c mro r
一键安装)02A34C3D-D5D1-462B-9009-9C37DA1E48E9
MRO 是一个基于 Base R 的加强的完全开源、免费的 R 发行版,与原有的 Base R 完全适配,可以使用所有的 R 包和脚本。加强的地方主要体现在性能和再生性上,支持Windows、Linux和MacOS。
关于性能对比可以参考这个链接
官方给出的指南是最简便快捷的(在你有 root 权限的时候)
参考这个链接:官方安装指南,总体思路就是下载,解压,用 root 权限运行安装脚本,然后按照提示一路 yes 下去就安装完成了。 Linux 安装指南部分摘抄如下:
root
or a user with sudo
privileges. If the latter, precede commands requiring root
privileges with sudo
.tar -xf microsoft-r-open-3.4.0.tar.gz
microsoft-r-open
directory as follows:
cd microsoft-r-open/
sudo ./install.sh
lib64/R/bin/R
.重要(随便翻译一下↑)
lib64/R/bin/R
。(会覆盖之前安装的 Base R 的软链接。)不需要 root 权限,但是需要能访问外网( -除非制作本地 Conda Channel- ),安装的版本稍落后。
参考这个链接:Using Microsoft R Open with Conda
conda install -c mro r
安装 Microsoft R Open注意:目前Conda的源更新速度落后于官方发布的安装包,目前Conda的源只更新到 3.2.3,而官方安装包已经发布到了 3.4.0
手工安装比较繁琐,优点在于可以不需要 root 权限安装上最新的 Microsoft R Open。
接下来以 Centos 为例(同样适用于其他使用 rpm 作为包管理器的 Linux发行版)
tar -xf microsoft-r-open-3.4.0.tar.gz
microsoft-r-open
:
cd microsoft-r-open
rpm2cpio
解开 rpm 包:
rpm2cpio rpm/microsoft-r-open-mro-3.4.rpm |cpio -idmv
rpm2cpio rpm/microsoft-r-open-foreachiterators-3.4.rpm |cpio -idmv
rpm2cpio rpm/microsoft-r-open-mkl-3.4.rpm |cpio -idmv
cp usr/lib64/microsoft-r/3.4/stage/Linux/bin/x64/*.so usr/lib64/microsoft-r/3.4/lib64/R/lib/
usr/lib64/microsoft-r/3.4/lib64/R/etc/Rprofile.site
,在文件头部添加:
Sys.setenv("MKL_INTERFACE_LAYER"="GNU,LP64")
Sys.setenv("MKL_THREADING_LAYER"="GNU")
$HOME
:
mv usr/lib64/microsoft-r/3.4/lib64/R ~/mro-3.4
~/.bash_profile
export R_HOME=~/mro-3.4
export PATH=~/mro-3.4/bin:$PATH
export LD_LIBRARY_PATH=~/mro-3.4/lib:$LD_LIBRARY_PATH
注意:
R_HOME
后不要添加/
不然启动的时候会弹 Warning 告诉你R_HOME
的值被忽略了。另外写完文件之后需要source~/.bash_profile
使其生效。
在终端输入:
R
如果回显中除了 Base R 正常启动时的回显还包括类似的这一段:
9B82EC5DB61E7291B07D7A559D835388
就说明 Microsoft R Open 已经安装成功了。