本文へスキップ

Qiime2

Qiime1とQiime2の違い


Qiime1とQiime2の大きな違いは、種の定義が大きく異なった点です。これまでQiime1は、得られた配列と97%や99%配列相同性があった配列をOTU (操作的分類群)としてまとめていました。ただその場合、非常に近い別種の配列も含めてしまう問題やシーケンシングエラーを種としてしまう問題がありました(下の図)。
 そこで、Qiime2は、内部にDADA2によるイルミナシーケンシングエラーモデルを実装し、似た配列をまとめるのではなく、シーケンシングエラーを除くという逆の発想を採用しています(下の図)。
(スクリプトやオプションもQiime1とQiime2で大きく異なっているのは、言うまでもありません。)


 
           図 OTUとDADA2の方針の違い


Qiime2の使い方


Qiime2から出力されるqza形式やqzv形式は、機械語で書かれていて、人間には理解できません。
データを見るためには、以下のURLに飛んで、ドラッグ&ドロップするかexportコマンドで人間に理解できるデータを出力する必要があります。その際、ブラウザがGoogle ChromeかFirefox ではないとエラーが生じる可能性があります。

QIIME 2 View
https://view.qiime2.org/


また、Qiime2は頻繁に更新されており、versionによってオプションの指定も変わっています。以下に例をお示ししますが、使用しているversionによってオプションの指定でエラーが生じるかもしれません。

1. manifest.txtの作成

以下のように、サンプル名とFASTQデータの場所(絶対PATH)、ストランドの向き情報をテキストファイル形式で作成する。
sample-id,absolute-filepath,direction
SAMPLE1,/data/SAMPLE1_L001_R1_001.fastq,forward SAMPLE1,/data/SAMPLE1_L001_R2_001.fastq,reverse
SAMPLE2,/data/SAMPLE2_L001_R1_001.fastq,forward SAMPLE2,/data/SAMPLE2_L001_R2_001.fastq,reverse
SAMPLE3,/data/SAMPLE3_L001_R1_001.fastq,forward SAMPLE3,/data/SAMPLE3_L001_R2_001.fastq,reverse


(Paired-end readsの場合)
2. 生データのインプット

qiime tools import --type SampleData[PairedEndSequencesWithQuality] --input-path manifest.txt --output-path sequence.qza --source-format PairedEndFastqManifestPhred33

3. 代表配列とカウント表

qiime dada2 denoise-paired --i-demultiplexed-seqs sequence.qza --p-trim-left-f 20 --p-trim-left-r 21 --p-trunc-len-f 250 --p-trunc-len-r 250 --o-representative-sequences repset.qza --o-table table.qza --p-n-threads 4
オプション設定
--p-trim-left-f: Forwardの5'側を何塩基削除するか?
--p-trim-left-r: Forwardの5'側を何塩基削除するか?
--p-trunc-len-f: Forwardの3'側を何塩基削除するか?
--p-trunc-len-r: Reverseの3'側を何塩基削除するか?

#qza形式をqzv形式に変換
qiime feature-table tabulate-seqs --i-data repset.qza --o-visualization repset.qzv
#機械語からFASTA形式に変換
qiime tools export repset.qza --output-dir Repset


(Single reads, Merge readsの場合)
2. 生データのインプット

qiime tools import --type SampleData[SequencesWithQuality] --input-path manifest.txt --output-path sequence.qza --source-format SingleEndFastqManifestPhred33

3. 代表配列とカウント表

qiime dada2 denoise-single --i-demultiplexed-seqs sequence.qza --p-trunc-len 0 --o-representative-sequences repset.qza --o-table table.qza --p-n-threads 4
#qza形式をqzv形式に変換 
qiime feature-table tabulate-seqs --i-data repset.qza --o-visualization repset.qzv
#機械語からFASTA形式に変換
qiime tools export repset.qza --output-dir Repset


4. 生物種の割り当て

4-1. 前処理
# FASTA形式をqza形式に変換
qiime tools import --type 'FeatureData[Sequence]' --input-path 97_otu.fasta --output-path 97_otu.qza 
#taxonomy情報もqza形式に
qiime tools import --type 'FeatureData[Taxonomy]' --input-format HeaderlessTSVTaxonomyFormat --input-path 97_otu_taxonomy.txt --output-path ref-taxonomy.qza
#配列情報とtaxonomy情報の結合
qiime feature-classifier fit-classifier-naive-bayes --i-reference-reads 97_otu.qza --i-reference-taxonomy ref-taxonomy.qza --o-classifier classifier.qza

4-2. 本番
 qiime feature-classifier classify-sklearn --i-classifier classifier.qza --i-reads repset.qza --o-classification taxonomy.qza

5. バーチャートの出力

 qiime metadata tabulate --m-input-file taxonomy.qza --o-visualization taxonomy.qzv
qiime taxa barplot --i-table table.qza --i-taxonomy taxonomy.qza --m-metadata-file map.txt --o-visualization taxa-barplot.qzv

6. アライメントと系統樹の作成

qiime alignment mafft --i-sequences repset.qza --o-alignment aligned-repset.qza
 qiime alignment mask --i-alignment aligned-repset.qza --o-masked-alignment masked-aligned-repset.qza
 qiime phylogeny fasttree --i-alignment masked-aligned-repset.qza --o-tree unrooted-tree.qza
qiime phylogeny midpoint-root --i-tree unrooted-tree.qza --o-rooted-tree rooted-tree.qza
 qiime tools export rooted-tree.qza --output-dir Tree

7. 多様性解析

 qiime diversity core-metrics-phylogenetic --i-phylogeny rooted-tree.qza --i-table table.qza --m-metadata-file map.txt --output-dir diversity --p-sampling-depth $MIN1
 qiime diversity alpha-group-significance --i-alpha-diversity diversity/faith_pd_vector.qza --m-metadata-file map.txt --o-visualization diversity/faith_pd_vector.qzv
qiime diversity alpha-group-significance --i-alpha-diversity diversity/evenness_vector.qza --m-metadata-file map.txt --o-visualization diversity/pielou_e_vector.qzv
qiime diversity alpha-group-significance --i-alpha-diversity diversity/shannon_vector.qza --m-metadata-file map.txt --o-visualization diversity/shannon_vector.qzv
qiime diversity alpha-group-significance --i-alpha-diversity diversity/observed_otus_vector.qza --m-metadata-file map.txt --o-visualization diversity/observed_otus_vector.qzv
qiime diversity beta-group-significance --i-distance-matrix diversity/unweighted_unifrac_distance_matrix.qza --m-metadata-file map.txt --o-visualization diversity/unweighted_unifrac_distance_matrix.qzv --m-metadata-column Treatment
#アルファ多様性の結果を機械語から人間語へ変換する
qiime tools export diversity/alpha-rarefaction.qzv --output-dir diversity/alpha-rarefaction
#ベータ多様性の一部の結果を機械語から人間語へ変換する
qiime tools export diversity/weighted_unifrac_emperor.qzv --output-dir diversity/weighted_unifrac_emperor
inserted by FC2 system