[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文件,里面列出了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 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
[Linux] 非root安装Lefse软件及其数据分析的更多相关文章
- Linux非root安装Python3以及解决SSL问题
说明 接上一篇. [Linux]非root安装Python3及其包管理 上一篇虽然成功安装了Python3及一些常用的模块,但因为一直装不上SSL模块,导致一些包无法安装,尝试了不少方法都失败了(网上 ...
- [Linux] 非root安装GCC9.1.0
说明 一般Linux系统自带或公共的GCC版本都很低,如目前我们的服务器版本的GCC还停留在gcc-4.9.3,而官网已到达9.2版本(下载http://ftp.gnu.org/gnu/gcc/) , ...
- [linux] 非root安装Python2及其模块
需求 系统自带的python2版本太低,且没有想要的模块,非root用户无法安装.有些模块是python2写的,无法用python3,所以自己下载一个高版本的python2,可以自由下载模块. 实现 ...
- 【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 ...
- linux非root用户下安装软件,搭建生产环境
之前的用实验室的服务器,因为某些原因,使用的用户没有root权限.linux的非root用户很多软件无法安装,非常的不方便.我的方法是使用brew来代替系统的包管理工具.brew是最先用在mac上的包 ...
- [Linux]非root的R环境被conda破坏后如何恢复?
记录说明 这篇文章本来是用来记录Linux非root环境下安装PMCMRplus包折腾过程,但后来试过了各种方法安装不上这个R包后,我换上了Miniconda来安装.经前人提醒,一开始安装Minico ...
- zzw原创_非root安装fastDFS
zzw原创_非root安装fastDFS fastDFS 想要非root安装,没找到资料,分析了一下安装脚本,原来作者是留了安装路径的,但没有放出来. 1.解包 [bdc@svr001 setup]$ ...
- nginx非root安装
nginx非root安装 唯一需要解决的就是指定安装目录 这里使用nginx相关包如下 nginx-1.14.0.tar.gz 安装需要依赖如下2个包 pcre-8.42.tar.gz zlib-1. ...
- linux非root用户安装jdk1.8
如题,先到 Oracle 官方网站 下载1.8版本的 JDK 压缩包(jdk-8u221-linux-x64.tar.gz)到本地(如D盘的soft目录),然后开始进入linux的非root用户(如w ...
随机推荐
- Beta-功能规格说明书
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 团队项目-计划-功能规格说明书 一.引言 1. 项目简介 项目团队:删库跑路对不队 项目名称:题士 项目内容 ...
- SpringCloud+RocketMQ实现分布式事务
随着互联网公司的微服务越来越多,分布式事务已经成为了我们的经常使用的.所以我们来一步一步的实现基于RocketMQ的分布式事务.接下来,我们将要做的主题写出来. RocketMQ的分布式事务结构和说明 ...
- qwt使用细节
在使用QWT进行二维曲线绘制,使用方法如下: class Plot: public QwtPlot { Q_OBJECT -- } 报错:error LNK2001: 无法解析的外部符号"p ...
- iptables 原理及应用
转自:iptables 原理及应用 iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面 ...
- nodejs:使用puppeteer在服务器中构建一个获取电影电视剧剧集的接口
首先我们看下数据来源: 来源于这个网站:https://z1.m1907.cn/ 可以说这个网站上能找到很多你想看的很多电影或电视剧,最重要的是很多电影电视剧在别的网站是收费的,但是在这里看是免费的, ...
- 精心整理Java微服务最全面试题集(含答案)
微服务架构相关 大型网站架构演变过程 网站架构演变演变过程 传统架构 → 分布式架构 → SOA架构 → 微服务架构 什么是分布式架构 分布式架构就是将传统结构按照模块进行拆分,不同的人负责不同的模块 ...
- AndroidStudio中debug.keystore文件不存在解决办法
Android项目丢失了debug.keystore,直接重新生存一个key. 在cmd下,进入C:\Users\Administrator\.android目录执行命令如下: keytool -g ...
- BootStrap_1 浓缩版本
BootStrap(基于JQuery框架) 商业互吹:Bootstrap是最受欢迎的HTML.CSS和JS框架,用于开发响应式布局,移动设备优先选择的WEB项目... 特色:1.响应式布局 2.基于f ...
- [python]Robotframework+Git+jenkins实现持续集成并生成测试报告发送邮件
1.环境需求 &robotframework(不写搭建,自行百度) & git(不写安装,自行百度) &jenkins 2.安装jenkins 官网下载最新版本https:// ...
- 要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放
要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放 大师主讲 经验难得 由逐浪CMS首席架构师发哥老师,亲自主理讲解. 历时一年精心打造, 汇聚了互联网诞生 ...