細菌の起源予測をするFEASTについて
FEAST (Fast expectation-maximization for microbial source tracking)は、マイクロバイオームデータから起源を予測するツール。
論文はこちら。
Fast expectation-maximization for microbial source tracking (FEAST)
単離源予測だと、Rob Knight らが2013年に公開したSourceTrackerというベイズ統計を用いたツールが有名。
FEASTはRで実行するツールだが、QIIME2プラグインとしても追加可能で、本記事ではプラグイン導入の方法と実行例を示す。
インストール方法
依存関係のインストール
# QIIME2 の起動
$ source activate qiime2-{your version}
# R関連のパッケージをconda経由でインストール
$ conda install -c bioconda -c conda-forge -c r bioconductor-phyloseq r-devtools r-magrittr r-dplyr r-vgam r-tidyr r-vegan r-reshape2 r-rcpp r-rcpparmadillo r-gridextra r-ggplot2 r-ggthemes
メインスクリプトのインストール
まずは本家が出しているFEASTのスクリプトをRにてインストールする。
> devtools::install_github("cozygene/FEAST")
q2-FEAST の導入
FEAST論文著者のgithubからフォークされたFEAST_betaにQIIME2プラグインのためのスクリプトが格納されている。
そのため、FEAST_betaのgitリポジトリを自身のリポジトリとしてフォークしてからクローンする。
GitHubでリモートリポジトリをフォーク(Fork)する方法
# クローンする
$ git clone https://github.com/{your git account}/FEAST/tree/FEAST_beta
$ cd FEAST/
# ブランチの確認
$ git branch -a
# ブランチの切り替え
$ git switch FEAST_beta
Rでのインストール。
> devtools::install()
pipでのインストール。
$ pip install -e .[dev]
QIIME2の更新とコマンド確認。
# プラグイン追加後にQIIME2を更新
$ qiime dev refresh-cache
$ make test
# qiime コマンドを実行
$ qiime feast
Usage: qiime feast [OPTIONS] COMMAND [ARGS]...
Description: This is a QIIME 2 plugin supporting microbial source-tracking
through FEAST.
Plugin website: https://github.com/cozygene/FEAST
Getting user support: Please post to the QIIME 2 forum for help with this
plugin: https://forum.qiime2.org
Options:
--version Show the version and exit.
--citations Show citations and exit.
--help Show this message and exit.
Commands:
barplot Visualize source-contributions with an interactive bar plot
microbialtracking microbial source-tracking
入力データの説明
FEASTでは、2つのデータを入力として用いる。
- 系統組成のカウントテーブル
- ソースとシンクが記載されたメタデータ
系統組成のカウントテーブル
今回はqzaファイルになっているFEAST/q2_feast/tutorials/data/backhed/table-multi.qza
を使用。
ERR525698 | ERR525693 | ERR525688 | ERR525699 | |
---|---|---|---|---|
taxa_1 | 0 | 5 | 0 | 20 |
taxa_2 | 15 | 5 | 0 | 0 |
taxa_3 | 0 | 13 | 200 | 0 |
taxa_4 | 4 | 5 | 0 | 0 |
ソースとシンクが記載されたメタデータ
今回は、FEAST/q2_feast/tutorials/data/backhed/metadata-multi.tsv
を使用。
Env
にはサンプルがどの環境から取得されたかを記載する。
SourceSink
には、どのサンプルをソースとしてどのサンプルをシンクにするかを明記する。
host_subject_id
は、特定のソースとシンクごとに起源予測をしたい場合に用いる。同一番号内のソースとシンクが比較される。
これは解析に必須項目ではない。
#SampleID | Env | SourceSink | host_subject_id |
---|---|---|---|
#q2:types | categorical | categorical | numeric |
ERR525698 | Env_1 | Sink | 1 |
ERR525693 | Env_2 | Source | 1 |
ERR525688 | Env_3 | Source | 1 |
ERR525699 | Env_4 | Source | 1 |
ERR525910 | Env_1 | Sink | 2 |
ERR525909 | Env_2 | Source | 2 |
ERR525908 | Env_3 | Source | 2 |
ERR525911 | Env_4 | Source | 2 |
テスト
以下のコマンドで入力ファイルや各種オプションを実行する。
$ qiime feast microbialtracking \
--i-table ./table-multi.qza \
--m-metadata-file ./metadata-multi.tsv \
--p-environment-column Env \
--p-source-sink-column SourceSink \
--p-source-ids Source \
--p-sink-ids Sink \
--p-shared-id-column host_subject_id \
--p-em-iterations 1000 \
--p-different-sources \
--o-proportions ./mixing-proportions.qza
--p-environment-column
: サンプルの取得された環境名
--p-source-sink-column
: ソースとシンクが記載された列名
--p-sink-ids
--p-source-ids
: ソースとシンクの要素名
--p-em-iterations
: Expectation–maximization algorithmの試行回数
--o-proportions
: 計算結果を格納するファイル名
mixing-proportions.qza
には、ソースのサンプル数 * シンクのサンプル数の行列データが格納される。
各シンクに対してソースの寄与率(0~1まで)が相対値として記載される。
可視化したいときは、おなじみのQIIME2 の棒グラフを、qiime feast barplot
でq2-FEASTから実行できる。
$ qiime feast barplot \
--i-mixing-proportions ./mixing-proportions.qza\
--m-metadata-file ./metadata-multi.tsv \
--o-visualization ./barplot.qzv
参考
Fast expectation-maximization for microbial source tracking (FEAST)