跳转到内容

下一代测序 (NGS)/比对

来自维基教科书,开放的书籍,为开放的世界
下一代测序 (NGS)
预处理 比对 DNA 变异

比对,也称为映射[1]重新测序中的一个重要步骤。在对物种的某个个体进行测序并构建了参考序列后,对同一物种的更多个体进行重新测序,可以让我们看到这些个体与参考序列的遗传差异,以及它们彼此之间的遗传差异。对这些重新测序个体数据的比对是一种检测样本变异的相对简单的方法。在某些情况下(例如,测序样本中存在参考序列中未发现的新基因),仅通过比对无法检测到;然而,虽然其他方法(例如 从头组装)可能更强大,但它们也更难或对于某些生物而言,使用当前测序方法无法实现。

下一代测序通常产生短读长短读长对,这意味着长度小于 200 个碱基的短序列(与桑格测序的长读长相比,长读长覆盖约 1000 个碱基)。为了将测序样本的 DNA 与其参考序列进行比较,我们需要找到测序数据中每个读长在参考序列中的对应部分。这被称为将读长比对映射到参考序列。完成此操作后,我们可以寻找样本中的变异(例如 SNP)。这带来了一些问题

  • 短读长没有位置信息,也就是说,我们不知道它们来自基因组的哪个部分;我们需要使用读长本身的序列来找到参考序列中的对应区域。
  • 参考序列可能很长(人类约 30 亿个碱基),找到匹配区域是一项艰巨的任务。
  • 由于我们的读长很短,参考序列中可能有多个同样可能的区域可以读取它们。这在重复区域尤其明显。
  • 如果我们只寻找与参考序列的完美匹配,我们永远不会看到任何变异。因此,我们需要在读长中允许一些错配和小的结构变异 (InDel)。
  • 任何测序技术都会产生错误。与“真实”变异类似,我们需要容忍读长中的一定程度的测序错误,并在以后将其与“真实”变异区分开来。
  • 我们需要对测序数据中数百万个读长中的每一个执行此操作。

短读长

[编辑 | 编辑源代码]

原始短读长通常以 (或可以转换为) 称为 FASTQ 的文件格式提供。[2] 它是一种纯文本格式,包含每个读长的序列和质量得分,其中每个单独的读长通常占据四行连续行

