16S和宏基因组生物信息学多组学分析

QIIME2 流程

2019-07-25  本文已影响0人  苏可_7fe6

流程

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,质控及样品拆分,切除扩增引物

上一篇下一篇

猜你喜欢

热点阅读