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

本网对Markdown排版支持较差,请跳转“宏基因组”公众号阅读;

image

写在前面

之前发布的《扩增子图表解读》系列,相信很多朋友都看过了(链接直达7月文章目录)

这些内容的初衷是写给本领域刚进实验室的学生读,加速大家对同行文章的解读能力。如果连同行的结果都看不懂,何谈对数据的理解,对科学问题的解释。希望刚入行的小伙伴多读高水平文章,配合我的解读,定能让理解上升一个层次。

《扩增子分析解读》系列文章介绍

扩增子分析是目前宏基因组研究中最常用的技术,由于微生物组受环境影响大,实验间重复较差,更需要更多的实验重复和分析技术来保证结果的准确性、可重复性。

本系统文章叫分析解读,即有详细的分析流程代码,又有本人对使用参数、备选参数意义的解读,可以让大部分零基础的人,更好的理解数据分析过程,并可亲自实践在自己的课题上,获得更好、更合理的实验结果。

16S扩增子测序数据主要来自HiSeq2500产出的双端各250 bp (PE250)数据,因为读长长且价格便宜(性价比高)。HiSeqX PE150和MiSeq PE300也比较常见,但PE150过短分辨率低,而PE300价格高且末端序列质量过低。此外454在之前研究较但设备已经停产,PacBio读长长可直接测序16S全长1.5kb代表未来的趋势。

本文采用目前最主流的扩增子测序数据类型HiSeq2500 PE250类型数据为例,结合目前主流方法QIIME+USearch定制的分析流程。本课程中所需的测序数据、实验设计和课程分析生成的中间文件,均可以直去百度云下载。链接:http://pan.baidu.com/s/1hs1PXcw 密码:y33d。

本课程代码的运行,至少需要Linux平台+安装QIIME1.9.1,我之前发布过三种安装QIIME的方法详见文章目录,总有一款适合你。

第二节. 提取barcode,样品拆分及质控,切除扩增引物

本节课程,需要完成扩增子分析解读1质控,实验设计,双端序列合并

先看一下扩增子分析的整体流程,从下向上逐层分析。
image

分析前准备
# 进入工作目录
cd example_PE250

上一节,我们拿到了双端数据,进行了质控、并对实验设计进行了填写和检查无误、最后将双端数据合并为单个文件进行下游分析。

接下来我们将序列末端的barcode标签切下来,因为它们是人为添长的不属于实验对象;再根据标签序列与实验设计文件比对,对每条序列属于每个样品进行分类;最后我们切除掉扩增使用的引物,因为每个序列均一样,不切除反而容易引用错误。这样我们就获得了高质量的扩增区域数据,并且序列名称中包括了样品信息。

4. 提取barcode

为什么扩增子有barcode?
我以前做过sRNA-Seq, RNA-Seq, ChIP-Seq等等,都是一样文库一个样品,为什么没有用过barcode。
因为扩增子目前研究对象细菌、真菌多样性没有表达基因数量大,一般是几百到千的水平,对数据量要求最多10万条序列即可饭饱合。而Illumina测序仪的通量很高,采用Index来区分每个文库,仍然每个文库的数据量达到千万的级别,加上建库测序的成本也不会低于千元。对于扩增子动辄成百上千的样品即太贵,又浪费。因此将扩增子样本添加上barcode(标签),通常将48/60个样品混合在一起,构建一个测序文库,达到高通量测序大量样品同时降低实验成本的目的。

通常的测序仪下机数据,只经过Index比对,拆分成来自不同文库的数据文件,分发给用户。而扩增子的一个文库包括几十个样品,还区要通过每个样品上标记的特异Barcode进一步区分,再进行下游分析。

注:如果你是自己构建测序文库,这步需要用户手动拆分样品;如果是公司建库并测序,他们有样品的barcode信息,通常也会返给用户样品拆分后的数据,无需本节中的操作。但原理还是要理解,对整体分析的把握非常重要。

Barcode在扩增子的位置和类型?
image
Barcode位于引物的外侧,比较典型的有三种,上图展示的为最常用的barcode位于左端(上引物上游),此外还有右端和双端两类也比较常用。
本分析采用的数据类型为右端barcode。

