前言

这是代谢组学数据分析的一个R包,包括用于代谢组学数据分析、可视化和功能注释等众多功能。最近有同事在集群中搭建蛋白和代谢流程,安装这个包出现了问题,于是我折腾了一上午。

这个包的介绍在:https://github.com/xia-lab/MetaboAnalystR,安装确实还比较复杂,依赖的东西太多太多。废话不多说,记录下安装历程。

安装过程

首先最好是已经安装了自己的R版本(非root),比如我的是R-3.5.2。然后进入R中,依照文档给的顺序依次安装:

第一步:安装依赖包

install.packages("pacman")

library(pacman)

pacman::p_load(Rserve, ellipse, scatterplot3d, Cairo, randomForest, caTools, e1071, som, impute, pcaMethods, RJSONIO, ROCR, globaltest, GlobalAncova, Rgraphviz, preprocessCore, genefilter, pheatmap, SSPA, sva, Rcpp, pROC, data.table, limma, car, fitdistrplus, lars, Hmisc, magrittr, methods, xtable, pls, caret, lattice, igraph, gplots, KEGGgraph, reshape, RColorBrewer, tibble, siggenes, plotly, xcms, CAMERA, fgsea, MSnbase, BiocParallel, metap, reshape2, scales)

这里很耗时,慢慢等吧。也不会盯着它看哪一步有么有报错。

第二步:安装困难

# Step 1: Install devtools
install.packages("devtools")
library(devtools) ### For users with devtools > v2.0.0 ### # Step 2: Install MetaboAnalystR without documentation
devtools::install_github("xia-lab/MetaboAnalystR", build = TRUE, build_opts = c("--no-resave-data", "--no-manual", "--no-build-vignettes"))

继续慢慢等吧,等着报错吧。。。果不其然,出现以下错误:



说没有安装xcms, CAMERA, MSnbase等R包,那就一个个装呗。

又出现一堆错误,总而言之,缺少的那些包都依赖于这个ncdf4这个R包,那就继续装吧。



直接装报错,按它提示,用R CMD INSTALL --configure-args="--with-nc-config=/home/joe/bin/nc-config" ncdf4也不行,原因是没有安装nc-config,Linux环境中which nc-config,是找不到的,说明我的环境中确实没有安装这玩意。

于是我去查了下这究竟是个什么玩意。NetCDF全称为network Common Data Format,中文译法为“网络通用数据格式”,这是一种文件格式的标准。netcdf文件开始的目的是用于存储气象科学中的数据,现在已经成为许多数据采集软件的生成文件的格式。

这其实是一个库,包括C,C++,Java等等,下载网址:https://www.unidata.ucar.edu/downloads/netcdf/index.jsp

文件很小,好像还不太好下下来,我搭了个梯子到美国才下下来,下的是这一个:

经验告诉我们,非root直接在Linux中源码安装没那么顺利:

cd netcdf-c-4.7.0
./configure --prefix=/your/path/
make check
make install

用不到三板斧,安装就已经报错了,具体什么的我找不到了,大概就是缺少什么什么库。

