|||
随着16s rRNA的研究越来越受到科研工作者的关注,Mothur和QIIME作为这个领域内应用较为广泛的工具,引用率也越来越高。之前在服务器上(Linux)系统安装好了mothur,具体安装过程可参考 http://blog.sciencenet.cn/blog-306699-882982.html
此文主要用于介绍自己在服务器安装QIIME所遇到的各种问题(说起来全是泪,安装过程中各种bug,各种google,好多解决方案不知道如何判断。以上记录的是自己服务器上安装的整个过程,测试成功完成);
按照QIIME安装说明文档:http://qiime.org/install/install.html
1)要求2.7或3的python版本,于是用以下命令查看了一下
发现版本为2.7.10,于是进行下一步。
2)由于QIIME有比较多的包,安装建议用pip:
(1)在python中import pip试了一下发现没有,于是安装pip开始,在https://pypi.python.org/pypi/pip下载好pip-7.1.2.tar.gz,解压后python setup.py install进行安装,出现报错信息:
File "/tmp/tmpru8qrk/pip.zip/pip/__init__.py", line 10, in <module>
File "/tmp/tmpru8qrk/pip.zip/pip/util.py", line 18, in <module>
File "/tmp/tmpru8qrk/pip.zip/pip/_vendor/distlib/version.py", line 14, in <module>
File "/tmp/tmpru8qrk/pip.zip/pip/_vendor/distlib/compat.py", line 66, in <module>
ImportError: cannot import name HTTPSHandler
google找到解决方案http://jingyan.baidu.com/article/e52e3615aba39640c60c51c3.html yum install openssl -y和yum install openssl-devel -y ,然后重新安装pip。如此pip的安装就成功了。
(2)运行pip install numpy
发现python中有安装好的numpy。于是运行pip install qiime,这时提示numpy有错。然后import numpy,发现报错(没有记录好报错信息),Google了一下没找到解决方案,于是重装。重装过程以为删掉python和包的目录就可以,最后发现是需要/usr/local/lib/python2.7/site-packages此目录中删除numpy的目录。
安装好pip好,用pip install numpy,这下搞定。
(3)运行pip install qiime
这个运行了一段时间,最后出现报错信息
Hash of the package https://pypi.python.org/packages/source/q/qiime/qiime-1.9.1.tar.gz#md5= 32d4db2b2c888dbbfc6aa33f02725526 (from https://pypi.python.org/simple/qiime/) (c1147f0d3be7128bdf35c3f2e54d1e40) doesn't match the expected hash 32d4db2b2c888dbbfc6aa33f02725526!
Bad md5 hash for package https://pypi.python.org/packages/source/q/qiime/qiime-1.9.1.tar.gz# md5=32d4db2b2c888dbbfc6aa33f02725526 (from https://pypi.python.org/simple/qiime/)
goolge查找各种解决方案,提示这个下载的文件不完整导致。于是重新运行pip install qiime,发现没有其他的信息输出,直接报上述的错,并提示Using cached qiime-1.9.1.tar.gz,这是用了上一次操作过后的缓存文件。于是修改pip install qiime,为pip --no-cache-dir install qiime,重新正常下载和安装,这个过程需要保持网速稳定。
(4)pip --no-cache-dir install qiime可以运行
不过在安装scipy这个包时,出现了以下报错信息:
lapack_opt_info:
openblas_lapack_info:
libraries openblas not found in ['/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib']
NOT AVAILABLE
lapack_mkl_info:
mkl_info:
libraries mkl,vml,guide not found in ['/usr/local/lib64', '/usr/local/lib', '/usr/lib64', '/usr/lib']
NOT AVAILABLE
Google找解决方案,是lapack和atlas的包没有在系统环境安装导致。于是下载lapack( http://www.netlib.org/lapack/)和atlas的包(http://sourceforge.net/projects/math-atlas/)。安装策略参考
在这步操作中,最早下载atlas3.10.2.tar.bz2安装时,出现以下报错信息:
ERROR: enum fam=3, chip=2, model=62, mach=0
make[3]: [atlas_run] Error 44
make[2]: [IRunArchInfo_x86] Error 2
最终google没有找到解决方案,看到资料有人提示不同版本要求会不一致,为此下载atlas3.11.38.tar.bz2进行安装,安装过程中报错信息为:unrecognized command line option "-mavx2",针对此问题google找到解决方案http://ask.xmodulo.com/upgrade-gcc-centos.html提示进行安装,最终搞定atlas。
(5)重新pip --no-cache-dir install qiime,顺利安装
(6)用print_qiime_config.py -t测试时,发现出现报错信息“ImportError: /usr/local/lib/python2.7/site-packages/scipy/spatial/qhull.so: undefined symbol: _gfortran_transfer_integer_write“,google后发现有人提出
接着这个提示,开始卸载ATLAS,安装OpenBLAS,在安装OpenBLAS的过程中,出现报错提示gcc的版本不够,于是利用(4)步中升级好的gcc进行操作。
(7)重新运行pip --no-cache-dir install qiime,顺利安装成功后测试print_qiime_config.py -t,显示信息:
在这步中,在pip --no-cache-dir install qiime中刚开始还遇到“Command "/usr/local/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-buildNJHPFa/scipy/setup.py';exec(compile(getattr (tokenize, 'open', open)(__file__).read().replace('rn', 'n'), __file__, 'exec'))" install --record /tmp/pip-cK8VSa-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-NJHPFa/scipy”报错信息 ,调整把gcc环境调到(4)步所设计好的,重新pip --no-cache-dir install qiime,成功安装。然后测试成功。
这个软件的安装过程是做生物信息这几年来,遇到问题最多的一个工具包。问题不断,然后google不断,不过现在信息太多,找个每个问题的解决方案各家有不同之说,于是不断尝试,直至找到成功的。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-22 16:32
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社