如何非root用户在Linux系统上安装并分析Lefse软件?

2026-06-10 23:491阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1395个文字,预计阅读时间需要6分钟。

如何非root用户在Linux系统上安装并分析Lefse软件?

Lefse软件是宏组学研究常用的软件,通常大家用在线版本即可。但若要在Linux集群环境中搭建,过程会有些繁琐,以下是一些安装步骤记录。

安装:

1.确保系统中已安装Python2。

2.下载Lefse软件源码。

3.解压源码包。

4.进入源码目录,运行安装脚本。

5.根据提示完成安装。

说明

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

安装

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

如何非root用户在Linux系统上安装并分析Lefse软件?

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

hg clone bitbucket.org/nsegata/lefse

完成后有如下文件:

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

- 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 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 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​​确实是有优势的,避免版本冲突。

作者:​​Bioinfarmer​​​​。若要及时了解动态信息,请关注同名微信公众号:Bioinfarmer。

本文共计1395个文字,预计阅读时间需要6分钟。

如何非root用户在Linux系统上安装并分析Lefse软件?

Lefse软件是宏组学研究常用的软件,通常大家用在线版本即可。但若要在Linux集群环境中搭建,过程会有些繁琐,以下是一些安装步骤记录。

安装:

1.确保系统中已安装Python2。

2.下载Lefse软件源码。

3.解压源码包。

4.进入源码目录,运行安装脚本。

5.根据提示完成安装。

说明

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

安装

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

如何非root用户在Linux系统上安装并分析Lefse软件?

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

hg clone bitbucket.org/nsegata/lefse

完成后有如下文件:

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

- 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 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 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​​确实是有优势的,避免版本冲突。

作者:​​Bioinfarmer​​​​。若要及时了解动态信息,请关注同名微信公众号:Bioinfarmer。