网上查了些资料,说是netcdf依赖zlibhdf5,前者我已经安装了,指定路径就行,后者也是一个用于存储和分发科学数据的一种自我描述、多对象文件格式的软件。ok,那就先安装hdf5吧(https://support.hdfgroup.org/HDF5/),我装的是最新的这个:

三板斧继续:

cd hdf5-1.10.5
./configure --with-zlib=/zlib/path --prefix=/hdf5/path -enable-fortran -enable-cxx
make check
make install #PS. hdf5也是依赖zlib库的,所以必须要指定--with-zlib=/zlib/path,否则会报错相关库文件找不到。

成功安装后,接下来安装netcdf:

CPPFLAGS=-I/hdf5/path/include LDFLAGS=-L/hdf5/path/lib  ./configure --prefix=/netcdf/path --enable-netcdf-4 --enable-largefile --disable-dap
make check
make install #PS. 必须指定CPPFLAGS=-I/hdf5/path//include LDFLAGS=-L/hdf5/path/lib,否则报错提示相关文件找不到

这两个软件都要装很久很久,尤其是check那一步,需要耐心,最后终于搞定!

安装成功后,安装路径下会有4个文件夹,如下图,忙活这么多,就只为了这个nc-config文件。我们只是临时用一下这个破玩意,就不添加到环境变量了。

第三步:正式安装

直接`install.packages("ncdf4")是不行的(我也不知道为什么,因为指定不了nc-config吧),于是下载源码安装:

R CMD INSTALL ncdf4_1.13.tar.gz --configure-args="--with-nc-config=/netcdf/path/bin/nc-config"

至此,xcms、CAMERA、MSnbase等依赖的ncdf4包安装成功,下面就畅通无阻,将缺少的依赖包全部装上。最后

devtools::install_github("xia-lab/MetaboAnalystR", build = TRUE, build_opts = c("--no-resave-data", "--no-manual", "--no-build-vignettes"))

安装成功!

Ref:https://blog.csdn.net/laomai/article/details/1740747

https://blog.csdn.net/Mrhiuser/article/details/69603826

https://www.jianshu.com/p/90ecc0580bd1

R包MetaboAnalystR安装指南(Linux环境非root)的更多相关文章

  1. Linux下非root用户如何安装软件

    Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...

  2. [转载]Linux下非root用户如何安装软件

    [转载]Linux下非root用户如何安装软件 来源:https://tlanyan.me/work-with-linux-without-root-permission/ 这是本人遇到的实际问题,之 ...

  3. Linux查看非root流程执行

    Linux查看非root流程执行 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -N PID TTY TIME CMD ...

  4. Linux 下非root用户使用docker

    Linux 下非root用户使用docker 通常我们使用linux系统的时候,最好是不要直接使用root账号,但是使用Docker的时候,默认又是不能使用非root用户的,关于原因,官方说法如下: ...

  5. Linux查看非root运行的进程

    Linux查看非root运行的进程 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ ps -U root -u root -N PID TTY TIME CMD ...

  6. 【Linux】非root安装Python3及其包管理

    1. Python 3.8.1安装 源码安装常规操作: wget -c https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz tar -xv ...

  7. Samtools在Linux上非root权限的安装

    第一次在Linux上不用root权限安装软件,查看了很多博客,并实践安装成功.大致总结了一下samtools的安装过程,仅供大家参考,如有不对的地方,欢迎指正~ samtools安装过程中依赖于lzm ...

  8. Linux系统非root用户安装perl模块

    非root权限安装perl 在使用Linux或是unix时,perl是一个非常有用的脚本的语言. 关于perl的模块安装,网上也有很多介绍,一方面可以通过不同套件自带的软件安装工具安装,一方面可以通过 ...

  9. linux centos7 非root用户安装源码版docker

    注意:非root用户必须要有sudo权限 一.安装前的准备 1.查看当前主机是否有docker组 若没有输出结果则新建 再次查看,发现已经有了docker组 2.新增拥有sudo权限的用户(若知道ro ...

随机推荐

  1. 【UE4 设计模式】建造者模式 Builder Pattern

    概述 描述 建造者模式,又称生成器模式.是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 建造者模式将客户端与包含多个组成部分的复杂对象的创建过程分离,客户端无需知道复杂 ...

  2. (四)、Docker 镜像

    1.Docker镜像是什么? 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码.运行时.库.环境变量和配置文件. 2.Do ...

  3. Stack2 攻防世界题目分析

    ---XCTF 4th-QCTF-2018 前言,怎么说呢,这题目还是把我折磨的可以的,我一开始是没有看到后面的直接狙击的,只能说呢. 我的不经意间的粗心,破坏了你许多的温柔 1.气的我直接检查保护: ...

  4. 单片机入门stm32知识学习的先后顺序

    这里大概的罗列了一些学习STM32的内容,以及学习顺序.如果是新手的话,建议边看中文手册和学习视频;如果是已经入门的,个人建议自己做一个项目,不论项目大小,当然里面会涉及到自己已经学习过的,或者是自己 ...

  5. Maven还停留在导jar包?快来探索Nexus私服的新世界

    写在前面 Maven,学习框架之前我们都会接触到的一个工具,感觉他的定位,似乎就跟git一样,只是方便我们开发?于是自然而然的,很多小猿对于Maven都只是停留在会用的阶段,利用他来构建,打包,引入j ...

  6. [LGP2758]编辑距离

    目录 题目 题目描述 输入格式 输出格式 输入输出样例 题目分析 状态转移方程 初始状态 结束状态 Code 题目 题目描述 设A和B是两个字符串.我们要用最少的字符操作次数,将字符串A转换为字符串B ...

  7. 洛谷 P5657 [CSP-S2019] 格雷码

    链接: P5657 分析: 签到题,不过也有不少细节. 数据范围需要开 unsigned long long ,前年也有很多人因此丢了5分. pow 会出现神必错误,需要手写一个 mpow 函数. 算 ...

  8. opencv学习(一)——图像入门

    图像入门 一.读取图像 在opencv中使用cv.imread(filename, flags)函数读取图像.filename参数表示读取图像的路径.读取图像的路径应完整给出,且不能含有中文,否则在调 ...

  9. Ubuntu 16.04 菜单栏 换位置 挪到左边 挪到下边

    Ubuntu菜单栏的位置可以调 到左侧 或者底部 调整到底部 $ gsettings set com.canonical.Unity.Launcher launcher-position Bottom ...

  10. ELK集群之metricbeat(9)

    Metricbeat包的安装及简单使用 Metricbeat包的安装及简单使用 系统数据采集 Python -> ES -> Grafana metricbeat的安装 metricbea ...