8
6

More than 3 years have passed since last update.

QIIME2で分類器を自作する

Last updated at Posted at 2020-05-03

背景

QIIME2の種同定にはナイーブベイズを用いた分類器を使用する。QIIME2の公式サイトではGreenGenesとsilvaについて、full lengthあるいはV3-V4領域(515F-806R)を抽出した配列の99%OTUで学習した分類器が提供されている。本手法で同定する際、シーケンス領域を抽出した上で学習させた方がunclassifidなOTUが減ると報告されている(Werner et al., ISME J., 2012)。そのため、他のデータベースやV3-V4領域以外のアンプリコンシーケンスの場合は、分類器を自作する必要がある。

環境

  • PC: mac mini 2018
  • OS: macOS Catalina (10.15.1)
  • プロセッサ: 3.2 GHz 6コアIntel Core i7
  • メモリ: 32 GB 2667 MHz DDR4
  • グラフィックス: Intel UHD Graphics 630 1536 MB
  • QIIME2: 2019.7 (Dockerにてインストール)
    ※Dockerのメモリには24GBを割り当て

方法

チュートリアルを参考にsilvaからV1-V2領域(27F-338R)を抽出して学習させる。

silvaのダウンロード

2020年5月3日現在のSilvaの最新バージョンは138(2019年12月バージョン)だが、QIIME2の公式チュートリアルに合わせて132(2017年12月バージョン)を使用する。
※数字は飛んでいるが138の1つ前のバージョンが132

mkdir classifier
mkdir classifier/27f_338r_silva99
cd classifier/27f_338r_silva99/
curl -O  https://www.arb-silva.de/fileadmin/silva_databases/qiime/Silva_132_release.zip
unzip Silva_132_release.zip

QIIME2を起動

docker run -it -v $(pwd):/data qiime2/core:2019.7

分類器の作成

#配列ファイル(fastaファイル)のインポート
qiime tools import \
--type 'FeatureData[Sequence]' \
--input-path SILVA_132_QIIME_release/rep_set/rep_set_all/99/silva132_99.fna \
--output-path silva132_99.qza

#細菌種名ファイル(.txt)のインポート
qiime tools import \
--type 'FeatureData[Taxonomy]' \
--input-format HeaderlessTSVTaxonomyFormat \
 --input-path SILVA_132_QIIME_release/taxonomy/taxonomy_all/99/taxonomy_7_levels.txt \
--output-path silva132_99_taxonomy_7_levels.qza

#V1-V2領域の抽出
qiime feature-classifier extract-reads \
--i-sequences silva132_99.qza \
--p-f-primer AGRGTTTGATYMTGGCTCAG \
--p-r-primer TGCTGCCTCCCGTAGGAGT \
--p-min-length 100 \
--p-max-length 400 \
--o-reads ref-seqs_silva99_v12.qza

#分類器の訓練
#コマンド実行後に「Killed」と表示されて処理が終了する場合、メモリ不足の可能性がある。
#Dockerのメモリに8GB割り当てている状態では処理が中断し、24GB割り当てると問題なく実行された。
qiime feature-classifier fit-classifier-naive-bayes \
--i-reference-reads ref-seqs_silva99_v12.qza \
--i-reference-taxonomy silva132_99_taxonomy_7_levels.qza \
--o-classifier classifier_silva99_v12.qza

補足

  • silva132には16Sのみ、18Sのみ、両者を合わせたmulti fastaファイルが存在するが、QIIME2開発者は分類器の訓練データとして両者を合わせたmulti fastaファイル及びtaxonomyファイルを使用している(QIIME2 forum)。これは、公式サイトで配布されているqzaファイルからも確認できる(下図はダウンロードしたSilva_132_release.zip内の構造)。
    99.png

  • silvaのRef NR(non-redundant) 99(今回使用しているDB)は約70万のリードからなる(silva132)。

  • silvaを用いて種同定するときはQuast et al., Nucleic Acids Res., 2013Yilmaz et al., Nucleic Acids Res., 2014を引用する(silva132)。

  • 「qiime feature-classifier」実行後に「Killed」と表示されて処理が終了する場合、メモリ不足の可能性がある。当初Dockerのメモリに8GB割り当てている状態では処理が中断し、24GB割り当てると問題なく実行された。

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6