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 |