LEfSeをインストールする
はじめに
LEfSeとは簡単に言うと多重検定を考慮した解析を行ってくれるツールです。bioBakeryから使うこともできますし、webアプリケーションのGalaxyから使うこともできますが、最近、コチラは不安定なことが多いような気がします。
本当は僕もwebアプリケーションを使用する予定だったのですが、どうしても不安定で開けなかったのでインストールすることにしました。実は昔、インストールを試みて挫折したのですが、なんとかできました。コチラのページの " Step 4: Taxonomic biomarker discovery with LEfSe " を参考に進めていきます。
LEfSeをインストールする
$ hg clone ssh://hg@bitbucket.org/nsegata/lefse remote: Warning: Permanently added the RSA host key for IP address '10X.192.XXX.X' to the list of known hosts. remote: Permission denied (publickey). abort: no suitable response from remote hg!
いきなり洗礼を浴びます。というわけでまずはこのエラーメッセージから片付けていくことにしましょう。
Permanently added the RSA host key for IP address '10X.192.XXX.X' to the list of known hosts.
まずはこのエラーメッセージをググります。すると下記のサイトに辿り着きました。
ssh-keygen -R 10X.192.XXX.X
ここにあるように上記の様に入力するとこのエラーメッセージは表示されなくなりましたが、もう1つが残りますので再度ぐぐります。ちなみにIPの数字はエラーメッセージに合わせて変更して下さいね。
remote: Permission denied (publickey).
Bitbucketに登録するSSHキーを作成する
ここから正解にたどり着くまでが結構大変でした。確か下記のサイトに書いてあったスクリプトを動かしたところ解決しました。結論としては、Bitbucketの自分のアカウントにSSHキーを紐付けしていないことが原因のことのようです。以下ではまずSSHキーを作成するところから始めます。
Permission denied (publickey) - Atlassian Documentation
$ ssh-keygen -t rsa Enter file in which to save the key (/home/vagrant/.ssh/id_rsa):
すると、上記の様に聞かれますので、自分がわかるような名前をつけておきます。今回はBitbucket用のSSHキーでしたので、Bitbucketと入力しました。
Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in Bitbucket. Your public key has been saved in Bitbucket.pub.
するとパスコードを2回入力することを求められ、それが終わるとSSHキーが作成された旨が記載されます。そこで、一応作成されたことを確認しておきます。
$ vagrant@biobakery:~$ ls -la | grep Bitbucket -rw------- 1 vagrant vagrant 1766 Oct 31 06:53 Bitbucket -rw-r--r-- 1 vagrant vagrant 399 Oct 31 06:53 Bitbucket.pub
と返ってくると思います。このSSHキーを
$ mkdir -p ~/.ssh $ mv Bitbucket* ~/.ssh
で " ~/.ssh " に移動させてておきます。
$ eval $(ssh-agent) # ssh-agentを起動 $ ssh-add ~/.ssh/Bitbucket Enter passphrase for /home/vagrant/.ssh/Bitbucket: # パスコードを入力する
$ cat ~/.ssh/Bitbucket.pub ssh-rsa AAAAB3NzaXXXXXXXXX...........
Bitbucketにsshキーを登録する
Bitbucketのヘルプページを参考に以後を進めていきます。まずは自分のアカウントを作成します。ここの説明は簡単ですので割愛します。
右上の自分のアイコンをクリック -> アカウントの管理 -> 左のメニューバーのSSHキー -> 鍵を追加
あとはわかるようにラベルをつけて先程コピーした " ssh-rsa ... " をペーストします。
再度lefseをインストールする
$ hg clone ssh://hg@bitbucket.org/nsegata/lefse destination directory: lefse requesting all changes adding changesets adding manifests adding file changes added 35 changesets with 56 changes to 18 files updating to branch default 18 files updated, 0 files merged, 0 files removed, 0 files unresolved
インストールしたと思ったらどうやらアップデートされたみたいなので、やはりbioBakeryの中にLEfSeは含まれているのでしょう。
必要なパッケージをインストールする
Rのパッケージをインストールする
LEfSeのインストールマニュアルには
Notice that LEfSe has some additional requirements 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のpackageも必要となるので一気にダウンロードしてしまう。UbuntuからRをterminalで起動します。
> install.packages("splines") > install.packages("stats4") > install.packages("survival") > install.packages("mvtnorm") > install.packages("modeltools") > install.packages("coin") > install.packages("MASS") > install.packages("modeltools")
もしかしたら
Installing package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified) Warning in install.packages("mvtnorm") : 'lib = "/usr/local/lib/R/site-library"' is not writable Would you like to use a personal library instead? (y/n)
と聞かれるかもしれないのですが、どうやらyと答えてしまってよいようです。そうすると、
Please select a CRAN mirror for use in this session
と来るので適当にJapanを選ぶとダウンロードとインストールが終了しますので、これでおしまいです。
Pythonのパッケージをインストールする
# rpy2のインストール $ pip install rpy2 # numpyとmatplotlibのインストール # scipyは必要ないけどどうせなら一緒に $ sudo apt-get install python-numpy python-scipy python-matplotlib # argparseのインストール $ pip install argparse
これで必要なすべてのパッケージがインストールできました。