激活qiime2的执行环境:source activate qiime2-2019.4
如何查看conda已有的环境:conda info -e 以下分析流程参考:https://docs.qiime2.org/2019.4/tutorials/qiime2-for-experienced-microbiome-researchers/

1、数据准备

现在我们常用的就是这种格式的数据,每个样品一对数据文件

数据来源:https://docs.qiime2.org/2019.7/tutorials/importing/

wget \
-O "casava-18-paired-end-demultiplexed.zip" \
"https://data.qiime2.org/2019.4/tutorials/importing/casava-18-paired-end-demultiplexed.zip" 下载解压后,文件夹中文件如下:

2、将数据转换为qza格式(qiime新定义的自己的格式类型,有点编程中对象的含义)

qiime tools import \
--type 'SampleData[PairedEndSequencesWithQuality]' \
--input-path casava-18-paired-end-demultiplexed \
--input-format CasavaOneEightSingleLanePerSampleDirFmt \
--output-path demux-paired-end.qza 3、查看数据质量
qiime demux summarize --i-data demux-paired-end.qza --o-visualization demux-summary-1.qzv
用以下命令查看结果:
qiime tools view demux-summary-1.qzv

4、双端序列合并成单端

qiime vsearch join-pairs --i-demultiplexed-seqs demux-paired-end.qza --o-joined-sequences demux-joinded.qza

5、查看对merge后的数据质量情况

qiime demux summarize --i-data demux-joinded.qza --o-visualization demux-summary-merged.qzv

qiime tools view demux-summary-merged.qzv

##### 以下是使用dada2进行数据去噪,本教程先跳过该步,之后有专门教程介绍dada2使用

4、对数据进行剪切

双端:
qiime dada2 denoise-paired \
--i-demultiplexed-seqs demux-paired-end.qza \
--p-trim-left-f 13 \
--p-trim-left-r 13 \
--p-trunc-len-f 150 \
--p-trunc-len-r 150 \
--o-table table.qza \
--o-representative-sequences rep-seqs.qza \
--o-denoising-stats denoising-stats.qza

单端:

qiime dada2 denoise-single \
--i-demultiplexed-seqs demux-joinded.qza \ #输入应该也是序列,不能是joined对象
--p-trim-left 13 \
--p-trunc-len 150 \
--o-table table.qza \
--o-representative-sequences rep-seqs-merged.qza \
--o-denoising-stats denoising-stats-merged.qza

https://forum.qiime2.org/t/demultiplexing-and-trimming-adapters-from-reads-with-q2-cutadapt/2313

以下参考:

https://blog.csdn.net/woodcorpse/article/details/86685524

https://mp.weixin.qq.com/s/6cLzyJjWQmHm82_U6euJ1g

5、序列质控

qiime quality-filter q-score-joined \
--i-demux demux-joinded.qza \
--o-filtered-sequences demux-joined-filtered.qza \
--o-filter-stats demux-joined-filter-stats.qza

输出结果:

  • demux-joined-filter-stats.qza: 统计结果
  • demux-joined-filtered.qza: 数据过滤后结果

6、用deblur去冗余,并生成特征表(相当于QIIME1的OTU Table)

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

输出结果:

  • rep-seqs.qza: 代表序列
  • deblur-stats.qza: 统计过程
  • table.qza: 特征表

备注:

由于DADA2和Deblur产生的“OTU”是通过对唯一序列进行分组而创建的,因此这些OTU相当于来自QIIME 1的100%相似度的OTU,通常称为序列变体。在QIIME 2中,这些OTU比QIIME 1默认的97%相似度聚类的OTU具有更高的分辨率,并且它们具有更高的质量,因为这些质量控制步骤比QIIME 1中实现更好。因此,与QIIME 1相比,可以对样本的多样性和分类组成进行更准确的估计。

7、查看deblur去冗余后的特征表

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

8、统计每个样品包含的序列数

qiime deblur visualize-stats \
  --i-deblur-stats deblur-stats.qza \
  --o-visualization deblur-stats.qzv

qiime tools view deblur-stats.qzv

9、构建进化树用于多样性分析

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

10、需要先准备一个metadata文件,文件说明参考:https://docs.qiime2.org/2019.7/tutorials/metadata/

11、计算核心多样性

qiime diversity core-metrics-phylogenetic \
  --i-phylogeny rooted-tree.qza \
  --i-table table.qza \
  --p-sampling-depth 500 \
  --m-metadata-file sample-metadata.tsv \
  --output-dir core-metrics-results

