wbb121的个人博客分享 http://blog.sciencenet.cn/u/wbb121

博文

使用QIIME分析微生物群落的16S rRNA序列(fasta格式序列)

已有 16871 次阅读 2018-5-26 19:02 |个人分类:生物统计软件|系统分类:科研笔记| QIIME, OTU, 16S rRNA

参考文章    Kuczynski J, Stombaugh J, Walters W A, et al. Using QIIME to analyze 16S rRNA gene sequences from Microbial Communities[J]. Current protocols in bioinformatics / editoral board, Andreas D. Baxevanis. [et al.], 2011, Chapter 10:Unit 10.7.

以及 http://qiime.org/tutorials/tutorial.html

        https://forum.qiime2.org/t/qiime2-chinese-manual/838


        QIIME是一种执行微生物群落分析的软件应用程序。它是Quantitative Insights In Microbial Ecology的缩写,已被用于分析和解释来自真菌,病毒,细菌和古菌群落的核酸序列数据。


Unit Introduction

        标准QIIME分析从一种或多种测序技术(例如Sanger,Roche / 454,Illumina或其他)的序列数据开始。使用QIIME分析微生物群落的数据包括在终端窗口中输入一系列命令,然后查看图形和文本输出。使用Linux风格的命令行界面(即命令有一些相当基本的了解 cd, ls以及使用制表符完成的)是有用的,但并不是必需的。

        我们用一个从小鼠肠道微生物群落对空腹的反应研究中得到的数据作为例子,而不是用一般术语列出分析步骤。为了使这个例子在个人计算机上快速运行,我们使用由控制随意饮食饲养的5只动物产生的数据的一个子集,并且4只动物在处死前24小时禁食。在基本操作完成后,我们比较了对照组与禁食动物的群落结构,特别是,我们比较了禁食小鼠和非禁食小鼠的微生物群落的分类学特征,观察样品内多样性指标的差异,在各组之间进行比较,并进行比较聚类分析以查找样本中的总体差异。


下载数据

        可在ftp://ftp.microbiome/pub/qiime-files/qiime_overview_tutorial.zip下载,或者在附件中下载。

文件的说明如下:

  • .fna文件:这是454机器生成的FASTA文件。

  • .qual文件:这是454机器生成的质量得分文件,其中包含FASTA文件中每个序列的基准得分。

  • tsv.txt文件:映射文件由用户生成。该文件包含执行数据分析所需的所有样本信息。具体要求见 http://qiime.org/documentation/file_formats.html#metadata-mapping-files。在此处我们使用映射文件Fasting_Map.txt


硬件要求

      安装 QIIME, 可以通过虚拟机安装,这是最简单的方法,见http://qiime.org/install/index.html


其他必要资源

        在比对16S DNA序列时使用的文件,可以在终端使用如下命令下载,或直接从附件中下载(core_set_aligned.fasta.imputed文件太大,附件无法上传,请自行下载)

wget http://greengenes.lbl.gov/Download/Sequence_Data/Fasta_data_files/core_set_aligned.fasta.imputed
wget http://greengenes.lbl.gov/Download/Sequence_Data/lanemask_in_1s_and_0s


预处理

        将目录设置为数据所在文件夹(此处需要个人做相应的修改)

cd /media/sf_E/alignment-free/16s_rRNA/OTU/qiime2/qiime_overview_tutorial


        检查映射文件,所用的命令为validate_mapping_file.py

validate_mapping_file.py  -m Fasting_Map.txt -o mapping_output

该模块会显示一条消息,指示映射文件中是否存在问题。错误和警告将输出到指定(-o)输出目录中的日志文件 。错误会导致后续脚本的致命问题,并且需要在继续下一步分析之前纠正。警告不会导致致命的问题,但鼓励解决这些问题,因为它们通常指示映射文件中的拼写错误,无效字符或将影响下游分析的其他意外错误。正确的 corrected_mapping.txt文件也在输出目录中,这是替换无效字符的映射文件的副本。


        基于核苷酸条码(nucleotide barcode)给样本分配multiplexed reads,这一步也完成了质量过滤,去除低质量或模糊的reads。所用的命令为split_libraries.py,这里我们采用默认参数,

split_libraries.py -m Fasting_Map.txt -f Fasting_Example.fna -q Fasting_Example.qual -o split_library_output

这一命令会在新目录split_library_output/中创建三个文件 :

split_library_log.txt:此文件包含分割摘要,包括每个样本检测到的reads的数量以及由于质量考虑而被删除的reads的简要摘要。

histograms.txt:这个制表符分隔的文件显示了拆分之前和之后以规则大小间隔reads的数目。

seqs.fna:这是一个FASTA格式的文件,每个序列根据它来自的样本进行重命名。标题行还包含FASTA输入文件中的read名称以及有关更正的条形码错误的信息。


Picking OTUs

注意若是在NCBI等网站上下载处理过的序列,直接在此处开始即可

        在这里运行pick_de_novo_otus.py,该工作流程会自动运行一系列其他脚本。该工作流程由以下步骤组成:

