zoukankan      html  css  js  c++  java
  • [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
    

    完成后有如下文件:
    image.png
    目录下有个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
    

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

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

    python setup.py install
    

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

    image.png

    但是肯定没有这么简单,安装过程又报错了:
    image.png
    下载不了这个玩意:Download error on https://pypi.python.org/simple/singledispatch/。网上有些答案乱七八糟,后来找到了一个能解决问题的,直接下载singledispatch
    安装即可。
    image.png下载解压进入目录。
    python setup.py install
    成功安装singledispatch后,再次安装rpy2,这次没报错了。进入lefse目录试运行一下:
    image.png
    应该是可以了。
    再进去example中运行下测试shell,但是这个demo是针对bioconda使用的,如果没用conda,测试不了。对于这个软件我真是服气的。
    image.png

    总之,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
    .......
    

    文件结果没有问题,绘图及其后续步骤报错了:
    image.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的)。
    image.png
    这时,再运行lefse时,没报错,所有结果都出来了!
    image.png

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

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

  • 相关阅读:
    B. Ilya and Queries(前缀和)
    A. Cards for Friends(数学题)
    C. Given Length and Sum of Digits...(思维题)
    A. XORwice(水题)
    A. Raising Bacteria(位运算)
    最(cai)近(ji)总(shuo)结(hua)
    A. Road To Zero(水题)
    只要暴风骤雨才能使人迅速地成长
    Android Bitmap和Canvas学习笔记
    一些坑
  • 原文地址:https://www.cnblogs.com/jessepeng/p/11610045.html
Copyright © 2011-2022 走看看