QIIME2 流程

流程

image.png

1.安装与启动

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/

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 

参考:
扩增子分析解读2提取barcode,质控及样品拆分,切除扩增引物

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,001评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,210评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,874评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,001评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,022评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,005评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,929评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,742评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,193评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,427评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,583评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,305评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,911评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,564评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,731评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,581评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,478评论 2 352

推荐阅读更多精彩内容