Dockerを使ってLEfSeを超簡単に実行する
16S rRNAアンプリコンシーケンシングによる菌叢解析をする際、relative abundanceの群間の検定には、多くの論文でLEfSeが使われています。
LEfSeのインストールは、一昔前はそれなりに大変で、こんな記事を書いたりしたものです。
pediatricsurgery.hatenadiary.jp
久しぶりにローカルで動かそうと思ったのですが、そういえばどこかでDockerイメージができたって書いてあったなと思って、探してみたらありました。
ちょっとつまづいたところもありましたが、めちゃくちゃ簡単で感激したので、備忘録を残しておきます。ちなみにDockerとは、この記事あたりがわかりやすいですかね。
Dockerのインストール
Docker for Macをこちらからダウンロードして、インストールします。その後、ターミナルで
docker version
と実行して、Dockerがインストールされているか確認します。
DockerでLEfSeを動かす
Dockerで普通にLEfSeを動かすには、ターミナルで
docker run -it biobakery/lefse bash
でいいのですが、自分のMac上で作った.txt
ファイルを使うことになると思うので、自分のMac (ホスト) とDockerのコンテナでの共有フォルダを作成しておく方がいいと思います。
こちらを参考すると
docker run -v ホスト側フォルダ:コンテナ側フォルダ ドッカーのイメージ /bin/bash
と指定してdocker run
を実行すると、共有フォルタが作成された状態でLEfSeが立ち上がるようですので、下記の通り実行するといいと思います。この前に、ホームディレクトリにDocker/shared
というフォルダを作成しておきます。
docker run -it -v ~/Docker/shared:/shared biobakery/lefse /bin/bash
これでLEfSeにshared
という共有フォルダが作成されていると思います。
sharedのディレクトリに移動して解析を行う
実はここがつまづいた部分で、LEfSeを立ち上げてからすぐ
ls
を実行してもshared
が見つからないんですよね。うまく作成されてないんだと思ってましたが、実はデフォルトの階層よりも上に作成されています
cd ../../ ls
でshared
が確認できるので
cd shared
に入ります。このディレクトリに到達できれば、ホスト側で作成したファイルが共有されているので、このファイルを使って、format_input.py
やrun_lefse.py
を実行してあげればいいと思います。簡単すぎて腰抜かしました。