分析结果包含:

  • α多样性

    • 香农(Shannon’s)多样性指数(群落丰富度的定量度量,即包括丰富度richness和均匀度evenness两个层面)

    • Observed OTUs(群落丰富度的定性度量,只包括丰富度)

    • Faith’s系统发育多样性(包含特征之间的系统发育关系的群落丰富度的定性度量)

    • 均匀度(或 Pielou’s均匀度;群落均匀度的度量)

  • β多样性

    • Jaccard距离(群落差异的定性度量,即只考虑种类,不考虑丰度)

    • Bray-Curtis距离(群落差异的定量度量)

    • 非加权UniFrac距离(包含特征之间的系统发育关系的群落差异定性度量)

    • 加权UniFrac距离(包含特征之间的系统发育关系的群落差异定量度量)

β多样性分析结果-PCoA:

12、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

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

13、绘制稀疏曲线

qiime diversity alpha-rarefaction \
  --i-table table.qza \
  --i-phylogeny rooted-tree.qza \
  --p-max-depth 1000 \
  --m-metadata-file sample-metadata.tsv \
  --o-visualization alpha-rarefaction.qzv

--p-max-depth参数的值应该通过查看上面创建的table.qzv文件中呈现的“每个样本的测序量”信息来确定。一般来说,选择一个在中位数附近的值似乎很好用。

14、物种组成分析

下载物种注释数据库制作的分类器:

wget \
  -O "gg-13-8-99-515-806-nb-classifier.qza" \
  "https://data.qiime2.org/2018.11/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 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

QIIME2使用方法的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

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

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

  3. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  4. 【.net 深呼吸】细说CodeDom(6):方法参数

    本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...

  5. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  6. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  7. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  8. ArcGIS 10.0紧凑型切片读写方法

    首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...

  9. [BOT] 一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

随机推荐

  1. Spring Boot 整合 slf4j+log4j 实现日志管理

    一:首先新建一个jar项目,如下图: 二:添加log4j的依赖,如下pom.xml文件: <project xmlns="http://maven.apache.org/POM/4.0 ...

  2. ArrayList中删除null元素效率比较

    package test; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; i ...

  3. rest_framework框架下的Django声明和生命周期

    rest_framework框架下的Django声明和生命周期 Django声明周期(request) 客户端发起请求 请求经过wsgi wsgi: 是一个协议----web服务网关接口,即在web服 ...

  4. Windows远程桌面管理--功能强大的远程批量管理工具【转】

    曾经,我想着要是有一款绿色小巧,功能实用的远程桌面管理工具,其界面简洁,操作便捷,能够同时远程操作多台服务器,并且多台服务器间可以自由切换,适用于网站管理人员使用的工具该有多好,苍天不负有心人,终于出 ...

  5. 《Java开发学习大纲文档》V8.0

    <Java开发学习大纲文档>V8.0 第八版是以实战作为核心,同时也包含前面所有版本的精华部分,第八版加入的部分有云开发(阿里云OSS存储.(github)gitlab+docker网站自 ...

  6. 1032 挖掘机技术哪家强 (20 分)C语言

    题目描述 为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛.现请你根据比赛结果统计出技术最强的那个学校. 输入描述: 输入在第1行给出不超过105的正整数N,即参赛人数.随后N行,每 ...

  7. 手把手带你了解消息中间件(2)——RabbitMQ

    RabbitMQ官网: http://www.rabbitmq.com/ Erlang官网:https://www.erlang.org 友情提示:RabbitMQ基于Erlang语言开发的,要想使用 ...

  8. 浅谈Java三大特性之多态

    目录 一.前言 二.发生的条件 三.多态包含(或者说体现在)两个方面: 四.示例 感谢阅读 一.前言 这篇讲下三大特性之一的多态,可以通俗得去理解,多种形态,多种姿态... 那么在面向对象的程序设计中 ...

  9. MD5:js,java,C#三种语言加密结果不同解决办法

    最近遇到前端js MD5加密与后端C#与Java MD5加密结果不一致的问题,所以写个关于此问题的解决办法 前端js引用的md5类库,类库地址:https://blueimp.github.io/Ja ...

  10. vue 项目使用JSbrideg.js与app通信

    一.建立JSbrideg.js文件 var jsBridge = {     isAndroid: null,     isIOS: null,     callHandlerFunc: functi ...