blast搜索

最后发布时间 : 2025-03-24 13:24:07 浏览量 :

学习资料

blast的种类

blast的全称是Basic Local Alignment Search Tool,用于发现生物序列之间相似的区域。

生信小木屋

BLASTp 也就是用蛋白质序列搜索蛋白质序列数据库,
BLASTn 是用核酸序列搜索核酸序列数据库,这是最直接也是最常用的两种 BLAST。
BLASTx 是将核酸序列按 6 条链翻译成蛋白质序列后搜索蛋白质序列数据库。为什么是按 6 条链翻译?在无法得知翻译起始位点在情况下,翻译可能是从第一个碱基开始,三个三个的往后翻译,也可能是从第 2 个碱基开始,也可能从第 3 个碱基开始。另外还有可能是从这条链的互补链上开始,这样又有三个可能的开始位置,加起来一共会产生 6 条可能被翻译出来的蛋白质序列。这 6 条中有些是真实存在的,有些是不存在,但是谁真谁假我们无从知晓,所以 6 条序列都要到数据库中去搜索一下试试。接下来的问题是,既然是核酸序列,为什么不做 BLASTn 直接到核酸数据库里去搜索,而是要到蛋白质数据库里搜索呢?我们说这样做是有意义的,比如,从核酸序列数据库里找不到跟你手里这条核酸序列相似的序列,或找到了相似的序列但这些找到的序列无法提供有意义的注释信息。这时,就可以去蛋白质数据库试试,看看这条核酸序列的翻译产物能不能从蛋白质数据库里找到相似的序列以及有意义的注释信息。或者说,你不是想找跟你这条核酸序列相似的核酸序列,而是想找跟你这条核酸序列编码蛋白质相似的蛋白质序列,这时就要做 BLASTx。

反之,当你不是想找跟你手上这条蛋白质序列相似的蛋白质序列,而是想找跟编码这条蛋白质序列的核酸序列相似的核酸序列的时候,就要做 tBLASTn。tBLASTn 是用蛋白质序列搜核酸序列数据库,核酸数据库中的核酸序列要按 6 条链翻译成蛋白质序列后再被搜索。你可能要问了,核酸数据库里不是已经注释了某条核酸序列能够翻译成什么蛋白质序列吗?为什么还要把这些序列可能翻译出来的 6 条蛋白质序列都翻译出来搜索呢?我们说,你看到的是已经注释的,还有没注释的呢!就算是已经注释的,你看到的也只是已经研究出来的成果,还有没研究出来的呢!别忘了,基因可以重叠,注释上说某段 DNA 序列可以编码某个蛋白,但是可能某个未被发现的基因也用到了这段 DNA 序列。而你要搜索的这个蛋白质序列可能刚好就是这个未被发现的基因的翻译产物。这样就必须把核酸序列所有可能的翻译产物都翻译出来,才能搜索得到。

上述研究方法运用到极限就是 tBLASTx。它是将核酸序列按 6 条链翻译成蛋白质序列后搜索核酸序列数据库,核酸数据库中的所有核酸序列也要按 6 条链翻译成的蛋白质序列后再被搜索。这样用 BLASTn 搜不着的,用 tBLASTx 就能搜着了。

这三种需要先翻译再搜索的 BLAST 主要是用于对新发现的序列进行搜索。那些已经研究的很透彻的序列,用前两种 BLAST 就可以。图 1 是各种 BLAST 的示意图,可以更加清晰的帮你记忆,不同的 BLAST 是用什么序列搜索什么数据库。

除了按照搜索内容分类,BLAST 还可以根据搜索算法不同分为标准 BLAST,PSI-BLAST,和 PHI-BLAST 等。

blast原理

生信小木屋

BLAST 的基本原理很简单,要点是片段对的概念。所谓片段对是指两个给定序列中的一对子序列,它们的长度相等,且可以形成无空位的完全匹配。图 A 中方框里的就是两个片段对。BLAST 从头至尾将两条序列扫描一遍并找出所有片段对,并在允许的阈值范围内对片段对进行延伸,最终找出高分值片段对(high-scoring pairs, HSPs)(图 B)。这样的计算复杂度是 n 的一次方(n 是序列的长度)。如果做双序列比对话需要构建一个 n 乘以 n 的表格,计算复杂度是 n 的二次方。所以找高分值片段对比做双序列比对节省了大量的时间,当然,前提是牺牲了一定的准确度。

Database searching with DNA and protein sequences: An introduction

生信小木屋