1.    根据读取内的序列相似性选择OTUs(pick_otus.py

2.    为每个OTU选择一个代表序列(pick_rep_set.py

3.    将分类标准分配给OTU代表序列(assign_taxonomy.py

4.    比对OTU代表序列(align_seqs.py

5.    比对过滤(filter_alignment.py

6.   构建系统发育树(make_phylogeny.py

7.    制作OTU表(make_otu_table.py


        使用split_libraries.py的输出(seqs.fna),运行以下命令:

pick_de_novo_otus.py -i ./split_library_output/seqs.fna -o otus


1.    根据读取内的序列相似性选择OTUs(pick_otus.py)

        在此步骤中,所有样本的所有序列将根据它们的序列相似性聚类为操作分类单元(OTU)。QIIME中的OTUs是序列的聚类,通常意在表示一定程度的分类学相关性。例如,当序列以97%的序列相似性聚类时,每个产生的聚类通常被认为代表一个物种。这种模式和目前采摘OTU的技术已知存在缺陷,然而,97%的OTUs与人类对许多微生物所称的物种不匹配。确定OTU应该如何定义以及它们代表什么是一个活跃的研究领域。见这里关于OTU与QIIME采摘的更多信息。

2.     为每个OTU选择一个代表序列(pick_rep_set.py)

        由于每个OTU可能由许多相关序列组成,因此我们将从每个OTU中选择一个代表序列用于下游分析。该代表性序列将用于OTU的分类学鉴定和系统发育比对。QIIME使用上面创建的OTU文件,并通过几种方法之一从fasta文件中提取代表序列。

        在otus/rep_set/目录中,QIIME有一个fasta文件seqs_rep_set.fasta,每个OTU包含一个代表序列。在此fasta文件中,序列已用OTU标识符重命名,并且标题行上的附加信息反映了用作代表的序列:

image.png

 3.     将分类标准分配给OTU代表序列(assign_taxonomy.py)

        接下来,分类将被分配给每个代表性序列。默认情况下,QIIME使用uclust共识分类法分类器来尝试将分类法分配给步骤2产生的每个代表性序列。

        在目录otus/uclust_assigned_taxonomy/中,会有一个日志文件和一个文本文件。文本文件(我们称之为观察或OTU元数据文件)包含每个OTU的一行,然后是分类指定,包含此分类指定的uclust命中分数以及找到的uclust命中数。对于一些OTU,分配可能与细菌种类一样具体,而其他分配可能根本不可分配(因此将被标记为未分配)。以下是观测元数据文件的前几行,其中包含uclust分类学分配的结果:

image.png









4.    比对OTU代表序列(align_seqs.py)

        只有在随后调用诸如UniFrac系统发育指标时,OTU代表序列和系统发生推断的对齐才是必要的。比对可以使用诸如MUSCLE之类的程序从头生成,也可以通过使用像PyNAST这样的工具与现有对齐进行对齐。对于小型研究,任何一种方法都是可行的。然而,对于涉及多个序列(大约超过1000个)的研究,重新校准器非常缓慢并且需要与PyNAST比对。由于比对是流水线中计算最密集的瓶颈之一,所以大型研究从这项任务的并行化中受益匪浅,这在PyNAST中是可能的。

        对齐序列后,将在./otus/pynast_aligned_seqs /目录中创建一个日志文件和一个比对文件。

5.    比对过滤(filter_alignment.py)

        在推断与序列有关的系统发育树之前,过滤序列比对以去除仅由缺口组成的列和已知过度变化的位置是有益的。QIIME默认使用16S对齐Lane mask(Lane,DJ 1991)。过滤后在目录./otus/pynast_aligned_seqs/中创建一个过滤的比对文件。

6.    构建系统发育树(make_phylogeny.py)

        使用目录./otus/pynast_aligned_seqs/中生成的已过滤的比对文件,使用树构建程序构建系统发育树。

        该Newick树格式文件写入rep_set.tre,位于./otus目录中。该文件可以在树形图可视化软件中查看,并且对于UniFrac多样性测量和其他系统发生分析是必要的。所获得的树可以用FigTree等程序可视化,该程序用于显示存储在rep_set.tre中的系统发育树:


7.    制作OTU表(make_otu_table.py)

        该步骤的结果是otu_table.biom,位于./otus/目录中。有关以BIOM格式存储的OTU表格格式的更多信息,请参阅http://biom-format.org/


        总结otu表,查看OTU表的摘要统计信息,使用如下命令:

biom summarize-table -i ./otus/otu_table.biom

总结表明,本教程示例中的序列相对较少,但所存在的序列在9个微生物群落中分布相当均匀:

Num samples: 9

Num observations: 419

Total count: 1337

Table density (fraction of non-zero values): 0.168


Counts/sample summary:

 Min: 146.0

 Max: 150.0

 Median: 149.000

 Mean: 148.556

 Std. dev.: 1.257

 Sample Metadata Categories: None provided

 Observation Metadata Categories: taxonomy


Counts/sample detail:

 PC.481: 146.0

 PC.355: 147.0

 PC.636: 148.0

 PC.607: 149.0

 PC.635: 149.0

 PC.593: 149.0

 PC.354: 149.0

 PC.634: 150.0

 PC.356: 150.0



(未完)

附件:Using QIIME to analyze 16s rRNA gene sequences from microbial communities.pdf

          qiime_overview_tutorial.zip       





https://blog.sciencenet.cn/blog-3388297-1115874.html

上一篇:Greengenes Database 13_5 介绍
下一篇:R语言中安装biom包,读取.biom文件
收藏 IP: 58.194.181.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-16 15:37

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部