devtools安装_MetaboAnalyst的本地安装-基于Hyper-V上的ubuntu 20.04 LTS

v2-e4d9f3f12eda319021d938e78ed22780_1440w.jpg?source=172ae18b

MetaboAnalyst是由加拿大McGill大学的Xia-lab开发的代谢组学分析平台,提供了完整的代谢组学数据分析流程以及多组学联合分析功能,点点鼠标就可以进行代谢组学数据分析,可谓神器。

MetaboAnalyst​www.metaboanalyst.ca
v2-a39b31198f105e83a3100faf70c4c15e_ipico.jpg

整个平台的数据处理基于R语言,并且是开源的,可以在自己的PC上用完成数据分析。

Github xia-lab/MetaboAnalystR​github.com

但是在本地使用R,只能以命令行方式,比起网站来说易用程度差了很多。

v2-165836804892f20d28c82f3be04a6781_b.jpg

但是网页版的MetaboAnalyst由于服务器在国外,有时候速度很慢,保存数据结果也不甚方便。其实MetaboAnalyst是可以在本地PC上运行的,支持Linux和Mac OSX平台,但是不支持Windwos平台。xia-lab提供了简单的本地安装指南(真的是只有几句话),但是没有具体的实现步骤。Github上提供的基于Docker的解决方案很久没有更新了,已经不适合现在的情况。

MetaboAnalyst 本地安装指南

MetaboAnalyst_Docker方案

经过几次踩坑和摸索,终于成功地在ubuntu上实现了本地部署MetaboAnalyst,响应速度比起源站快了很多,可以畅快的使用MetaboAnalyst的所有功能,计算结果和图片再也不会刷不出来了。

v2-86707d106967e24292be2af641fad604_b.jpg
本地运行的MetaboAnalyst

0. 说在前面

这是一篇针对如何本地部署MetaboAnalyst的实践总结。历经从Docker,WSL到Hyper-V,从ubuntu 16, R3.5到ubuntu 18, R4.0,tomcat, glassfish到Payara,整合了xia-lab的两个Github和MetaboAnalyst网站的信息和指南,折腾了两三天终于成功。

所以这不是一篇零门槛的Step by Step。读者需要有一些虚拟机,Linux和网络应用的基本知识,例如:

Hyper-V虚拟机的配置,在虚拟机上安装ubuntu

Linux的一些基本操作,基本的文件操作命令,权限,软件源修改等

R语言的一些基本命令等

电脑配置要求

CPU:推荐4核心以上,主频越高越好,和运算速度直接相关。

内存:需要运行桌面版ubuntu推荐16G内存,Server版8G内存。

硬盘:虚拟机硬盘安装完桌面版ubuntu和所有软件以后不到15G,Server版应该更小,按需分配大小即可。

要实现MetaboAnalyst的本地部署,主要分三个步骤:

1. 在Hyper-V上安装ubuntu 20.04 LTS

Linux的发行版很多,这里选择的是最大众的ubuntu 20.04 LTS桌面版。其实Linux平台只是作为一个服务器使用,用没有图形界面的版本就可以,但是如果你不熟悉Linux下的操作,用带有图形桌面的版本会轻松不少。

安装时可以选择安装基本软件还是全部软件,包括office什么的,选基本就行。

ubunutu 20.04 LTS桌面版下载地址​mirrors.aliyun.com

如果因为大多数时间还是需要Windwos平台下工作,在Windows自带的Hyper-V虚拟机上安装一个Linux系统是一个比较方便快速的方法。其他虚拟机平台也可以,当然如果是本地安装Linux肯定没问题。

本人曾尝试了在WLS上安装ubuntu,中间过程有不少恼人的问题,而且最后只能看到网站页面而无法实际的数据处理,请大家不要再入WLS的坑了。

关于具体如何在Hyper-V上安装ubuntu的过程,网上有数不胜数的教程,这里不再赘述。只要安装好最基本的ubuntu,设置好root密码,可以进入到桌面即可

2. 安装ubuntu系统基础软件包和MetaboAnalystR软件包

以下全部是已root身份进行操作,为了方便起见可以直接转到root下运行,避免每次都要sudo输密码

