[Linux] 非root安装Lefse软件及其数据分析

说明

Lefse软件是宏组学物种研究常用软件,一般大家用在线版本即可。但要搭建在Linux集群环境中有点烦,记录一下折腾过程。

安装

这个软件是python2写的,因此假设我已经安装好了较高版本的python2以及pip等工具,在此基础上来安装lefse
lefse下载地址:https://bitbucket.org/nsegata/lefse/src/default/。这个网站有丰富的学习内容和教程,包括MetaPhIAn等流程,有时间去好好看看。

lefse放在了bitbucket上,克隆一下到集群:

hg clone https://bitbucket.org/nsegata/lefse

完成后有如下文件:

目录下有个requirement.txt文件,里面列出了RPython需要安装的包和模块:

- R
- R libraries: splines, stats4, survival, mvtnorm, modeltools, coin, MASS
- python libraries: rpy2 (v. 2.1 or higher), numpy, matplotlib (v. 1.0 or higher), argparse

安装R包的过程基本上没啥问题,大部分还是我已经安装过的。python的大部分模块也没问题,难就难在了rpy2

首先,我直接用自己安装的python2使用pip安装:

pip intall rpy2

直接报语法错误,如下:

在网上找了一圈也没有碰到同类型的问题,在这里卡了很久,分析脚本貌似也没问题,而且如果这个都语法错误,作者去吃屎吧。后来我才知道这尼玛pip自动安装第三版了,而第三版只支持python3,不再支持python2

那就直接下载模块安装吧。自然地下了个较新的版本,解压后安装:

python setup.py install

直接报错,说是版本太高了,rpy的第三版已经不支持python2啦,blabla。。。我看它这里rpy2版本也有较高要求,于是下载了个2.9版本的(各旧版本
),结果还是太高,你特么不是python2写的吗!不支持python2。试了几次,干脆了个2016年发行的,这次终于可以了。

但是肯定没有这么简单,安装过程又报错了:

下载不了这个玩意:Download error on https://pypi.python.org/simple/singledispatch/。网上有些答案乱七八糟,后来找到了一个能解决问题的,直接下载singledispatch
安装即可。
下载解压进入目录。
python setup.py install
成功安装singledispatch后,再次安装rpy2,这次没报错了。进入lefse目录试运行一下:

应该是可以了。
再进去example中运行下测试shell,但是这个demo是针对bioconda使用的,如果没用conda,测试不了。对于这个软件我真是服气的。

总之,lefse软件算是安装成功了吧,至于测试,后续我再试试。

第二次更新:

接着来测试上次安装好的Lefse软件,这个软件有现成的python脚本进行数据处理和绘图,怎么用的话,在下载后example中和官方文档中都有说明,这里不作说明了。简言之,就是先处理,整理好数据格式,进行绘图。

试着用自己的数据处理了下。

python format_input.py test.txt result.in -c 1 -s 2 -u 3 -o 1000000
python run_lefse.py result.in result.res
python plot_res.py result.res result.png
.......

文件结果没有问题,绘图及其后续步骤报错了:

我怀疑是自己处理的数据格式有问题,于是下载了官网的测试数据:

wget http://huttenhower.sph.harvard.edu/webfm_send/129 -O hmp_aerobiosis_small.txt

还是同样的问题,数据处理正常,绘图错误。网上查了下,没有直接相关的问题,但大致猜到是matplotlib的问题。

我的系统除了我装的python外,还有其他好几个python版本的库,我当时只将其他版本的python都注释了,然后将自己安装的python及其库路径加入了环境变量,但没有注释掉其他python版本的库。所以,我自己的python其实是没有安装matplotlib的,用的是其他版本的。

将其他版本python的库注释后,用自己的python重新安装matplotlib(一定要注释掉其他的库,否则会提示已安装,是装不上matplotlib的)。

这时,再运行lefse时,没报错,所有结果都出来了!

看来当系统有多个版本时,用conda确实是有优势的,避免版本冲突。

Ref:https://blog.csdn.net/chenKFKevin/article/details/77854232
http://blog.sciencenet.cn/blog-306699-997026.html
https://www.jianshu.com/p/b4dbd47aaeb6

原文地址:https://www.cnblogs.com/jessepeng/p/11610045.html

时间: 2024-10-11 06:03:12

[Linux] 非root安装Lefse软件及其数据分析的相关文章

