本示例的的数据来自文章《Moving pictures of the human microbiome》,Genome Biology 2011,取样来自两个人身体四个部位五个时间点
 
进入环境

source activate qiime2-2017.8

退出环境

source deactivate

 
准备数据
# 创建并进入工作目录

mkdir -p qiime2-moving-pictures-tutorial
cd qiime2-moving-pictures-tutorial

# 下载实验设计(-O 重命名下载的文件)

wget -O sample-metadata.tsv https://data.qiime2.org/2017.6/tutorials/moving-pictures/sample_metadata.tsv

## 上面一步下载失败,可尝试删除空文件并使用我建立的备份链接下载;否则跳过下面两行命令

rm sample_metadata.tsv
wget http://bailab.genetics.ac.cn/markdown/sample-metadata.tsv

# 下载实验测序数据

mkdir -p emp-single-end-sequences
wget -O emp-single-end-sequences/barcodes.fastq.gz https://data.qiime2.org/2017.6/tutorials/moving-pictures/emp-single-end-sequences/barcodes.fastq.gz
wget -O emp-single-end-sequences/sequences.fastq.gz https://data.qiime2.org/2017.6/tutorials/moving-pictures/emp-single-end-sequences/sequences.fastq.gz

 
# 生成qiime需要的artifact文件(qiime文件格式,将原始数据格式标准化)

qiime tools import \
  --type EMPSingleEndSequences \
  --input-path emp-single-end-sequences \
  --output-path emp-single-end-sequences.qza

拆分样品
# 按barcode拆分样品Demultiplexing sequences

qiime demux emp-single \
  --i-seqs emp-single-end-sequences.qza \
  --m-barcodes-file sample-metadata.tsv \
  --m-barcodes-category BarcodeSequence \
  --o-per-sample-sequences demux.qza

 
# 结果统计

qiime demux summarize \
  --i-data demux.qza \
  --o-visualization demux.qzv

 
# 查看结果 (依赖XShell+XManager或其它ssh终端和图形界面软件)

qiime tools view demux.qzv

 
序列质控和生成OTU表
此步主要有DADA2和Deblur两种方法可选,推荐使用DADA2,去年发表在Nature Method上,比较同类方法优于其它OTU聚类结果;相较QIIME的UPARSE聚类方法,目前DADA2方法仅去噪去嵌合,不再按相似度聚类。比上一代分析结果更准确。
 
DADA2 
主要作用是去除低质量序列、嵌合体;再生成OTU表,现在叫Feature表,因为不再使用聚类方法,相当于QIIME时代100%相似度的OTU表。
读者思考时间:基于上面对拆分样品的统计结果,如何设置下面生成OTU表的参数。
 
–p-trim-left 截取左端低质量序列,我们看图中箱线图,左端质量都很高,无低质量区,设置为0;
–p-trunc-len 序列截取长度,也是为了去除右端低质量序列,我们看到大于120以后,质量下降极大,甚至中位数都下降至20以下,需要全部去除。

# 单端序列去噪, 去除左端0bp(--p-trim-left用于切除边缘低质量区),序列切成120bp长;生成代表序列和OTU表;并重命名用于下游分析
qiime dada2 denoise-single \
  --i-demultiplexed-seqs demux.qza \
  --p-trim-left 0 \
  --p-trunc-len 120 \
  --o-representative-sequences rep-seqs-dada2.qza \
  --o-table table-dada2.qza
mv rep-seqs-dada2.qza rep-seqs.qza
mv table-dada2.qza table.qza

 
Deblur 
与DADA2二选一,用户可自行比较结果的差异,根据喜好选择

# 按测序质量过滤序列
qiime quality-filter q-score \
 --i-demux demux.qza \
 --o-filtered-sequences demux-filtered.qza \
 --o-filter-stats demux-filter-stats.qza
# 去冗余生成OTU表和代表序列;结果文件名有deblur,没有用于下游分析,请读者想测试的自己尝试
qiime deblur denoise-16S \
  --i-demultiplexed-seqs demux-filtered.qza \
  --p-trim-length 120 \
  --o-representative-sequences rep-seqs-deblur.qza \
  --o-table table-deblur.qza \
  --o-stats deblur-stats.qza

 
Feature表统计

qiime feature-table summarize \
  --i-table table.qza \
  --o-visualization table.qzv \
  --m-sample-metadata-file sample-metadata.tsv