sudo -i

建议先将ubuntu软件源修改到国内镜像,例如清华大学,阿里,网易等,具体步骤请搜索网络教程

2.1 安装ubuntu系统基础包

更新一下系统

sudo apt-get update
sudo apt-get upgrade

需要安装的包为:libcairo2-dev, libnetcdf-dev, libxml2-dev, libxt-dev 和 libssl-dev。此处xia-lab指南中只列了libxml2,实际需要libxml2-dev,否则后面编译R包会失败。

sudo apt-get install libcairo2-dev
sudo apt-get install libnetcdf-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxt-dev
sudo apt-get install libssl-dev

添加CRAN镜像,源码也需要,这里使用的是R 4.0版。

deb http://mirrors.tongji.edu.cn/CRAN/bin/linux/ubuntu focal-cran40/
deb-src http://mirrors.tongji.edu.cn/CRAN/bin/linux/ubuntu focal-cran40/

添加了CRAN以后需要添加一个密钥,如果是WSL下只能手动下载安装,又是一个坑。

为CRAN添加密钥

2.2 安装R语言基础包

sudo apt-get install r-base

进入R环境,因为后面有非常多的源码包需要安装和编译,建议用国内镜像源保证下载稳定

使用函数chooseCRANmirror(),在弹出窗口选择。

chooseCRANmirror()

或者用命令行

options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))

bioconductor的镜像源只有清华的,一定要加上,bioconductor主站很慢,中间断了就要重来。。。

options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")

设置好以后开始安装R环境依赖包,推荐按照xia-lab提供的option1的方式进行。

Option 1 Enter the R function (metanr_packages) and then use the function. A printed message will appear informing you whether or not any R packages were installed. Function to download packages:

metanr_packages <- function(){

  metr_pkgs <- c("impute", "pcaMethods", "globaltest", "GlobalAncova", "Rgraphviz", "preprocessCore", "genefilter", "SSPA", "sva", "limma", "KEGGgraph", "siggenes","BiocParallel", "MSnbase", "multtest","RBGL","edgeR","fgsea","devtools","crmn")
  
  list_installed <- installed.packages()
  
  new_pkgs <- subset(metr_pkgs, !(metr_pkgs %in% list_installed[, "Package"]))
  
  if(length(new_pkgs)!=0){
    
    if (!requireNamespace("BiocManager", quietly = TRUE))
        install.packages("BiocManager")
    BiocManager::install(new_pkgs)
    print(c(new_pkgs, " packages added..."))
  }
  
  if((length(new_pkgs)<1)){
    print("No new packages added...")
  }
}

再执行

metanr_packages()

开始下载并编译MetaboAnalystR需要的基础依赖包,内容比较多,时间大约半个小时,取决于网速和电脑性能。

如果使用WSL会出现文件夹权限问题而导致无法正确安装,坑!

执行完毕以后可以用warnings()看一下是不是哪些包有问题,我的经历是在ubuntu20.04 LTS + R4.0环境下,只要ubuntu的依赖包安装好,R里面的包都是可以一次正常编译通过的。ubuntu 16和R 3.5均会有一些问题需要手动干预。

2.3 MetaboAnalystR包的安装

R语言的基本依赖包安装好以后才真正来到MetaboAnalystR包的安装

推荐采用xia-lab Option A进行安装,Step1是必须步骤,安装devtools包并加载

# Step 1: Install devtools

install.packages("devtools")

library(devtools)

# Step 2: Install MetaboAnalystR with documentation

从MetaboAnalyst的Github安装,国内访问GitHub有不稳定的现象,多试几次,或者fq。

devtools::install_github("xia-lab/MetaboAnalystR", build = TRUE, build_vignettes = TRUE, build_manual =T)

又是一大串的包和依赖包的编译安装,时间可能比前面还要长,耐心。仍然是需要在执行完毕以后可以用warnings()看一下是不是哪些包有问题。

一切顺利的话到这里,MetaboAnalystR的实体功能部分已经安装好了。加载MetaboAnalystR以后的显示如下图,也就是说你可以在本地运行以R命令行的方式MetaboAnalyst的所有功能了。