extract_barcodes.py是QIIME中用于切除barcode的脚本,支持你所想到的所有类型。
-f参数为输入文件,即上文中合并双端数据后的文件;
-m为实验设计文件;
-o为输出切下的barcode的数据目录;
-c为barcode类型选择,目前的barcode_paired_stitched选择支持右端和双端类型,如果是左端类型,请改为barcode_single_end;
–bc1_len设置左端barcode的长度,按实验设计添写,本数据只有右端则为零;
–bc2_len设置右端barcode的长度,按实验设计添写,本数据只有右端为6,即长度为6bp,常用的还有8,10;
-a是使用实验设计中的引物来调整序列的方向,本实验的测序无方向,必须开此选项调整,有些公司的建库类型有方向,但开了总没错;
–rev_comp_bc2是将右端barcode取反向互补再与左端相连,建议打开,这样你的实验设计中barcode一栏直接将添写原始barcode即可,不用再考虑方向了;如果是双端则将两个barcode直接连起来填在barcode列,不用考虑方向。

# 提取barcode
extract_barcodes.py -f temp/PE250_join/fastqjoin.join.fastq \
    -m mappingfile.txt \
    -o temp/PE250_barcode \
    -c barcode_paired_stitched --bc1_len 0 --bc2_len 6 -a --rev_comp_bc2

这步任务会在输出目录temp/PE250_barcode中生成5个文件

barcodes.fastq # 切下来的barcode,用于后序拆分样品
barcodes_not_oriented.fastq # 方向不确定序列的barcode。连引物都不匹配,质量太差,建议不再使用
reads1_not_oriented.fastq # 方向不确定序列的序列,可能barcode切错方向。连引物都不匹配,质量太差,建议不再使用
reads2_not_oriented.fastq # 空文件
reads.fastq # 序列文件,与barcode对应,用于下游分析

更多说明建议阅读帮助 http://qiime.org/scripts/extract_barcodes.html

5. 质控及样品拆分

上步对序列方向进行了调整,并切开了barcode与扩增序列。下面使用split_libraries_fastq.py对混池根据barcode拆分样品,同时筛选质量大于20(即准确度99%)的序列进行下游分析。参数解释如下:
-i 输入序列文件;
-b 输入barcode文件,上步产生;
-m 实验设计,依赖样品barcode列表将序列重复命名
-q 测序质量阈值,20为99%准确率,30为99.9%准确
–min_per_read_length_fraction 最小高质量序列比例,0.75即只少有连序75%的碱基质量高于20
–max_barcode_errors barcode允许的碱基错配个数,0为不允许,即使修改通常也不允许,不信你试试
barcode_type调置barcode类型,默认为golay_12,并支持错配;我们通常添整数,为barcode的长度总和,本实验中添0+6=6。

# 质控及样品拆分
split_libraries_fastq.py -i temp/PE250_barcode/reads.fastq \
    -b temp/PE250_barcode/barcodes.fastq \
    -m mappingfile.txt \
    -o temp/PE250_split/ \
    -q 20 --max_bad_run_length 3 --min_per_read_length_fraction 0.75 --max_barcode_errors 0 --barcode_type 6

运行结果会输出三个文件

histograms.txt # 所有序列长度分布数据
seqs.fna # 质控并拆分后的数据,序列按样品编号为SampleID_0/1/2/3
split_library_log.txt # 日志文件,有基本统计信息和每个样品的数据量

更多说明建议阅读帮助 http://qiime.org/scripts/split_libraries_fastq.html

6. 切除引物序列

这里我们介绍一款高通量引物切除软件,cutadapt,2017-6-16最新版1.14;
https://pypi.python.org/pypi/cutadapt
此软件发2011年发布至今一直在更新,Google Scholar截止17年8月8日引用2263次。

Cutadapt 1.14下载和安装

# 下载,请尽量检查主页下载最新版源码
wget https://pypi.python.org/packages/16/e3/06b45eea35359833e7c6fac824b604f1551c2fc7ba0f2bd318d8dd883eb9/cutadapt-1.14.tar.gz
# 解压
tar xvzf cutadapt-1.14.tar.gz
# 进入程序目录
cd cutadapt-1.14/
# 安装在当前用户目录,不需管理员权限
python setup.py install --user

