LoginSignup
1
1

More than 5 years have passed since last update.

自前の配列データベースからqiime2で使える分類モデルを作成する

Last updated at Posted at 2018-06-20

自前で持ってる16Sとか18SとかITSのデータベースとqiime2を使ってコミュニティ解析をしたい場合に、データベースからqiime2で使える単純ベイズ分類器のモデルを作成する流れをメモしたものです。

公式のこ↑こ↓(https://docs.qiime2.org/2018.4/tutorials/feature-classifier/ ) を参考にしています。

最終的に単純ベイズ分類器のモデルを作成するので、精度のよい分類器を作成するためにはノイズを取り除いたりすることが必要になると思います。

とりあえずデータベースをqiime2のフォーマットにする

配列データと系統情報を記したタブ区切りテキストファイルをqiime2フォーマットにします。

qiime tools import \
  --type 'FeatureData[Sequence]' \
  --input-path database-seqs.fasta \
  --output-path database-seqs.qza
qiime tools import \
  --type 'FeatureData[Taxonomy]' \
  --source-format HeaderlessTSVTaxonomyFormat \
  --input-path taxonomy.txt \
  --output-path ref-taxonomy.qza

データベース配列のノイズ除去

データベース配列にプライマーが含まれていたり、長さが揃っていない場合は下のコマンドなどで除去します。

qiime feature-classifier extract-reads \
  --i-sequences database-seqs.qza \
  --p-f-primer XXXXXXXXXXXXXXXX \
  --p-r-primer XXXXXXXXXXXXXXXX \
  --p-trunc-len 120 \
  --o-reads ref-seqs.qza

「XXXXXXXXXXXXXXXX」の部分は任意のprimerシークエンス。

単純ベイズ分類器のモデル作成

単純ベイズ分類器のモデルを作成します。
裏で動いているのはPythonのscikit-learn 0.19.1に入ってるNaive Bayes classifierらしいです。

qiime feature-classifier fit-classifier-naive-bayes \
  --i-reference-reads ref-seqs.qza \
  --i-reference-taxonomy ref-taxonomy.qza \
  --o-classifier classifier.qza

作成したモデルをテストする

公式に準じるとモデル作成に使った配列でテストしてますが(下記)、本当ならmockコミュニティとか使うべきなんでしょうね。

qiime feature-classifier classify-sklearn \
  --i-classifier classifier.qza \
  --i-reads rep-seqs.qza \
  --o-classification taxonomy.qza

分類結果を可視化します。

qiime metadata tabulate \
  --m-input-file taxonomy.qza \
  --o-visualization taxonomy.qzv
qiime tools view taxonomy.qzv
1
1
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
1
1