Qiime2运用与实战

写在前面

Qiime2是大佬们集中已有的资源和对扩增子领域的思考而成的一个集成的,一个大杂烩的软件。但是,事实上Qiime也是一个大杂烩,不过是命令的大杂烩,将全部不同功能的命令组合到一起,超过200个命令构成了Qiime的全部功能。Qiime2更像是一个在芸芸众生中都进行了一个尝试后,新诞生出来的一个成熟的工具,将不同功能的命令封装起来,从底层解决文件大小问题,解决数据共享问题,解决可重复计算和分析问题等。

从Qiime到Qiime2,遵循事物发展规律,理解从1到2的转变,就可以了解微生物组从开始到成熟的技术演变。从12年到21年,这些年见,最早的一批人已经从摸索阶段到了领域标杆,那么下一个十年,机会在哪里的?不管怎样,先加油!下一个十年属于我们。

环境配置

安装conda+Qiime2

# 下载最新版miniconda2
wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 运行安装程序
bash Miniconda3-latest-Linux-x86_64.sh

数据导入

library(tidyverse)
#这里我们提取复合要求的指定文件名称

b =dir("./seq/", pattern = c(""), full.names = F, ignore.case = TRUE)
b

f = b[b %>% str_detect("_1")]
f <- paste("$PWD/seq/",f,sep = "")

r = b[b %>% str_detect("_2")]
r <- paste("$PWD/seq/",r,sep = "")

id = b[b %>% str_detect("_2")] %>%
strsplit( "_") %>%
sapply( `[`, 1)

dat = data_frame(
'sample-id' = id,
'forward-absolute-filepath' = f,
'reverse-absolute-filepath' = r

)

write_tsv(dat,"./manifest.tsv")time qiime tools import \
--type 'SampleData[PairedEndSequencesWithQuality]' \
--input-path smanifest.tsv \
--output-path demux.qza \
--input-format PairedEndFastqManifestPhred33V2

vsearch+debur

# 双端序列合并
time qiime vsearch join-pairs \
--i-demultiplexed-seqs demux.qza \
--o-joined-sequences demux-joined.qza

# 双端去接头
time qiime cutadapt trim-paired \
--i-demultiplexed-sequences demux.qza \
--p-cores 9 \
--p-front-f AACMGGATTAGATACCCKG \
--p-front-r GGAAGGTGGGGATGACGT \
--p-error-rate 0.1 \
--o-trimmed-sequences trimmed-demux.qza \
--verbose

# 序列质控
time qiime quality-filter q-score-joined \
--i-demux demux-joined.qza \
--o-filtered-sequences demux-joined-filtered.qza \
--o-filter-stats demux-joined-filter-stats.qza

# deblur去噪生成特征表
time qiime deblur denoise-16S \
--i-demultiplexed-seqs demux-joined-filtered.qza \
--p-trim-length 250 \
--p-sample-stats \
--o-representative-sequences rep-seqs.qza \
--o-table table.qza \
--o-stats deblur-stats.qza

DADA2

time qiime dada2 denoise-paired --i-demultiplexed-seqs demux.qza --p-n-threads 0 \
--p-trim-left-f 29 --p-trim-left-r 18 --p-trunc-len-f 0 --p-trunc-len-r 0 \
--o-table table.qza \
--o-representative-sequences rep-seqs.qza \
--o-denoising-stats denoising-stats.qza

外部导入特征表和代表序列

导入文件相对麻烦,qiime tools import命令中的参数  —type 多达几十种,所以这里列出来了常用的几种。

# 上传OTU表otutab.txt和代表序列otus.fa
# 转换文本为Biom1.0
biom convert -i ./input_otutab/otutab.txt -o ./input_otutab/otutab.biom \
--table-type="OTU table" --to-json
# 导入特征表
qiime tools import --input-path ./input_otutab/otutab.biom \
--type 'FeatureTable[Frequency]' --input-format BIOMV100Format \
--output-path ./input_otutab/table.qza
# 导入代表序列
qiime tools import --input-path ./input_otutab/otus.fa \
--type 'FeatureData[Sequence]' \
--output-path ./input_otutab/rep-seqs.qza
# 注意如果不知道tax格式,那就看下qiime2导出来的是什么格式,同样也可以被导入
qiime tools import --input-path ./input_otutab/taxonomy.txt \
--type 'FeatureData[Taxonomy]'\
--output-path ./input_otutab/tax.qza