v2-21f0eefa38d147bb8789d937161496b1_b.jpg

接下来需要更新Rserve,xia-lab提示如果使用CRAN源中的Rserve包会出现 "long vectors not supported" 的问题。经过测试的确是会有此错误提示,所以一定需要从RForge源更新Rserve

 install.packages('Rserve',,"http://rforge.net/",type="source")

退出R,启动Rserve

sudo R CMD Rserve

出现如下红框中信息,说明Rserve启动成功,请不要关闭这个命令行窗口

v2-eb09e0cb11e5e9abe2420f0df2ef0f7c_b.jpg

3. 部署MetaboAnalyst网页端

在安装完MetaboAnalystR包以后,数据分析的功能已经有了,网页上的点选转换成R命令传给Rserve运行,结果再传回网站展示出来,现在只需要建好网站并连接上R语言提供的Rserve。

MetaboAnalyst的网站是基于Java,我们需要安装Java JDK和支持Java EE的服务器

JDK可以直接从ubuntu软件源安装

sudo apt-get install openjdk-13-jdk

安装完以后运行

java -version

如果显示如下图,那就安装好了

v2-5cf822e28566f2998627e5d1405c5d90_b.png

接下来还需要一个Java EE服务器,payara micro无需安装,而且很小巧,一条命令就能启动部署。

Payara Platform Community Edition​www.payara.fish
v2-b2fb24ed881d7bc4de3164265c5dee6c_180x120.jpg

v2-1a7518489ec083a4bdc51f1cdf399b8d_b.jpg
下载这个micro版

下载以后可以放到 /opt目录里,再建立一个子目录,比如叫deoployments

xia-lab提供了MetaboAnalyst整个网站的资源包,但是在Dropbox平台,墙内无法访问

https://www.dropbox.com/s/9xo4yy3gzqsvyj9/MetaboAnalyst-4.93.war?dl=0​www.dropbox.com

下载以后放到之前建立的 /opt/deployments文件夹中,把文件名中版本号去掉,变成“MetaboAnalyst.war”,不用解压。

如果你真的看到这里,并且已经正确执行了前面所有的步骤,然而无法下载这个文件,请联系我索取。

终于到了见证奇迹的时刻!再开一个root命令行窗口,运行payara并让其部署/opt/deployments目录下的MetaboAnalyst.war,将他变成可以访问的网站

java -jar /opt/payara-micro-5.2020.2.jar --deploymentDir /opt/deployments

一连串的代码闪过,最终出现了一个地址,讲红框中的部分替换为localhost

v2-c6c11d81f440b0977688bdbda37919ca_b.jpg

打开概虚拟机的浏览器输入:

http://localhost:8080/MetaboAnalyst

看一下之前没有关闭的Rserve窗口,应该有如下显示,说明Rserve和Java网页的通讯正常,Rserve已经开始编译需要的R命令了

v2-499b7e156067b36732c75840b3220126_b.jpg

Rserve编译完以后,MetaboAnalyst的首页就会显示出来,这可能需要几分钟时间

v2-5759cee84566338638f594deb510391c_b.jpg

成功!!!

4. 后续

4.1 从Windows主机浏览器访问虚拟机的MetaboAnalyst

在虚拟机里的浏览器使用MetaboAnalyst总是不方便,因为Rserve和Java EE的服务已经启动了,从哪里访问网页都是可以的,只要知道虚拟机的ip地址就可以从Windows主机访问。具体可以参阅各种教程

4.2 虚拟机重启怎样重启服务

虚拟机重启以后只需要root执行两条命令,保持两个命令行窗口打开即可。

如果需要日常使用,还可以配置虚拟机随主机自动启动,以及Rserve和Payara服务随虚拟机自动启动,这样打开电脑就可以直接使用MetaboAnalyst了。具体可以参阅各种教程

sudo R CMD Rserve
java -jar /opt/payara-micro-5.2020.2.jar --deploymentDir /opt/deployments

最后感谢你能看到这里,希望你已经在愉快地使用本地化的MetaboAnalyst了,有任何相关问题,意见或建议请与我联系

祝学习工作顺利,文章早日发表!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值