1. bunzaemon

    Posted

    bunzaemon
Changes in title
+Qiime 1.9
Changes in tags
Changes in body
Source | HTML | Preview
この文章について

perl と bioinformatics 中心に、過去の残滓を書き残してます。
今時の人なら、そっち系のツールを探して使う方が生産的である事は言うまでもありません。

と、言いながら、 Qiime 1.9.0 はつい最近の正式リリースで、従って過去の残滓でもなんでもない、、、

要件

  • 'CentOS6.6', pyenv での環境構築
  • python のバージョンは 2.7.3

python バージョン要件が、ここのどこを掘っても出て来ない。
駄目元で、3系を試したものの、やっぱり上手く行かなかった。
一応、前バージョンの環境に併せて。

pyenv 環境では無い人は必要に応じて sudo する。--prefix 以降を消去する。

インストール

隔離環境作成

pyenv 使ってない人には無関係

$ pyenv virtualenv 2.7.3 qiime1.9
$ pyenv shell qiime1.9
$ pyenv rehash
$ pip install --upgrade setuptools
$ pip install --upgrade pip

本体インストール前にインストール

Qiime1.8 からのアップグレードの場合に、このステップが必要かどうかは検証していない

nose,numpy

$ pip install nose
$ pip install numpy  

nose は、 numpy などのテストに必要

scipy 用の数値演算ライブラリー

先に入れとかないと scipy インストール時にコケる
素直に sudo でインストール
当方の環境では、 lapack-devel のみインストールされていなかったのだが、一応全部書く。

$ sudo yum install lapack-devel
$ sudo yum install blas-devel
$ sudo yum install atlas

scipy

本体インストール時に、インストールされるが、上記のからみで先にインストール。

$ pip install scipy

本体インストール

新規インストール

コケる事もなく、、、

$ pip install qiime 

Qiime1.8 からのアップグレード

の場合も、上に同じ

$ pip install --upgrade qiime 

確認

個々のアプリインストール、環境変数設定後に、

$ print_qiime_config.py -tf

エラーは出てないので良しする。

個々のアプリ

以下のもののインストールだけ記載

  • 新規に必要だった hdf5, h5py
  • Mothur 1.25.0 (ちょっとインストールが難しいもの)

${PLENV_ROOT}/versions/qiime1.9/src にソースディレクトリがあると想定

hdf5, h5py

パラレル必要な程のデータは扱ってない。
ヲーニングが山程出たが、make check はパスした。

$ wget -q http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.14.tar.bz2
$ tar xjf hdf5-1.8.14.tar.bz2
$ cd hdf5-1.8.14
$ ./configure --prefix=${PLENV_ROOT}/versions/qiime1.9
$ make
$ make check
$ make install
$ HDF5_DIR=${PLENV_ROOT}/versions/qiime1.9 pip install h5py

mothur 1.25.0

Qiimeによるバージョン指定 => 1.25.0
ここから src_mothur をダウンロード

$ ls | grep Mot
Mothur.1.25.0.zip
$ unzip Mothur.1.25.0.zip
uchime_src/Makefile の編集

端折ってますが、適当なエディタで編集して。
行頭の空白は'タブ'

$ cd Mothur.source/uchime_src
$ touch Makefile
$ cat Makefile
CXX=g++
CXXFLAGS=-O3 -msse4.2 -mavx -mfpmath=sse -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -DUCHIMES=1
OBJ=$(subst .cpp,.o,$(wildcard  *.cpp))

uchime: $(OBJ)
    $(CXX) $(OBJ) -o $@ -lm
    strip uchime
    mv uchime ../
makefile の編集

端折ってますが、(略)

$ cd ../
$ diff makefile makefile.bak
31c31
<       #TARGET_ARCH += -arch x86_64
---
>       TARGET_ARCH += -arch x86_64
40c40
<       CXXFLAGS += -mtune=native -march=native -m64
---
>       #CXXFLAGS += -mtune=native -march=native -m64
104c104
<       make -C uchime_src
---
>       cd uchime_src && ./mk && mv uchime .. && cd ..
make
$ make
$ mv mothur uchime ../../bin/
$ cd ../
$ rm -rf Mothur.source __MACOSX
$ mothur -version
Mothur version=1.25.0
Release Date=5/1/2012