特征表格基本统计

# 特征表和代表序列统计
qiime feature-table summarize \
--i-table ./input_otutab/table.qza \
--o-visualization ./input_otutab/table.qzv \
--m-sample-metadata-file metadata.tsv

qiime feature-table tabulate-seqs \
--i-data ./input_otutab/rep-seqs.qza \
--o-visualization ./input_otutab/rep-seqs.qzv

导出数据

这里十分简单,只需要知道qiime tools export命令接即可,并且将其看作一个解压缩的软件。

#--导出OTU表格
qiime tools export --input-path table.qza --output-path exported-feature-table

biom convert -i exported-feature-table/feature-table.biom \
-o exported-feature-table/table.txt \
--to-tsv
qiime tools export --input-path ./rep-seqs.qza --output-path rep
set

qiime tools export --input-path ./rooted-tree.qza --output-path
tree

Alpha和beta多样性分析

# 构建进化树用于多样性分析 53s
time qiime phylogeny align-to-tree-mafft-fasttree \
--i-sequences rep-seqs.qza \
--o-alignment aligned-rep-seqs.qza \
--o-masked-alignment masked-aligned-rep-seqs.qza \
--o-tree unrooted-tree.qza \
--o-rooted-tree rooted-tree.qza

# 计算核心多样性 8s
time qiime diversity core-metrics-phylogenetic \
--i-phylogeny rooted-tree.qza \
--i-table table.qza \
--p-sampling-depth 10000 \
--m-metadata-file metadata.tsv \
--output-dir core-metrics-results

# Beta多样性组间显著性分析和可视化
# 可选的beta指数有 unweighted_unifrac、bray_curtis、weighted_unifrac、jaccard
# 指定分组是减少计算量,转换检验非常耗时
distance=weighted_unifrac
column=Group
qiime diversity beta-group-significance \
--i-distance-matrix core-metrics-results/${distance}_distance_matrix.qza \
--m-metadata-file metadata.tsv \
--m-metadata-column ${column} \
--o-visualization core-metrics-results/${distance}-${column}-significance.qzv \
--p-pairwise

# Alpha多样性组间显著性分析和可视化
# 可选的alpha指数有 faith_pd、shannon、observed_otus、evenness
index=observed_otus
qiime diversity alpha-group-significance \
--i-alpha-diversity core-metrics-results/${index}_vector.qza \
--m-metadata-file metadata.tsv \
--o-visualization core-metrics-results/${index}-group-significance.qzv

# Alpha稀疏取线
qiime diversity alpha-rarefaction \
--i-table table.qza \
--i-phylogeny rooted-tree.qza \
--p-max-depth 20000 \
--m-metadata-file metadata.tsv \
--o-visualization alpha-rarefaction.qzv
# 结果有observed_otus, shannon, 和faith_pd三种指数可选

训练注释库

  • 99数据库的训练

# 导入参考序列
qiime tools import \
--type 'FeatureData[Sequence]' \
--input-path 99_otus.fasta \
--output-path 99_otus.qza

# 导入物种分类信息
qiime tools import \
--type 'FeatureData[Taxonomy]' \
--input-format HeaderlessTSVTaxonomyFormat \
--input-path 99_otu_taxonomy.txt \
--output-path 99_ref-taxonomy.qza

time qiime feature-classifier fit-classifier-naive-bayes \
--i-reference-reads 99_otus.qza \
--i-reference-taxonomy 99_ref-taxonomy.qza \
--o-classifier gg_99_all_classifier.qza

物种组成分析

# 物种注释 1m42s
time qiime feature-classifier classify-sklearn \
--i-classifier ./training-feature-classifiers/gg_99_all_classifier.qza \
--i-reads rep-seqs.qza \
--o-classification taxonomy.qza

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 sample-metadata.tsv \
--o-visualization taxa-bar-plots.qzv