qiime tools view table.qzv

 
代表序列统计

qiime feature-table tabulate-seqs \
  --i-data rep-seqs.qza \
  --o-visualization rep-seqs.qzv
qiime tools view rep-seqs.qzv

 
建树:用于多样性分析

# 多序列比对
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多样性
读者思考时间:下面多样性分析,需要基于标准化的OTU表,标准化采用重抽样至序列一致,如何设计样品重抽样深度参数。–p-sampling-depth
 
如是数据量都很大,选最小的即可。如果有个别数据量非常小,去除最小值再选最小值。比如此分析最小值为917,我们选择1080深度重抽样,即保留了大部分样品用于分析,又去除了数据量过低的异常值。
注:本示例为454时代的测序,数据量很小。现在一般采用HiSeq PE250测序,数据量都非常大,通常可以采用3万或5万的标准筛选,仍可保留90%以上样本。过低或过高一般结果也会异常,不建议放在一起分析。
# 计算多样性(包括所有常用的Alpha和Beta多样性方法),输入有根树、Feature表、样本重采样深度(一般为最小样本数据量,或覆盖绝大多数样品的数据量)

qiime diversity core-metrics \
  --i-phylogeny rooted-tree.qza \
  --i-table table.qza \
  --p-sampling-depth 1080 \
  --output-dir core-metrics-results

# 输出结果包括多种多样性结果,文件列表和解释如下:
# beta多样性bray_curtis距离矩阵 bray_curtis_distance_matrix.qza 
# alpha多样性evenness(均匀度,考虑物种和丰度)指数 evenness_vector.qza
# alpha多样性faith_pd(考虑物种间进化关系)指数 faith_pd_vector.qza
# beta多样性jaccard距离矩阵 jaccard_distance_matrix.qza
# alpha多样性observed_otus(OTU数量)指数 observed_otus_vector.qza
# alpha多样性香农熵(考虑物种和丰度)指数 shannon_vector.qza
# beta多样性unweighted_unifrac距离矩阵,不考虑丰度 unweighted_unifrac_distance_matrix.qza
# beta多样性unweighted_unifrac距离矩阵,考虑丰度 weighted_unifrac_distance_matrix.qza
 
# faith_pd算法统计Alpha多样性组间差异是否显著,输入多样性值、实验设计,输出统计结果

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

 
# 统计evenness组间差异是否显著

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

 
# 网页展示结果,只要是qzv的文件,均可用qiime tools view查看或在线https://view.qiime2.org/查看,以后不再赘述

qiime tools view core-metrics-results/evenness-group-significance.qzv

读者思考时间:实验设计中的那一种分组方法,与微生物群体的丰富度差异相关,这些差异显著吗?
 
解答:图中可按Catalogy选择分类方法,查看不同分组下箱线图间的分布与差别。图形下面的表格,详细详述组间比较的显著性和假阳性率统计。
结果我们会看到本实验设计的分组方式有Bodysite, Subject, ReportAntibioticUse,只有身体位置各组间差异明显,且下面统计结果也存在很多组间的显著性差异
 
Beta多样性
# 按BodySite分组,统计unweighted_unifrace距离的组间是否有显著差异

qiime diversity beta-group-significance \
  --i-distance-matrix core-metrics-results/unweighted_unifrac_distance_matrix.qza \
  --m-metadata-file sample-metadata.tsv \
  --m-metadata-category BodySite \
  --o-visualization core-metrics-results/unweighted-unifrac-body-site-significance.qzv \
  --p-pairwise

 
# 按Subject分组,统计unweighted_unifrace距离的组间是否有显著差异

qiime diversity beta-group-significance \
  --i-distance-matrix core-metrics-results/unweighted_unifrac_distance_matrix.qza \
  --m-metadata-file sample-metadata.tsv \
  --m-metadata-category Subject \
  --o-visualization core-metrics-results/unweighted-unifrac-subject-group-significance.qzv \
  --p-pairwise

 
# 可视化三维展示unweighted-unifrac的主坐标轴分析

qiime emperor plot \
  --i-pcoa core-metrics-results/unweighted_unifrac_pcoa_results.qza \
  --m-metadata-file sample-metadata.tsv \
  --p-custom-axis DaysSinceExperimentStart \
  --o-visualization core-metrics-results/unweighted-unifrac-emperor.qzv

 