cutadapt切除双端引物及长度控制,参数详解:
-g 5’端引物
-a 3’端引物,需要将引物取反向互补
-e 引物匹配允许错误率,我调置0.15,一般引物20bp长允许3个错配,为了尽量把引物切干净
-m 最小序列长度,根据情况设置,本实验扩增V5-V7区,长度主要位于350-400,故去除长度小于300bp的序列,无经验可不填此参数
–discard-untrimmed 如果引物末切掉的序列直接放弃
seqs.fna 为输入文件
PE250_P5.fa 为输出文件

cutadapt -g AACMGGATTAGATACCCKG -a GGAAGGTGGGGATGACGT -e 0.15 -m 300 --discard-untrimmed temp/PE250_split/seqs.fna -o temp/PE250_P5.fa

程序运行结果会在屏幕上输出结果统计报告,如去接头比例、去掉过短序列比例等;还有去除引物的长度分布,看看有没有异常。如3’端序列没有取反向互补会无法去除19bp序列,而是几bp的错误序列。

Cutadapt结果报告

This is cutadapt 1.14 with Python 2.7.12
Command line parameters: -g AACMGGATTAGATACCCKG -a GGAAGGTGGGGATGACGT -e 0.15 -m 300 --discard-untrimmed temp/PE250_split/seqs.fna -o temp/PE250_P5.fa
Trimming 2 adapters with at most 15.0% errors in single-end mode ...
Finished in 41.03 s (32 us/read; 1.87 M reads/minute).

=== Summary ===

Total reads processed:               1,277,436
Reads with adapters:                 1,277,194 (100.0%)
Reads that were too short:               8,849 (0.7%)
Reads written (passing filters):     1,268,345 (99.3%)

Total basepairs processed:   522,379,897 bp
Total written (filtered):    495,607,409 bp (94.9%)

=== Adapter 1 ===

Sequence: GGAAGGTGGGGATGACGT; Type: regular 3'; Length: 18; Trimmed: 202757 times.

No. of allowed errors:
0-5 bp: 0; 6-12 bp: 1; 13-18 bp: 2

Bases preceding removed adapters:
  A: 96.3%
  C: 1.5%
  G: 0.8%
  T: 1.3%
  none/other: 0.0%
WARNING:
    The adapter is preceded by "A" extremely often.
    The provided adapter sequence may be incomplete.
    To fix the problem, add "A" to the beginning of the adapter sequence.

Overview of removed sequences
length  count   expect  max.err error counts
3   3   19959.9 0   3
4   4   4990.0  0   4
6   2   311.9   0   2
8   1   19.5    1   1
11  1   0.3 1   1
13  1   0.0 1   1
15  9   0.0 2   9
17  42  0.0 2   42
18  202626  0.0 2   202626
19  56  0.0 2   56
20  1   0.0 2   1
21  1   0.0 2   1
32  1   0.0 2   1
38  1   0.0 2   1
39  1   0.0 2   1
41  1   0.0 2   1
309 2   0.0 2   2
310 1   0.0 2   1
311 3   0.0 2   3

=== Adapter 2 ===

Sequence: AACMGGATTAGATACCCKG; Type: regular 5'; Length: 19; Trimmed: 1074437 times.

No. of allowed errors:
0-5 bp: 0; 6-12 bp: 1; 13-19 bp: 2

Overview of removed sequences
length  count   expect  max.err error counts
3   2   19959.9 0   2
7   1   78.0    1   0 1
8   2   19.5    1   1 1
10  6   1.2 1   4 2
11  1   0.3 1   1
12  3   0.1 1   2 1
13  5   0.0 1   3 2
14  24  0.0 2   17 7
15  51  0.0 2   32 14 5
16  71  0.0 2   56 12 3
17  134 0.0 2   92 30 12
18  327 0.0 2   189 117 21
19  1059175 0.0 2   1056863 2069 243
20  13846   0.0 2   1817 10955 1074
21  744 0.0 2   5 10 729
22  1   0.0 2   1
23  2   0.0 2   2
24  1   0.0 2   1
25  2   0.0 2   2
27  5   0.0 2   5
28  2   0.0 2   2
29  2   0.0 2   2
30  1   0.0 2   1
31  2   0.0 2   2
32  10  0.0 2   10
49  1   0.0 2   1
51  1   0.0 2   1
166 1   0.0 2   1
291 6   0.0 2   6
401 2   0.0 2   2
409 1   0.0 2   1
443 1   0.0 2   1
460 2   0.0 2   2
465 2   0.0 2   2

