qiime2-2019.1已经发布,程序稳定性越来越好,鉴于官方已经停止支持qiime1,有必要把qiime2的所有细节都理清,学好,这样才能对自己的数据进行实战分析,并将结果运用于实验和生产过程中。发现文档更新也相当快,感谢公众号宏基因组翻译的文档,让我在看许多专业术语方面扫清不少障碍,但是你介于翻译过来的命令却已经过时,还是对照着看最新版的,基本上很少改动,当然,专业英语好的除外。
发现需要学习的有几个内容,数据的过滤(嵌合体,非细菌序列,注释级别太少的等),还有就是训练一个适合自己的分类参考数据集,另外就是对于一个样本多个时间采样的结果的分析等,下面一个一个来学习。
1.数据的过滤
在分析过程中发现用自己的数据跑出来许多序列只能注释到细菌界,后面不能细分,像这种要过滤掉,刚好发现官方提供了相关的教程和命令,于是直接执行得到结果。教程里面是过滤后保留至少到门的结果,刚好是符合我的需要的,于是参数也不动了。
#过滤没注释到门的序列
qiime taxa filter-table \
--i-table table.qza \
--i-taxonomy taxonomy.qza \
--p-include p__ \
--o-filtered-table table-with-phyla.qza
2.训练一个适合自己的分类参考数据集
对于一般的科研项目,扩增使用的多是V3V4通用引物341F和806R,但是不少项目使用的是单独V4的引物515F和806R,而且,就是相同位置的引物,还有简并多少的区别,以及覆盖度的多少。因此,如果不是和官方同样的引物,就有必要训练一个适合项目的参考数据集。下面开始我的步骤:
1)下载并导入参考序列
#greengenes_13_8
wget -c ftp://greengenes.microbio.me/greengenes_release/gg_13_5/gg_13_8_otus.tar.gz
unzip gg_13_8_otus.tar.gz
#或者SILVA
wget -c https://www.arb-silva.de/fileadmin/silva_databases/qiime/Silva_132_release.zip
unzip Silva_132_release.zip #这个数据更新及时,我决定用它试试
#导入参考序列
qiime tools import \
--type 'FeatureData[Sequence]' \
--input-path ../SILVA_132_QIIME_release/rep_set/rep_set_16S_only/99/silva_132_99_16S.fna \
--output-path silva_132_99_16S.qza
<h1>导入物种分类信息</h1>
qiime tools import \
--type 'FeatureData[Taxonomy]' \
--input-format HeaderlessTSVTaxonomyFormat \
--input-path ../SILVA_132_QIIME_release/taxonomy/16S_only/99/taxonomy_7_levels.txt \
--output-path ref-taxonomy.qza
#提取参考序列,由于数据较大,这步耗时相当长。这里把截取长度设置为126bp,因为我
qiime feature-classifier extract-reads --i-sequences silva_132_99_16S.qza --p-f-primer GTGYCAGCMGCCGCGGTAA --p-r-primer GGACTACNVGGGTWTCTAAT --p-trunc-len 126 --p-min-length 100 --p-max-length 400 --o-reads ref-seqs.qza
#训练Naive Bayes分类器
nohup time qiime feature-classifier fit-classifier-naive-bayes \
--i-reference-reads ref-seqs.qza \
--i-reference-taxonomy ref-taxonomy.qza \
--o-classifier classifier.qza &
```
过程相当耗时耗资源,但是对于一台一般的服务器来说不是问题,峰值内存使用在25G+。
<h2>3.通过比对过滤非细菌序列</h2>
这个主要是过滤宿主基因,应该是宏基因组测序中用的较多。
```bash
qiime quality-control exclude-seqs \
--i-query-sequences query-seqs.qza \
--i-reference-sequences reference-seqs.qza \
--p-method blast \
--p-perc-identity 0.97 \
--p-perc-query-aligned 0.97 \
--o-sequence-hits hits.qza \
--o-sequence-misses misses.qza
qiime feature-table filter-features \
--i-table query-table.qza \
--m-metadata-file hits.qza \
--o-filtered-table no-hits-filtered-table.qza \
--p-exclude-ids