生物信息学(3)——双序列比对之BLAST算法简介

生物信息学系列博客索引

生物信息学(1)——双序列比对之Needleman-Wunsch(NW)算法详解及C++实现
生物信息学(2)——双序列比对之Smith-Waterman(SW)算法详解
生物信息学(3)——双序列比对之BLAST算法简介
生物信息学(4)——多序列比对之CLUSTAL算法详解及C++实现
生物信息学(5)——基于CUDA的多序列比对并行算法的设计与代码实现
项目gitee地址,内附源码、论文等文档信息

1. BLAST算法简介

动态规划算法如生物信息学(1)生物信息学(2)两篇提到的NW与SW算法肯定能得到最优解(最优分为全局最优与局部最优),但是要计算一个庞大的得分矩阵。随着序列的增长,复杂度会平方级别的升高。因此,时间开销和空间开销就会很大。动态规划需要计算出(seq1+1)×(seq2+1)大小的矩阵,但绝大多数数字其实在回溯时是没有用到的,如果能够只计算最终回溯路径附近的一些单元的话,与整个矩阵全部算完,效果近似。

从一个局部来启发,找到一个方法贴近回溯路径,即找到大概会在什么地方匹配,然后顺着这个核心往两边拓展序列,这样比对就可以高效的进行,这就是BLAST算法的实现思想。

Blast算法的全称是(Basic Local Alignment Search Tool),中文叫做基本局部相似性比对搜索工具,在1990年由Altschul等人提出,其并不确保能找到最优解,但尽力在更短时间内找到足够好的解,算法有Seeding、Matching、Extending三个步骤。

2. BLAST三个步骤

(1) Seeding

需要把比对的序列(Query Sequence)按照一定长度拆分成多个连续’seed words’,通常来说对于蛋白质序列是以三个氨基酸为一个 seed word, DNA 碱基序 列以 11 个长度为一个 seed word,由 Query Sequence 转换为 seed word 过程如图 2-9。seed 的长度越小,最终的比对准确率就越高,所需要的时间也越长。例如 对于一个蛋白质序列 PQFEFG,设定 seed word 长度为 3,那么就可以依次形成 四个 seed word,分别为 PQF、QFE、FEF、EFG。
在这里插入图片描述

(2) Matching

将目标序列与参考序列进行索引,找到 seed 相同的地方,得到每个 seed word 在参考比对序列对应的位置,即找到本序列与目标数据库序列相似部分。

(3) Extending

拓展目标序列,拓展利用 SW 或者 NW 算法向两边延伸,拓展 seed word 长 度,直到得分低于设定阀值,获取到最长的序列,即为目标结果序列。拓展过程 如下图。有点抽象,不过大概意思差不多。
在这里插入图片描述
Blast 算法通过 Seeding-and-Extending 策略,如公式(2-7)与图 2-11 所示,能 极大的减小了时空复杂度,提高了算法运行的时间,是双序列比对效果最好的算 法之一。
在这里插入图片描述

3. 双序列比对算法总结

3.1 Needleman-Wunsch算法

创新的将动态规划的思想引入到生物信息学中,通过回溯特殊的得分矩阵,能有效的将两个序列进行全局比对,但是有巨大的时空复杂度。

3.2 Smith-Waterman算法

化简了Needleman-Wunsch算法得分矩阵的求得方式,杜绝负值的出现,简化计算过程,且通过回溯,能获取到序列比对的局部最优解。

3.3 BLAST算法

基于启发式思想的算法,通过通过Seeding-and-Extending策略,能极大的减小了时空复杂度,提高了算法运行的时间,是双序列比对效果最好的算法之一。

4. 奇怪的内容

BLAST其实是一个双序列比对工具,一直以算法称他,我解释为,此工具提供了一种解决问题的思路与方法。
BLAST主要用于对一条序列进行同源性分析,即测试这条序列应该是个什么序列,主要是将未知序列通过双序列比对,与数据库已经存在的大量序列进行两两比对,分析相似度,得出结论。
所以一条序列与很多条序列两两比对,依旧属于双序列比对的范畴。而下一篇要介绍的多序列比对算法CLUSTAL是多条序列一起比对,目的是观察整个基因家族的进化方向与遗传规律。

总结

如果有什么问题,请私信联系我或者在评论区留言
码字不易,若有帮助,给个关注和赞呗