WARNING:
    One or more of your adapter sequences may be incomplete.
    Please see the detailed output above.

写在后面

今天先到这里,本文已经讲了三个程序的使用,够大家学习一会的了。要想了解这些程序的更多功能,一定要阅读程序的帮助全文,才能有更深入的理解。

下节预告:扩增子分析解读3去冗余,聚类,生成OTU表

(宏基因组7月文章目录,更多精彩等你读)

Reference

  1. http://qiime.org/scripts/index.html
  2. http://qiime.org/scripts/extract_barcodes.html
  3. http://qiime.org/scripts/split_libraries_fastq.html
  4. https://pypi.python.org/pypi/cutadapt

想了解更多16S/ITS/18S扩增子、宏基因组、宏转录组文献阅读和分析相关文章,快关注“宏基因组”公众号,干货第一时间推送。
image

系统学习生物信息,快关注“生信宝典”,那里有几千志同道合的小伙伴一起学习。
image

  • 1
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 扩增子分析流程是一种用于分析环境样品中微生物群落的方法,常用于研究微生物的多样性、结构和功能。QIIME 2是一款流行的用于扩增子分析的开源软件包,它提供了丰富的工具和流程来处理和分析扩增子数据。 QIIME 2的分析流程通常包括以下主要步骤: 1. 数据预处理:首先,需要对原始的扩增子测序数据进行质控和过滤,以去除低质量的序列和嵌入式引物。 2. 物种注释:对过滤后的序列进行比对,使用参考数据库(如Greengenes和Silva)进行物种注释,以确定每个序列的分类学归属。 3. 生成特征表:利用序列分类结果,将每个样品的序列计数编码到一个特征表中,该表记录了每个物种或OTU(操作分类单位)在每个样品中的相对丰度。 4. Alpha多样性分析:通过计算各个样品的Alpha多样性指数,如物种丰富度和均匀性指数,来评估样品内部的多样性。 5. Beta多样性分析:通过计算样品间的Beta多样性距离,如Bray-Curtis和Jaccard距离,来比较样品之间的微生物群落差异,并可视化为PCoA(主坐标分析)图。 6. 群落结构分析:使用各种统计方法,如ANOVA(方差分析)和PERMANOVA(多变量方差分析),来检测具有显著差异的物种或OTU,并识别对样品群落结构有影响的因素。 7. 功能预测:利用功能预测软件,如PICRUSt和Tax4Fun,根据扩增子数据中的物种注释信息,推断微生物群落的功能组成。 总之,QIIME 2是一种功能强大的工具,可以帮助研究人员从扩增子测序数据中获取丰富的信息和洞察力,并在微生物生态学、生物地球化学和医学等领域有着广泛的应用价值。 ### 回答2: QIIME2是一种用于从高通量测序数据中进行微生物群落分析的开源软件。扩增子分析流程是QIIME2中的一个重要模块,用于处理和分析扩增子测序数据扩增子分析流程主要分为以下几个步骤: 1. 数据准备:将测序生成的原始数据导入QIIME2,并进行质量控制和序列去噪。这一步骤包括对测序错误进行校正和剔除低质量序列。 2. 物种注释:通过比对序列数据库(如Greengenes或Silva)将序列注释为对应的物种或OTU(操作性分类单元)。这一步骤可以帮助了解样本中存在的微生物种类和丰度。 3. Alpha多样性分析:计算样本内的多样性指数,如Shannon指数和Simpson指数,用于评估微生物群落的多样性程度。该分析可以显示样本内微生物的丰富度和均匀性。 4. Beta多样性分析:计算样本间的多样性差异,并进行聚类分析或PCoA(主坐标分析)来展示样本间的相似性和差异性。这一步骤可以帮助分析群落结构的相似性和差异性。 5. 物种组成分析:通过计算不同样本间的物种组成差异,使用统计学方法(如ANOVA或PERMANOVA)来鉴定群落结构差异的显著性。这一步骤可以帮助了解不同条件下微生物群落的变化。 6. 功能预测:根据16S rRNA序列或ITS序列的相对保守性,通过推断出的物种信息,对微生物群落的功能进行预测,并探索样本中存在的功能差异。 通过上述步骤,扩增子分析流程可以帮助研究人员了解微生物群落的组成、丰度、多样性和功能,从而探索微生物与宿主或环境的相互作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值