QIIME2 流程
流程
image.png1.安装与启动
source /share/disk5/lianm/basic_tool/anaconda3/bin/activate qiime2-2019.7
source ~/anaconda3/bin/activate ~/anaconda3/envs/qiime2-2019.4/
conda deactivate
2.文件准备
(1)Metadata files
https://docs.qiime2.org/2019.7/tutorials/metadata/
(2)MANIFEST file
Manifest
(3)FASTQ file
3.拆分样品
4.可视化数据质量
qiime demux summarize --i-data /share/disk5/zhuqh/16S/QIIME2_190samples/data/single-end-demux_test.qza --o-visualization /share/disk5/zhuqh/16S/QIIME2_190samples/data/single-end-demux_test.qzv
5.DADA2(降噪与聚类)
背景:
DADA2滤除有噪声的序列,校正不确定序列中的错误,去除嵌合序列,去除单体(singletons,出现频率仅有一次的序列),然后对这些序列进行去冗余。
(1)嵌合体序列由来自两条或者多条模板链的序列组成,在16S/18S/ITS 扩增子测序的分析中,系统相似度极高,嵌合体可达1%-20%,需要去除嵌合体序列。示意图如下:
image.png
参数:
--p-trunc-len-f,表示位置前面的序列将被截断;
--p-trunclen-r,指示读取的位置后面序列截断;
--p-max-ee,之前序列中超过预期最大错误率将被丢弃(默认值为2);
--p-truncq,截断第一个位置质量分数等于或小于提供值的序列(默认值为2);
--ptrim-left-f and--p-trim-left-r,如果引物存在于输入序列文件中,可选参数可以设置为引物序列的长度,以便去噪。
#Dada2去噪
nohup qiime dada2 denoise-single --i-demultiplexed-seqs /share/disk5/zhuqh/16S/QIIME2_190samples/data/single-end-demux_test.qza --p-trim-left 0 --p-trunc-len 0 --o-representative-sequences 0_rep-seqs.qza --o-table 0_table.qza --o-denoising-stats 0_denoising-single-end-demux_stat.qza --p-n-threads 20 --p-max-ee 8 &
#分析数据统计
qiime metadata tabulate --m-input-file 390_denoising-single-end-demux_stat.qza --o-visualization 390_denoising-single-end-demux_stat.qzv
#table表统计
qiime feature-table summarize --i-table table.qza --o-visualization table.qzv --m-sample-metadata-file /share/disk5/zhuqh/16S/3groups_with_clinical_info_190/mapping.tsv
#seq表统计
qiime feature-table tabulate-seqs --i-data rep-seqs.qza --o-visualization rep-seqs.qzv
结果:
去噪过程输出两个工件:一个表文件以及代表性的序列文件。
算法:
(1)首先将每个reads全部看作单独的单元,Sequence相同的reads被纳入一个sequence,reads个数即成为该sequence的丰度(abundance)(其实就是去冗余的过程)
(2)计算每个sequence丰度的p-value。当最小的p-value低于设定的阈值时,将产生一个新partition。每一个sequence将会被归入最可能生成该
sequence的partition。
(3)依次类推,完成分割归并。
6.物种分类
feature-classifier包括三种不同的分类方法。
(1)classify-consensus-blast和classify-consensus-vsearch都是基于比对的方法,可以在N个最好的比对结果中找一致最高的用于分类。这些方法直接参考数据库FeatureData[Taxonomy]和FeatureData[Sequence]文件,不需要预先训练。
(2)基于机器学习的分类方法是通过classify-sklearn实现,理论上可以应用任何分类方法。必须训练这些分类器,例如,为了解哪些特征可以最好地区分每个分类学组,在分类过程中添加额外的步骤。分类器训练过程是参考数据库和特异的标记基因,和每个标记基因/参考数据库组合计算一次;然后该分类器可以多次使用而不需要重新训练!
#下载物种注释(一个预先训练好的物种注释分类器)
wget -O "gg-13-8-99-515-806-nb-classifier.qza" "https://data.qiime2.org/2019.4/common/gg-13-8-99-515-806-nb-classifier.qza"
# 物种分类(使用机器学习分类器为序列分配可能的物种注释)
nohup qiime feature-classifier classify-sklearn --i-classifier gg-13-8-99-515-806-nb-classifier.qza --i-reads 0_rep-seqs.qza --o-classification 0_taxa/0_taxonomy.qza &
# 物种结果转换表格,可用于查看feature-物种
qiime metadata tabulate --m-input-file /share/disk5/zhengx/suke_qiime/0_taxa/0_taxonomy.qza --o-visualization /share/disk5/zhengx/suke_qiime/0_taxa/0_taxonomy.qzv
#物种分类柱状图
qiime taxa barplot --i-table 0_table.qza --i-taxonomy /share/disk5/zhengx/suke_qiime/0_taxa/0_taxonomy.qza --m-metadata-file mapping.tsv --o-visualization /share/disk5/zhengx/suke_qiime/0_taxa/0_taxa-bar-plots.qzv
7.构建系统进化树
进化树是基于多序列比对的结果,可展示丰富的信息,用于Alpha, Beta多样性分析的输入文件。
#多序列比对,将去噪序列与mafft对齐
qiime alignment mafft --i-sequences rep-seqs.qza --o-alignment aligned-rep-seqs.qza
#移除高变区
qiime alignment mask --i-alignment aligned-rep-seqs.qza --o-masked-alignment masked-aligned-rep-seqs.qza
#使用the FastTree method建树
nohup qiime phylogeny fasttree --i-alignment 0_masked-aligned-rep-seqs.qza --o-tree 0_unrooted-tree.qza --p-n-threads 10 &
#无根树转换为有根树(在中间点对树进行根化)
qiime phylogeny midpoint-root --i-tree unrooted-tree.qza --o-rooted-tree rooted-tree.qza
8.Alpha多样性
Alpha多样性是计算样品内物种组成,包括数量和丰度两维信息。Alpha多样性计算前需要对OTU表进行标准化,因为不同测序深度,检测到的物种数量会不同。我们将OTU表重抽样至相同数据量,以公平比较各样品的物种数量。
#计算多样性(生成一系列的系统发育和非系统发育多样性度量;为了比较序列深度不均匀的样本,样本中的最小序列数可用作次采样深度,也可以稍微降低一点,即根据feature表的统计结果中Frequency per sample中minimum frequency,另外输出文件夹需要提取mkdir core-metrics-results)
nohup qiime diversity core-metrics-phylogenetic --i-phylogeny 0_rooted-tree.qza --i-table 0_table.qza --p-sampling-depth 22663 --m-metadata-file /share/disk5/zhuqh/16S/3groups_with_clinical_info_190/mapping.tsv --output-dir 0_core-metrics-results &
# 统计Alpha多样性的Faith’s phylogenetic diversity组间差异是否显著,输入多样性值、实验设计,输出统计结果。原理是所有组别和成对Kruskal Wallis检验,一个非参数方差分析。
nohup qiime diversity alpha-group-significance --i-alpha-diversity 0_core-metrics-results/faith_pd_vector.qza --m-metadata-file /share/disk5/zhuqh/16S/3groups_with_clinical_info_190/mapping.tsv --o-visualization 0_core-metrics-results/faith-pd-group-significance.qzv &
# 统计evenness组间差异是否显著
nohup qiime diversity alpha-group-significance --i-alpha-diversity 0_core-metrics-results/evenness_vector.qza --m-metadata-file /share/disk5/zhuqh/16S/3groups_with_clinical_info_190/mapping.tsv --o-visualization 0_core-metrics-results/sample-metadata.tsv &
#稀疏曲线:反应数据的饱和度以及组内多样性,一看根据曲线逐渐持平测试测序深度是否足够,二是最上面曲线的类别系统发育多样性明显高于其他类别;
qiime diversity alpha-rarefaction --i-table 0_table.qza --i-phylogeny 0_rooted-tree.qza --p-max-depth 80000 --m-metadata-file /share/disk5/zhuqh/16S/3groups_with_clinical_info_190/mapping.tsv --o-visualization 0_alpha-rarefaction.qzv
9.Beta多样性
Beta多样性是计算各样品间的相同或不同.
#不同bodysite的unweighted unifrac距离的beta diversity 差异分析
qiime diversity beta-group-significance --i-distance-matrix 0_2_core-metrics-results/unweighted_unifrac_distance_matrix.qza --m-metadata-file /share/disk5/zhuqh/16S/3groups_with_clinical_info_190/mapping.tsv --m-metadata-column Group --o-visualization 0_2_core-metrics-results/unweighted-unifrac-body-site-significance.qzv --p-pairwise
#统计beta多样性的组间差异是否显著,PERMANOVA analysis on the BrayCurtis差异分析(通过PERMANOVA和ANOSIM统计方法)
qiime diversity beta-group-significance --i-distance-matrix core-metrics-results/unweighted_unifrac_distance_matrix.qza --m-metadata-file sample-metadata.tsv --m-metadata-column Subject --o-visualization core-metrics-results/unweighted-unifrac-subject-group-significance.qzv --p-pairwise
#基于unweighted-unifrac距离的beta diversity图形可视化
qiime emperor plot --i-pcoa 0_2_core-metrics-results/unweighted_unifrac_pcoa_results.qza --m-metadata-file /share/disk5/zhuqh/16S/3groups_with_clinical_info_190/mapping.tsv --p-custom-axes DaysSinceExperimentStart --o-visualization 0_2_core-metrics-results/unweighted-unifrac-emperor-DaysSinceExperimentStart.qzv
#基于bray-curtis距离的beta diversity图形可视化
qiime emperor plot --i-pcoa core-metrics-results/bray_curtis_pcoa_results.qza --m-metadata-file sample-metadata.tsv --p-custom-axes DaysSinceExperimentStart --o-visualization core-metrics-results/bray-curtis-emperor-DaysSinceExperimentStart.qzv
【附录思路】
看测序仪,illumine是正常掉峰,其余测序仪质量结果不规范;以及保存的资料;
去掉数据只影响丰度;
?高峰度的OTU?基于注释结果聚类,到门或
?a多样性看饱和度,是否分析全
?如何挖信息(个体间差异大,临床信息,注释文件是啥,根据信息重新分组)
?临床基本信息,数据量,导致尿感是一种还是多种?原因是什么?尿培养和16s结果对比(一致和不一致的比例?注释的情况?根据物种可以把原参与人群分为几类;
mkdir temp
source /software/miniconda/activate /software/.../qiime2-2019.4/
qiime tools export --input-path table.qza --output-path ./temp/
cd out
#格式转换
biom convert -i feature-table.biom -o oyold2.txt
2.qimme2上课所有命令
#请大家在D盘下面新建文件夹qiime2,把data文件夹、gg-13-8-99-515-806-nb-classifier.qza以及sample-metadata.tsv放在qiime2文件夹中
#输入文件准备
cd share
ll data
#加载数据
qiime tools import --type EMPSingleEndSequences --input-path data --output-path emp-single-end-sequences.qza
#Demultiplexing sequences
qiime demux emp-single --i-seqs emp-single-end-sequences.qza --m-barcodes-file sample-metadata.tsv --m-barcodes-column BarcodeSequence --o-per-sample-sequences demux.qza
qiime demux summarize --i-data demux.qza --o-visualization demux.qzv
qiime tools view demux.qzv
#用DADA2方法进行质控(耗时)
qiime dada2 denoise-single --i-demultiplexed-seqs demux.qza --p-trim-left 0 --p-trunc-len 120 --o-representative-sequences rep-seqs.qza --o-table table.qza
#生成feature文件
qiime feature-table summarize --i-table table.qza --o-visualization table.qzv --m-sample-metadata-file sample-metadata.tsv
qiime feature-table tabulate-seqs --i-data rep-seqs.qza --o-visualization rep-seqs.qzv
qiime tools view table.qzv
#phylogenetic diversity
#多序列比对
qiime alignment mafft --i-sequences rep-seqs.qza --o-alignment aligned-rep-seqs.qza
#移除多变区
qiime alignment mask --i-alignment aligned-rep-seqs.qza --o-masked-alignment masked-aligned-rep-seqs.qza
#构建无根树
qiime phylogeny fasttree --i-alignment masked-aligned-rep-seqs.qza --o-tree unrooted-tree.qza
#无根树转为有根树
qiime phylogeny midpoint-root --i-tree unrooted-tree.qza --o-rooted-tree rooted-tree.qza
#Alpha and beta diversity analysis
#生成alpha diversity不同指数和beta diversity不同距离下的结果:sampling depth 一般为数据量最小的样本的序列数
qiime diversity core-metrics-phylogenetic --i-phylogeny rooted-tree.qza --i-table table.qza --p-sampling-depth 1109 --m-metadata-file sample-metadata.tsv --output-dir core-metrics-results
#进化多样性差异分析
qiime diversity alpha-group-significance --i-alpha-diversity core-metrics-results/faith_pd_vector.qza --m-metadata-file sample-metadata.tsv --o-visualization core-metrics-results/faith-pd-group-significance.qzv
qiime tools view core-metrics-results/faith-pd-group-significance.qz
#均匀度差异分析
qiime diversity alpha-group-significance --i-alpha-diversity core-metrics-results/evenness_vector.qza --m-metadata-file sample-metadata.tsv --o-visualization core-metrics-results/evenness-group-significance.qzv
#不同bodysite的unweighted unifrac距离的beta diversity 差异分析
qiime diversity beta-group-significance --i-distance-matrix core-metrics-results/unweighted_unifrac_distance_matrix.qza --m-metadata-file sample-metadata.tsv --m-metadata-column BodySite --o-visualization core-metrics-results/unweighted-unifrac-body-site-significance.qzv --p-pairwise
#不同subject的unweighted unifrac距离的beta diversity 差异分析
qiime diversity beta-group-significance --i-distance-matrix core-metrics-results/unweighted_unifrac_distance_matrix.qza --m-metadata-file sample-metadata.tsv --m-metadata-column Subject --o-visualization core-metrics-results/unweighted-unifrac-subject-group-significance.qzv --p-pairwise
#基于unweighted-unifrac距离的beta diversity图形可视化
qiime emperor plot --i-pcoa core-metrics-results/unweighted_unifrac_pcoa_results.qza --m-metadata-file sample-metadata.tsv --p-custom-axes DaysSinceExperimentStart --o-visualization core-metrics-results/unweighted-unifrac-emperor-DaysSinceExperimentStart.qzv
#基于bray-curtis距离的beta diversity图形可视化
qiime emperor plot --i-pcoa core-metrics-results/bray_curtis_pcoa_results.qza --m-metadata-file sample-metadata.tsv --p-custom-axes DaysSinceExperimentStart --o-visualization core-metrics-results/bray-curtis-emperor-DaysSinceExperimentStart.qzv
#Alpha rarefaction plotting
#稀疏曲线:反应数据的饱和度以及组内多样性
qiime diversity alpha-rarefaction --i-table table.qza --i-phylogeny rooted-tree.qza --p-max-depth 4000 --m-metadata-file sample-metadata.tsv --o-visualization alpha-rarefaction.qzv
#Taxonomic analysis(耗时)
qiime feature-classifier classify-sklearn --i-classifier gg-13-8-99-515-806-nb-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
#ANCOM进行差异分析
#对于gut这一组的样本进行差异分析
qiime feature-table filter-samples --i-table table.qza --m-metadata-file sample-metadata.tsv --p-where "BodySite='gut'" --o-filtered-table gut-table.qza
#去掉0值
qiime composition add-pseudocount --i-table gut-table.qza --o-composition-table comp-gut-table.qza
#不同subject差异分析
qiime composition ancom --i-table comp-gut-table.qza --m-metadata-file sample-metadata.tsv --m-metadata-column Subject --o-visualization ancom-Subject.qzv
#合并属水平 对gut样本进行差异分析
qiime taxa collapse --i-table gut-table.qza --i-taxonomy taxonomy.qza --p-level 6 --o-collapsed-table gut-table-l6.qza
#去掉0值
qiime composition add-pseudocount --i-table gut-table-l6.qza --o-composition-table comp-gut-table-l6.qza
#不同subject中
qiime composition ancom --i-table comp-gut-table-l6.qza --m-metadata-file sample-metadata.tsv --m-metadata-column Subject --o-visualization l6-ancom-Subject.qzv
#文件输出
#输出feature table
qiime tools export table.qza --output-dir out
cd out
#biom格式转换
biom convert -i feature-table.biom -o oyold2.txt --to-tsv
qiime metadata tabulate --m-input-file rep-seqs.qza --m-input-file taxonomy.qza --o-visualization tabulated-feature-metadata.qzv
qiime tools view tabulated-feature-metadata.qzv