# 可视化三维展示bray-curtis的主坐标轴分析

qiime emperor plot \
  --i-pcoa core-metrics-results/bray_curtis_pcoa_results.qza \
  --m-metadata-file sample-metadata.tsv \
  --p-custom-axis DaysSinceExperimentStart \
  --o-visualization core-metrics-results/bray-curtis-emperor.qzv

 
# 网页展示结果,或下载在线查看

qiime tools view core-metrics-results/bray-curtis-emperor.qzv

读者思考时间:按subject分组有显著区别吗?按body-site分组有显著区别吗?那些body-site组间存在区别?
按其它距离计算的结果,读者可以仔细看看不同距离矩阵计算结果的区别。个人感觉,一般比较好解释科学问题的方法就是适合的方法
 
物种分类
# 下载物种注释

wget -O gg-13-8-99-515-806-nb-classifier.qza https://data.qiime2.org/2017.6/common/gg-13-8-99-515-806-nb-classifier.qza

 
# 物种分类

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 taxa tabulate \
  --i-data 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

# 网页展示结果,或下载在线查看

qiime tools view taxa-bar-plots.qzv

读者思考时间1:代表序列文件rep-seqs.qzv可视化结果中,可以下载fasta文件采用NCBI进行blast注释物种信息,与我们目前的结果比较,看看有什么不同,各分类级别的注释定义的相似程度是什么? 
读者思考时间2:查看门水平(level2)分类结果柱状图,看每一类body-site中主要丰度的门类是什么?
 
差异丰度分析
差异丰度分析采用ANCOM (analysis of composition of microbiomes),是2015年发布在Microb Ecol Health Dis上的方法,文章称在微生物组方面更专业,但不接受零值(零在二代测序结果表中很常见)。我个人一直用edgeR,感觉靠谱,因为高通量测序本质上是相同的
 
差异Features/OTUs分析
# OTU表添加假count,因为ANCOM不允许有零

qiime composition add-pseudocount \
  --i-table table.qza \
  --o-composition-table comp-table.qza

 
# 采用ancon,按BodySite分组进行差异统计

qiime composition ancom \
  --i-table comp-table.qza \
  --m-metadata-file sample-metadata.tsv \
  --m-metadata-category BodySite \
  --o-visualization ancom-BodySite.qzv

 
# 查看结果

qiime tools view ancom-BodySite.qzv

读者思考时间:不同身体部分有那些Features存在丰度差异?那一组是最高或最低丰度?这此差异的Features属那些分类单元?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
差异分类学级别分析:以按门水平合并再统计差异
# 按门水平进行合并,统计各门的总reads

qiime taxa collapse \
  --i-table table.qza \
  --i-taxonomy taxonomy.qza \
  --p-level 2 \
  --o-collapsed-table table-l2.qza

 
# 同理去除零

qiime composition add-pseudocount \
  --i-table table-l2.qza \
  --o-composition-table comp-table-l2.qza

 
# 在门水平按取样部分分析

qiime composition ancom \
  --i-table comp-table-l2.qza \
  --m-metadata-file sample-metadata.tsv \
  --m-metadata-category BodySite \
  --o-visualization l2-ancom-BodySite.qzv

读者思考时间:不同身体部分有那些Features存在丰度差异?那一组是最高或最低丰度?这此差异的Features属那些分类单元? 
 
结果描述:结果的可视化(Visual)页面,一共分为三部分。
第一个表为ANCOM statistical results,只列出组间存在显著差异的门,其统计值W的计算及解释尚不清楚,查原始文章也没有找到。有待更新版中解释。
第二个表为各组的丰度分位数,就是箱线图的原始数据,为什么作者没有直接出图,我将与作者沟通讨论;目前可以比较各组的分布,来具体分析组间的差异,但不够直观;
统计各门类的火山图,坐标轴还没有详细解释,但其意思是越靠上越显著差异。此图采用Python的bokeh库生成的交互式图形,可以点击图中的点来查看具体的详细,如具体的分类学信息。相当于表1的可视化。
结果的网页还有其它页面,如peek页面可以查看此文件的基本信息,Provenance页面显示当前结果的生成过程图,点击过程中的点可以查看具体的程序和参数;链接按扭可以生成共享链接;下载按扭可以下载原始文件。