[Linux] 非root安装GCC9.1.0

说明 一般Linux系统自带或公共的GCC版本都很低,如目前我们的服务器版本的GCC还停留在gcc-4.9.3,而官网已到达9.2版本(下载http://ftp.gnu.org/gnu/gcc/) ,有些项目编译时需要更高版本的GCC,这时就需要自己额外安装一个了. 网上关于非 root用户的教程有很多,但大多数都很旧且不靠谱,我找到了几个比较实用的,总结一下,亲测有效. 安装GCC主要依赖三个库:GMP, MPFR 和MPC,另还有个ISL库(不知是否是必需).之前的旧版本可能需要手动依次安装

[linux] 非root安装Python2及其模块

需求 系统自带的python2版本太低,且没有想要的模块,非root用户无法安装.有些模块是python2写的,无法用python3,所以自己下载一个高版本的python2,可以自由下载模块. 实现 1.安装python2.7.15 最新的2.7.16可能不稳定,下了个2018年的修复版本. wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz tar -xzf Python-2.7.15.tgz cd Python-2.

linux 非root安装gcc3.4.3

1,从http://ftp.gnu.org/gnu/下载需要的文件 wget -c http://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2wget -c http://ftp.gnu.org/gnu/mpfr/mpfr-2.4.2.tar.bz2wget -c http://ftp.gnu.org/gnu/mpc/mpc-1.0.1.tar.gzwget -c http://ftp.gnu.org/gnu/gcc/gcc-3.4.3/gcc-3.4.3.tar.

非root安装Memcached

1,     安装依赖包 确保服务器中已经安装了Memcached的依赖包. [[email protected]~]#yum-y install   --skip-broken gcc gcc-c++autoconf automake zlib zlib-devel   pcre-developenssl-devel libevent libevent-devel.x86_64 2,     创建Memcached的安装用户 [[email protected]~]# groupadd dfh

linux非root用户使用秘钥登陆实现方法

linux非root用户使用秘钥登陆实现方法: 1.拷贝/root/.ssh/公钥放到普通用户家目录下的 authorized_keys里     2.修改/etc/ssh/sshd_config的参数,禁止root账号远程登陆使用,只允许普通用户远程登陆, 使用 su sudo切换使用root账号的权限

linux 非root 用户安装redis 安装

1,在Linux环境上下载gcc,通过源码安装得通过cc编译器进行安装.这时候得下载gcc.这时候使用root用户进行安装. yum -y install  gcc 2,接着编译需要使用jemalloc.得下载jemalloc 编译.使用yum安装得添加一下仓库源.改完仓库源,这时候就可以使用 yum install  jemalloc 下面这种方式是使用jemalloc源码包来进行编译. (1)下载源码安装包. wget   https://github.com/jemalloc/jemall

linux非root用户安装ncurses-devel依赖,解决configure: error: No curses library functions found

很明显,如果我们通过yum或rpm下载安装,始终无法绕开root用户,除非我们不用yum或rpm.是的,我们直接下载源码包,到ftp.gnu.org/pub/gnu/ncurses/我们可以下到最新的源码包ncurses-6.1.tar.gz,通过rz上传至非root用户wlf的soft目录下,回到根目录,我们把源码包解压: $ tar xzvf soft/ncurses-6.1.tar.gz 进入解压后目录,执行软件配置: $ cd ncurses-6.1 $ ./configure --pr

[R]Linux非root下安装PMCMRplus包(待解决)

PMCMR和PMCMRplus是用来做秩和检验的R包,在Linux上安装时,后面那个PMCMRplus包出现了问题. ERROR: dependency 'Rmpfr' is not available for package 'PMCMRplus' 安装Rmpfr依赖时,出现了如下问题: configure: error: MPFR Library must be at least version 3.0.0, see README ERROR: configuration failed fo

linux下如何安装Apache软件

安装步骤如下: 首先查询是否已经安装,用命令rpm    -qa    httpd ,如果已经安装则显示已经安装Apache软件信息,否则不显示: 如果你不是root用户登录的话,那么需要把用户切换到到root,使用命令su - (注意:-不能少,代表root环境变量也传递过来了,就是真正的root); 使用命令 yum install httpd -y,开始安装软件,安装结束后最后一行有complete信息提示; 再次使用 命令rpm    -qa    httpd,如果安装成功了则有Apac