本文来自“生信算法”公众号。
近年来,高通量测序技术的不断发展为基因组学带来了极大的变革,使得生物学家能够在碱基层面进行研究。目前,三代测序已经广泛地应用于基因研究中。常见的三代测序技术有单分子实时测序技术 SMRT(Single Molecule Real-Time)和纳米孔测序技术等。第三代测序技术采用了基于纳米孔的单分子读取技术,在核酸外切酶的作用下,将 DNA 分子以1次1个碱基的速度穿过小孔,从而将 DNA 的4个碱基 A、C、G、T 清楚地分离出来。这种技术不需要荧光标记物并且不需要进行聚合酶链式反应 PCR(Polymerase Chain Reaction)扩增,能直接并快速地读出 DNA,使大量重复实验成为可能。同时,与二代测序产生较短的测序片段不同,三代测序产生平均长度为 3k~1 Mbp 的 DNA 序列片段,又称为 reads,有利于解决 de novo 基因组装和结构变异分析中长期存在的问题。然而,由于测序技术的局限性,三代测序产生的 reads 具有很高的错误率(通常为15%~30%),这会影响测序数据分析的各个关键步骤,其中一个重要问题就是序列比对。
序列比对是生物信息学中重要的基础性问题之—。已有研究表明,序列比对能够解释人类种群之间的多样性,也可以解析导致疾病的基因组变异,并可以研究猿类和古人类基因的演化过程。基因序列比对的具体定义是利用相关算法将测序仪测出的 reads 比对到已知生物序列的参考库中,找出reads在基因组上最可能的起源位置,并根据比对结果判断序列间相似性以及相关的生物学特征。从计算的角度来看,由于三代测序reads错误率高,为NGS所创建的序列比对算法不能很好地直接应用到三代测序数据中。
之前本公众号已经介绍了三篇三代序列比对算法,分别为(点击下划线可打开):
-
BLASR(三代测序序列比对利器-BLASR,更小更快更方便)
-
rHAT(rHAT,国内首个三代序列比对算法)
-
minimap2(三代序列比对算法minimap2,就是快,快,快!)
今天给大家介绍的还是由rHAT团队开发的一款三代序列比对算法LAMSA,即由哈尔滨工业大学的王亚东教授实验室开发,2017年发表在Bioinformatics期刊上。博主作为一个算法开发者,自然需要仔细拜读。因此,本次简单介绍LAMSA算法的主要思想,希望对大家有所启发,可以用LAMSA来处理自己的序列。
LAMSA算法思想
LAMSA(Long Approximate Matches-based Split Aligner)算法主要包含三部分,如下图所示:a)首先是种子定位(在整个基因组中找到与待比对序列种子相似的区域),b)然后通过动态规划算法构建种子有向无环图,找到比对路径,c)最后针对不同情况的插入、删除、匹配等情况进行详细的序列比对,得到序列比对结果。

序列种子定位
首先看一下如何提取序列种子并找到其在基因组中的位置。LAMSA将待比对序列每隔 FI 长度提取 FL 长度的子片段(种子序列),然后利用短序列比对算法 GEM 在基因组中寻找与这些种子相似的比对片段,得到种子的比对信息,这样就可以根据比对结果查到每个种子序列在基因组中的位置。

序列比对路径构建
通过上面步骤可以得到种子序列在基因组中出现的位置,然后以种子为节点构建有向无环图, 运用动态规划算法对每个种子进行打分,选取得分较高的路径作为候选比对区域,如下图所示。

- 首先根据种子位置进行排列,黑色表示待比对序列的种子,蓝色表示在基因组中的位置(通过GEM比对软件得到)。
- 然后根据动态规划算法,类似于双序列比对中的打分过程。
- 最后选取得分较高的路径作为候选比对路径,其中绿色实线即时最后确定的待比对路径。
非种子区域比对
LAMSA主要的创新点在于对于非种子区域,分四种情况进行分析:(a)匹配(match)状态,(b)重复(duplication)状态,(c)删除(deletion)状态和(d)插入(insertion)状态,图下图所示。不同的状态根据相邻两个匹配的种子的位置信息进行判断。

结果比较
LAMSA算法在三组真实测试数据集与其他四种方法进行比较:BLASR、BWA-MEM、BWA-MEM和YAHA。如下图所示,可以看出rHAT方法在比对碱基数、比对时间均有改善。希望可以对序列分析者有所帮助。详细的比对结果大家可以参考其原文。
代码下载地址:
https://github.com/hitbc/LAMSA
原文链接:
https://academic.oup.com/bioinformatics/article/33/2/192/2525703?login=true
参考文献:
- Liu B, Gao Y, Wang Y. LAMSA: fast split read alignment with long approximate matches. Bioinformatics, 2017, 33(2): 192-201.