在这里插入图片描述

  • 19
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
### 回答1: 生物信息学算法导论是一门研究如何利用算法和统计模型处理生物信息数据的学科,主要用于解决生物学上的问题。其解决方案可以从以下几个方面进行描述: 首先,生物信息学算法导论的解决方案可以包含对生物序列的分析和比较。通过建立合适的算法和模型,可以对DNA、RNA和蛋白质等生物序列进行测序、序列比对、基因组装和变异检测等分析工作,从而更好地理解生物体的遗传信息。 其次,生物信息学算法导论的解决方案还可以涉及到对生物网络和互作关系的研究。通过建立适当的算法和模型,可以分析生物体内的基因网络以及蛋白质之间的相互作用关系,从而揭示生物体内的信号传导、代谢通路和调控网络等重要信息。 此外,生物信息学算法导论的解决方案还可以应用于生物数据挖掘和大数据分析。通过应用机器学习、数据挖掘和统计学等方法,可以从大规模的生物数据集中挖掘出有价值的信息,并对生物进化、单细胞分析等问题进行深入研究。 最后,生物信息学算法导论的解决方案也可以涉及到生物数据库的构建和管理。通过设计合适的算法和模型,可以建立起适用于特定生物领域的数据库,并进行数据的存储、检索和分析,为生物学研究提供更好的支持。 总之,生物信息学算法导论的解决方案是在理论和实践中结合的结果,通过建立适当的算法和模型,应用于生物信息学研究领域,从而解决生物学上的问题,推动生物科学的发展。 ### 回答2: 生物信息学算法导论是一门研究生物信息学中各种算法的课程。在这门课程中,学生将学习到许多与生物学信息相关的算法,以解决各种生物学领域的问题。 在这门课程中,学生将学习到不同层次的算法,从基础的数据结构和算法开始,如字符串处理、图算法和动态规划等。然后,学生将应用这些算法来解决不同生物学问题,例如DNA序列比对、基因表达分析和蛋白质结构预测等。 生物信息学算法导论的课程目标是教会学生如何设计和分析生物学问题的算法,并教授他们如何实现和应用这些算法。通过这门课程,学生将了解不同类型的生物学数据以及常用的算法,以解决生物学中的实际问题。 该课程将涵盖以下几个主题: 1. DNA和蛋白质序列比对:学生将学习如何设计和实现算法来比对DNA和蛋白质序列,并了解序列比对的原理和应用。 2. 基因表达分析:学生将学习如何利用算法来分析基因表达数据,并了解如何识别不同基因在不同条件下的表达模式。 3. 蛋白质结构预测:学生将学习如何设计算法来预测蛋白质的三维结构,并了解蛋白质结构的重要性和相关的算法。 4. DNA测序与组装:学生将学习如何解决DNA测序和组装的算法问题,以及如何处理大规模的DNA测序数据。 通过学习生物信息学算法导论,学生将能够理解并应用生物信息学中的各种算法,为解决生物学中的实际问题提供有效的解决方案。这门课程将培养学生的算法设计和分析能力,并帮助他们在生物信息学领域取得突破性的研究成果。 ### 回答3: 生物信息学算法导论是一门研究生物领域中的信息学算法及其应用的课程。该课程主要包括了生物序列比对、基因组装、基因表达分析等多个方面的内容。 在生物序列比对方面,生物信息学算法导论介绍了一些常见的序列比对算法,如Smith-Waterman、Needleman-Wunsch和BLAST等。这些算法可以用于比对DNA序列、蛋白质序列等生物序列,从而找出它们之间的相似性和差异性。 在基因组装方面,生物信息学算法导论讨论了如何通过测序数据将碎片化的DNA序列组装成完整的基因组。这涉及到一些基因组装算法,如de Bruijn图、重叠图等。通过这些算法,可以提高基因组装的准确性和效率。 此外,生物信息学算法导论还介绍了基因表达分析领域中的一些关键算法。例如,差异表达基因的分析、基因网络的构建和功能预测等。这些算法可以用于深入理解基因的功能和相互作用,从而揭示生物体内的分子机制。 总之,生物信息学算法导论通过介绍多种信息学算法及其应用,旨在为生物学家和生物信息学研究者提供解决生物相关问题的工具和方法。通过学习这门课程,学生可以了解和掌握生物信息学领域中一些关键的算法和技术,为相关研究和应用提供支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大青儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值