扩增子分析QIIME2-4分析实战Moving Pictures的更多相关文章

  1. 扩增子分析QIIME2. 1简介和安装

    原网站:https://blog.csdn.net/woodcorpse/article/details/75103929 声明:本文为QIIME2官方帮助文档的中文版,由中科院遗传发育所刘永鑫博士翻 ...

  2. 常用 Java 静态代码分析工具的分析与比较

    常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基 本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代码分析工具 (Checkstyle,FindBu ...

  3. Memcached源代码分析 - Memcached源代码分析之消息回应(3)

    文章列表: <Memcached源代码分析 - Memcached源代码分析之基于Libevent的网络模型(1)> <Memcached源代码分析 - Memcached源代码分析 ...

  4. mysql 分析3使用分析sql 性能 show profiles ;

    show variables like '%profiling%';    查看状态  查看时间去哪了``` set  profiling=1;// 打开 show profiles;  查看执行过的 ...

  5. [转载] 常用 Java 静态代码分析工具的分析与比较

    转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...

  6. x264源代码简单分析:宏块分析(Analysis)部分-帧间宏块(Inter)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  7. x264源代码简单分析:宏块分析(Analysis)部分-帧内宏块(Intra)

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  8. loadrunner 结果分析-loadrunner结果分析

    结果分析-loadrunner结果分析 by:授客 QQ:1033553122 百度网盘分享链接: 烦请 复制一下网址到浏览器中打开,输入密码提取 链接: http://pan.baidu.com/s ...

  9. ⑥NuPlayer播放源码分析之DecoderBase分析

    NuPlayer播放源码分析之DecoderBase分析 [时间:2017-02] [状态:Open] [关键词:android,nuplayer,开源播放器,播放框架,DecoderBase,Med ...

  10. 【转载】常用 Java 静态代码分析工具的分析与比较

    摘自:http://www.oschina.net/question/129540_23043常用 Java 静态代码分析工具的分析与比较 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后 ...

随机推荐

  1. MySQL: 改变Homebrew安装MySQL/MariaDB的数据库文件目录

    1. brew install mariadb 2. mysql_install_db --verbose --user=$USER --basedir=/usr/local/Cellar/maria ...

  2. 未来 Web 设计的 7 大趋势

    1.手势代替点击 还记得曾经是怎样滚动网页的吗?将鼠标移到屏幕的右边缘,然后拖动古代称为"滚动栏"的玩意儿: 略微专业点的可能会使用鼠标滚轮,光标键或触控板,这已经率先于大多数的用 ...

  3. xul 创建一个按钮

    MDN Mozilla 产品与私有技术 Mozilla 私有技术 XUL Toolbars 添加工具栏按钮 (定制工具栏) 添加工具栏按钮 (定制工具栏) 在本文章中 创建一个 overlay 在工具 ...

  4. 01-S3C2440学习入门概念+环境搭建【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/54754812 一.心得: 这两年学过很多东西,有点杂,总感觉不够踏实,于是准备写 ...

  5. 关于OpenFileDialog的使用(转)

    OpenFileDialog控件有以下基本属性 InitialDirectory 对话框的初始目录 Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所 ...

  6. 直接使用FileSystem以标准输出格式显示hadoop文件系统中的文件

    package com.yoyosys.cebbank.bdap.service.mr; import java.io.IOException; import java.io.InputStream; ...

  7. kubernetes Traefik ingress配置详解

    理解Ingress 简单的说,ingress就是从kubernetes集群外访问集群的入口,将用户的URL请求转发到不同的service上.Ingress相当于nginx.apache等负载均衡方向代 ...

  8. PCB SQL SERVER 正则应用实例

    我们用过SQL SERVER的都知道,SQL SERVER它本身是不自带正则表达式的,因为没有,所以基本都没用过啊, 但我们在C#中对文本匹配用正则的方式处理非常好用,省得你写一堆代码实现匹配,多简洁 ...

  9. Ruby   离奇方法

    send https://ref.xaio.jp/ruby/classes/object/send find https://ref.xaio.jp/ruby/classes/enumerable/f ...

  10. JQuery 总结

     JQuery官方网站 http://jquery.com/ 1.JQuery概念 A.Jquery是一个优秀的Javascript框架.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器,jQu ...