根际互作生物学研究室 简介

根际互作生物学研究室是沈其荣教授土壤微生物与有机肥团队下的一个关注于根际互作的研究小组。本小组由袁军副教授带领,主要关注:1.植物和微生物互作在抗病过程中的作用;2 环境微生物大数据整合研究;3 环境代谢组及其与微生物过程研究体系开发和应用。团队在过去三年中在 isme J, Microbiome, PCE,SBB,Horticulture Research等期刊上发表了多篇文章。欢迎关注 微生信生物 公众号对本研究小组进行了解。

(0)

相关推荐

  • MPB:使用QIIME 2分析微生物组16S rRNA基因扩增子测序数据(视频)

    为进一步提高<微生物组实验手册>稿件质量,本项目新增大众评审环节.文章在通过同行评审后,采用公众号推送方式分享全文,任何人均可在线提交修改意见.公众号格式显示略有问题,建议电脑端点击文末阅 ...

  • 经方抓独法:领会实战抓独法!(附​:葛根汤抓独医案)

    一. 抓独法的特点 1.抓独法源流 今天我们讲抓独法.我们研究伤寒论有五法,有标本法,有聚类法,有平脉法,有截断法,还有我们的抓独法.抓独法呢,它是有源流的,在伤寒论的平脉法就讲到了."邪不 ...

  • 精集体站街:半路经典实战7类图形

    深山老牛 楼主 2019-05-10 08:31 最近很多朋友对于个股该低吸还是追高混淆,前面老牛把自己低吸的手法全部公布给了大家,以后就重点讲讲半路追涨做首板的一些方法.便于区分和选股. 以下,是我 ...

  • 实战训练!

    在采用双盲测试的条件下任意选择一只历史股票,对其做交易训练. 缠论选股操作的条件是尽可能在一个大级别的切入点位置进场,并且在大级别上没有出现终止信号之前,保持交易节奏. 不管你是有缠论基础还是新接触缠 ...

  • 四物汤实战篇!(加减脏腑病妇科病)

    一.四物汤加减脏腑病 1 血虚腹痛.微汗恶风.加官桂(七分).倍芍药. 2 嗽痰.加桑白皮.杏仁.麻黄.贝母( 各等分). 3 大便秘.加桃仁.大黄.麻仁.枳壳(减半余各等分). 4 血虚头眩.加天麻 ...

  • 欧赛斯超级品牌引擎背后的思想、方法及实战拆解(5)

    欧赛斯 品牌超级引擎™ 关注 前言:过去的品牌是一个Logo.一句广告语.一幅画.一支广告片,品牌仅仅是品牌表现,品牌那时还是是广告公司的事情:而今天的品牌是一个点.线.面.体构成的一个引擎化体系.品 ...

  • 学霸的考场作文实战示例:高考作文如何开头与结尾

    俗谚:编筐编篓,重在收口.写文章,常常是头难起,尾难收. 评卷时,开头结尾也往往是评卷人的聚焦点,基础等级和发展等级的许多点都可以从开头结尾看出来. 关于开头结尾的要求,古人有形象而精辟的说法,曰&q ...

  • 别再去买那些垃圾股了,每周2次主升浪不香吗?硬核实战技巧分享

    别再去买那些垃圾股了,每周2次主升浪不香吗?硬核实战技巧分享

  • 圆运动的实战古方总结

    天 物 太 极 相 感 朱熹有一句话"人人有一太极,物物有一太极."吴瑭把它推导到药物具体部位的升降:"盖芦主生,干与枝叶主长,花主化,子主收,根主藏,木也:草则收藏皆在 ...

  • 刘渡舟:经方实战乙肝16方证

    乙型病毒性肝炎简称"乙型肝炎",是由乙型肝炎病毒引起的肝脏炎性损害,是我国当前最常见的一种传染病.其传播途径复杂,具有病程较长.缠绵难愈的特点,同时也是肝硬化.肝癌等的重要发病基础 ...