@Read_id_1
CTGATGTGCCGCCTCACTTCGGTGGT
+
@@@DDDDDH8<BAHG@BHGIHIII>(
@Read_id_2
TGATGTGCCGCCTCACTACGGTGGTG
+
FHHHHHJIJIJIJIIIJJIIJGIGII
@Read_id_3
...

这四行是

  1. 读长的名称/ID,前面是“@”。对于读长对,将有两个带有该名称的条目,它们位于同一个 FASTQ 文件或另一个 FASTQ 文件中。
  2. 读长的序列。
  3. 一个“+”号。在非常旧的 FASTQ 文件中,后面跟着第一行的读长名称。如今,这行仅出于历史原因向后兼容目的而存在。
  4. 第二行中碱基的质量得分。得分是由测序仪生成的,并以 ASCII (33+得分) 字符编码。该行应与第二行具有相同的长度,因为每个碱基有一个质量得分。

对于 FASTQ 文件中的每个短读长,需要确定参考序列中的对应位置(或不存在这样的区域)。这是通过将读长的序列与参考序列的序列进行比较来实现的。映射算法将尝试在参考序列中找到一个(希望是唯一的)位置,该位置与读长匹配,同时容忍一定数量的错配,以允许子序列变异检测。比对(映射)到参考序列的读长将如下所示

GCTGATGTGCCGCCTCACTTCGGTGGTGAGGTG  Reference sequence
 CTGATGTGCCGCCTCACTTCGGTGGT        Short read 1
  TGATGTGCCGCCTCACTACGGTGGTG       Short read 2
   GATGTGCCGCCTCACTTCGGTGGTGA      Short read 3
GCTGATGTGCCGCCTCACTACGGTG          Short read 4
GCTGATGTGCCGCCTCACTACGGTG          Short read 5

您可以在顶行看到参考序列,在下面堆叠了五个短读长;这被称为堆叠。虽然两个读长与参考序列完全匹配,但另外三个读长每个都显示一个错配,以红色突出显示(读长中的“A”,而不是参考序列中的“T”)。由于有多个读长在同一位置显示相同的差异,因此可以推断它是一个实际的遗传差异(点突变SNP),而不是测序错误或错误映射。

映射算法

[编辑 | 编辑源代码]

存在多种比对算法;您可以在下面 软件包 中找到一个(不完整的)列表。关于映射算法的一些说明

  • 参考序列、短读长或两者通常都会预先处理成索引形式,以便快速搜索。(参见 BWT)

错误来源

[编辑 | 编辑源代码]

比对中存在多种潜在的错误来源,包括(但不限于)

  • 聚合酶链式反应人工产物 (PCR 人工产物)。许多 NGS 方法涉及一个或多个 PCR 步骤。PCR 错误将显示为比对中的错配,尤其是早期 PCR 轮次的错误将显示在多个读长中,错误地表明样本中的遗传变异。一个相关的错误是PCR 重复,其中相同的读长对出现多次,歪曲比对中的覆盖率计算。
  • 测序错误。测序仪可能会进行错误的调用,无论是出于物理原因(例如,Illumina 载玻片上的油),还是由于测序 DNA 的特性(例如,同聚物)。由于测序错误通常是随机的,因此它们可以在变异调用过程中作为单一读长进行过滤。
  • 映射错误。映射算法可能将读长映射到参考序列中的错误位置。这通常发生在重复或其他低复杂度区域周围。

比对类型

[编辑 | 编辑源代码]

比对可用于不同的目的

  • 全基因组测序。这将是“默认”用途;对生物体的所有 DNA 进行测序,并将其映射到相应的参考序列,以找到遗传变异。
  • 外显子组测序。对于大型基因组(例如,人类),在测序之前捕获外显子组 DNA。这将以较低成本返回大多数基因的测序数据。
  • 转录组测序 (RNA-Seq)。对转录组的测序,即样本中存在的 RNA。这可以显示哪些基因在样本中被转录,并帮助微调基因注释(外显子边界等)。映射可以完成到完整参考序列或专门的“转录组参考”。
  • ChIP-Seq(蛋白质-DNA 相互作用).

SAM/BAM 格式

[编辑 | 编辑源代码]

SAM/BAM 格式已成为短读比对的事实上的标准格式。SAM[3] 是二进制压缩 BAM 格式的纯文本版本。它们可以通过同名的 samtools[4] 命令行工具相互转换。BAM(不包含比对位置数据)越来越多地用作包含短原始读数据的节省空间的 FASTQ 文件替代方案,所有当前比对软件都可以生成 SAM/BAM 作为输出格式。一旦处于 BAM 格式,文件就可以被索引,从而可以快速访问参考序列的任何区域。随后,使用 samtools 或其他软件,可以分析 BAM 文件(例如,用于质量控制),修改(删除 PCR 重复,局部重新比对,碱基质量重新计算),或用于调用变异,无论是小的(SNP,短 InDels)还是大的(反转,串联重复,缺失,易位)。BAM 文件可以使用 Artemis、ACT 或 LookSeq[5] 等工具进行可视化。最后但并非最不重要的是,BAM 格式的比对可以用于使用 ICORN[6] “变形”参考序列以对应短读数据;这对于获取样本的实际 DNA 序列或根据密切相关的物种构建新的参考序列很有用。

其他有用的 SAM/BAM 相关软件包括

SAM/BAM 工具示例

[edit | edit source]
  • 将 SAM 转换为 BAM 格式
    • samtools view -bS aln.sam > aln.bam
  • 根据参考序列上的位置对 BAM 文件进行排序
    • samtools sort aln.bam aln_sorted.bam
  • 索引 BAM 文件(可视化比对需要)
    • samtools index aln_sorted.bam aln_sorted.bai
  • 从 BAM 文件中提取标题信息
    • samtools view –h aln_sorted.bam > aln.sam
  • 从 BAM 文件生成 FASTQ 文件
    • bam2fastq -o aligned.fastq --no-unaligned aln.bam

软件包

[edit | edit source]
软件 类型 支持
技术
界面 备注
Partek 商业 全部 GUI
  • 免费试用
  • 易于使用,无需命令行
  • Illumina & Life Technologies、Ion Torrent 推荐的各种公开可用的比对器
  • 关于比对选择的指南
BWA[9] 免费软件 Illumina
SOLiD
454
命令行
  • SAM/BAM 输出符合 SAM 格式,包含已映射和未映射数据,易于解析
  • 未完全线程化。sampe 和 samse 只能利用 1 个 CPU。bwasw(454 更长的读数)可以完全线程化,尽管如此
  • 不如 Stampy 和 Novoalign 灵敏
  • 对于 70-100bp 的 Illumina 读数,BWA-MEM 可能比它表现更好。
Bowtie[10] 免费软件 Illumina
SOLiD
命令行
  • SeqAnswers 论坛 中讨论
  • 快速
  • 未报告映射质量
  • 不如 Stampy 和 Novoalign 灵敏
Stampy[11] 免费软件 Illumina 命令行
  • 速度和灵敏度的平衡
  • 即使使用 BWA 作为预映射器,也可能很慢
SHRiMP2 免费软件 Illumina 命令行
  • 比 BWA 灵敏度更高
  • 一步映射,无需对基因组进行索引
  • 如果参考序列较短,比对可能比 BWA 耗时更少,例如,将读数比对到目标区域
  • 如果将映射完成到大型基因组,比对速度很慢
TMAP 免费软件 IonTorrent 命令行
  • 使用一系列算法来平衡速度和灵敏度
SNP-o-matic[12] 免费软件 Illumina 命令行
  • 非常快,尤其是在基因组 <100mbp 时
  • 没有或有限的从头变异发现
  • 还可以作为基因分型器
CLC 工作站 商业 全部 GUI
  • 易于使用
  • 昂贵
  • 根据我们的数据集,比对是虚假的
  • 与 BWA 或 Bowtie 相比,比对速度根本不令人印象深刻(i7 860 + 16GB 内存,windows 2008 R2-64bit)
NextGenMap[13] 开源 Illumina、Ion Torrent 命令行 快速且准确。自适应于底层数据。对于高多态性具有鲁棒性
  • 易于使用
  • 快速且准确
  • 对 SNP 具有鲁棒性
  • 自适应于数据集。
Novoalign 多线程版本为商业版。单线程版本为免费版 Illumina 命令行 快速且准确。可能是截至 2013 年的最佳比对器。
GSMapper 商业 454 GUI /
SSAHA2 免费软件 454 命令行 对于所有能够映射的读数,快速且准确
BLAT 免费软件 454 命令行 不是为 NGS 数据设计的。
Mosaik 免费软件 全部 命令行 步骤繁琐。比对速度可能很慢。内存需求量大。
BWA-SW[14] 免费软件 454、IonTorrent 命令行
  • 对于长度从 70bp 到 1Mbp 的长序列。
  • 作者建议使用 BWA-MEM(最新的)而不是 BWA-SW。
BWA-MEM[15] 免费软件 454、IonTorrent 命令行
  • 对于长度从 70bp 到 1Mbp 的长序列。
  • BWA-SW 的较新版本,因此建议使用它而不是 BWA-SW。
  • 对于 70-100bp 的 Illumina 读数,可能比 BWA 表现更好。
  • 对于变异调用,可能比 Novoalign 表现更好 [16]
Bfast[17] 免费软件 SOLiD 命令行 对于大型 NGS 数据,比对速度可能太慢 [18]
Tophat[19] 免费软件 Illumina 命令行 仅转录组数据
Splicemap 免费软件 Illumina 命令行 仅转录组数据
MapSplice 免费软件 Illumina 命令行 仅转录组数据
AbMapper 免费软件 Illumina 命令行 仅转录组数据
ERNE-map (rNA)[20] 免费软件 Illumina 命令行
  • 灵敏且高效
  • 可以与独立的修剪模块(ERNE-filter)和特定于亚硫酸氢盐处理的读数比对程序(ERNE-bs5)配对 [21]
  • 处理有间隙的比对时很慢
mrsFAST-Ultra[22] 免费软件 Illumina 命令行/GUI
  • 完全灵敏度
  • 快速高效
  • 多线程

NGS 比对器的详尽列表在 HTS mapper 中维护

根据个人经验和流行度,以及关于性能的文献数据[23][24][25],关于何时使用哪种软件的简要介绍

  • 如果只考虑速度,请使用 bowtie。
  • BWA 速度稍慢,但更灵敏。
  • 如果需要灵敏度和特异性,请尝试 NextGenMap、Stampy、Novoalign 或 SHRiMP 2。

此外,还提出了一个框架(Teaser),可以在几分钟内自动对多个映射器进行基准测试。[26]

参考文献

[edit | edit source]
  1. Flicek, P.; Birney, E. (2009). "从序列读取中获取意义:比对和组装方法". 自然方法. 6 (11 Suppl): S6–S12. doi:10.1038/nmeth.1376. PMID 19844229.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  2. Cock, P.J.; Fields, C.J.; Goto, N.; Heuer, M.L.; Rice, P.M. (2010). "Sanger FASTQ 文件格式用于带有质量得分的序列,以及 Solexa/Illumina FASTQ 变体". 核酸研究. 38 (6): 1767–71. doi:10.1093/nar/gkp1137. PMC 2847217. PMID 20015970.{{cite journal}}: CS1 maint: PMC format (link) CS1 maint: multiple names: authors list (link)
  3. SAM/BAM 格式规范工作组 (2015 年 11 月 18 日). "序列比对/映射格式规范" (PDF). GitHub. p. 16. 检索于 2016 年 4 月 28 日.
  4. "Samtools 组织和代码库". GitHub. 检索于 2016 年 4 月 28 日.
  5. Manske, H.M.; Kwiatkowski, D.P. (2009). "LookSeq:一种基于浏览器的深度测序数据查看器". 基因组研究. 19 (11): 2125–2132. doi:10.1101/gr.093443.109. PMC 2775587. PMID 19679872.{{cite journal}}: CS1 maint: PMC format (link) CS1 maint: multiple names: authors list (link)
  6. "ICORN:参考核苷酸的迭代校正". SourceForge. 检索于 2016 年 4 月 28 日.
  7. Broad 研究所. "Picard". GitHub. 检索于 2016 年 4 月 28 日.
  8. Stein, L.D. (2016 年 2 月 12 日). "Bio-SamTools". CPAN. Perl.org. 检索于 2016 年 4 月 28 日.
  9. Li, H.; Durbin, R. (2009). "使用 Burrows-Wheeler 变换进行快速准确的短读比对". 生物信息学. 25 (14): 1754–1760. doi:10.1093/bioinformatics/btp324. PMC 2705234. PMID 19451168.{{cite journal}}: CS1 maint: PMC format (link) CS1 maint: multiple names: authors list (link)
  10. Langmead, B.; Trapnell, C.; Pop, M.; Salzberg, S.L. (2009). "超快且内存高效的将短DNA序列比对到人类基因组". 基因组生物学. 10 (3): R25. doi:10.1186/gb-2009-10-3-r25. PMC 2690996. PMID 19261174.{{cite journal}}: CS1 maint: PMC 格式 (链接) CS1 maint: 多个名称:作者列表 (链接)
  11. Lunter, G.; Goodson, M. (2011). "Stampy: 一种用于对Illumina序列读取进行敏感和快速映射的统计算法". 基因组研究. 21 (6): 936–939. doi:10.1101/gr.111120.110. PMC 3106326. PMID 20980556.{{cite journal}}: CS1 maint: PMC 格式 (链接) CS1 maint: 多个名称:作者列表 (链接)
  12. Manske, H.M.; Kwiatkowski, D.P. (2009). "SNP-o-matic". 生物信息学. 25 (18): 2434–2435. doi:10.1093/bioinformatics/btp403. PMC 2735664. PMID 19574284.{{cite journal}}: CS1 maint: PMC 格式 (链接) CS1 maint: 多个名称:作者列表 (链接)
  13. Cibiv. "NextGenMap". GitHub. 检索于 2016年4月28日.
  14. Li, H.; Durbin, R. (2010). "使用Burrows–Wheeler变换进行快速准确的长读比对". 生物信息学. 26 (5): 589–595. doi:10.1093/bioinformatics/btp698. PMC 2828108. PMID 20080505.{{cite journal}}: CS1 maint: PMC 格式 (链接) CS1 maint: 多个名称:作者列表 (链接)
  15. Li, H. (2013). "使用BWA-MEM比对序列读取、克隆序列和组装重叠群". 预印本: 1–3.
  16. Chapman, B. (2013年5月6日). "评估变异检测方法的框架:比对器和调用器的比较". 蓝领生物信息学. 检索于 2016年4月28日.
  17. Homer, N. "类似于Blat的快速准确搜索工具". SourceForge. 检索于 2016年4月28日.
  18. Koboldt, D. (2011年7月3日). "比对器". MassGenomics. 检索于 2016年4月28日.
  19. Kim, D.; Salzberg, S. (2016年2月23日). "TopHat". 约翰霍普金斯大学计算生物学中心. 检索于 2016年4月28日. {{cite web}}: 检查 |date= 中的日期值 (帮助)CS1 maint: 多个名称:作者列表 (链接)
  20. Vezzi, F.; Del Fabbro, C.; Tomescu, A.I.; Policriti, A. (2011). "rNA:一种快速准确的短读数值比对器". 生物信息学. 28 (1): 123–124. doi:10.1093/bioinformatics/btr617. PMID 22084252.{{cite journal}}: CS1 maint: 多个名称:作者列表 (链接)
  21. "欢迎使用ERNE 2!". SourceForge. 2014年9月29日. 检索于 2016年4月28日.
  22. Hach, F.; Sarrafi, I.; Hormozdiari, F.; Alkan, C.; Eichler, E.E.; Sahinalp, S.C. (2014). "mrsFAST-Ultra: A compact, SNP-aware mapper for high performance sequencing applications". Nucleic Acids Research. 42 (W1): W494–W500. doi:10.1093/nar/gku370. PMC 4086126. PMID 24810850.{{cite journal}}: CS1 maint: PMC format (link) CS1 maint: multiple names: authors list (link)
  23. Bao, S.; Jiang, R.; Kwan, W.; Wang, B.; Ma, X.; Song, Y.Q. (2011). "Evaluation of next-generation sequencing software in mapping and assembly". Journal of Human Genetics. 56 (6): 406–14. doi:10.1038/jhg.2011.43. PMID 21525877.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  24. Li, H. (19 November 2009). "NGS Alignment Programs". SourceForge. Retrieved 28 April 2016.
  25. Li, H. (19 November 2009). "NGS mapper ROC curves". SourceForge. Retrieved 28 April 2016.
  26. CIBIV (9 January 2016). "Teaser: A tool for fast personalized benchmarks and optimization of NGS read mapping". University of Vienna. Retrieved 28 April 2016.
华夏公益教科书