专栏首页医学生物信息学生物信息学初识篇——第二章:序列比对(3)

生物信息学初识篇——第二章:序列比对(3)

生物信息学初识篇——第一章:生物数据库

生物信息学初识篇——第二章:序列比对(1)

生物信息学初识篇——第二章:序列比对(2)

七、BLAST比对

之前用EMBL的双序列比对工具做全局比对,虽然很快就出结果了,但至少也要经历一两秒钟的时间。而数据库中有几百万条序列,全部比对一遍,耗时太长。因此,我们需要快速的数据库相似性搜索工具。目前世界上广泛使用的就是 BLAST。它可以在尽可能准确的前提下,快速的从数据库中找到跟某一条序列相似的序列。BLAST 是 Basic Local Alignment Search Tool 的首字母缩写,直译过来就是基本局部比对搜索工具。BLAST 的基本原理很简单,要点是片段对的概念。所谓片段对是指两个给定序列中的一对子序列,它们的长度相等,且可以形成无空位的完全匹配。

BLAST 实际上是综合在一起的一组工具的统称,它不仅可用于直接对蛋白质序列数据库和核酸序列数据库进行搜索,而且可以将待搜索的核酸序列翻译成蛋白质序列后再进行搜索,或者反之,以提高搜索效率。因此BLAST可以分为BLASTp,BLASTn,BLASTx,tBLASTn和 tBLASTx(图2.38)。

BLASTp 也就是用蛋白质序列搜索蛋白质序列数据库,

BLASTn 是用核酸序列搜索核酸序列数据库。

BLASTx 是将核酸序列按6条链翻译成蛋白质序列后搜索蛋白质序列数据库。

tBLASTn 是用蛋白质序列搜核酸序列数据库,核酸数据库中的核酸序列要按6条链翻译成蛋白质序列后再被搜索。

tBLASTx是将核酸序列按 6 条链翻译成蛋白质序列后搜索核酸序列数据库,核酸数据库中的所有核酸序列也要按 6 条链翻译成的蛋白质序列后再被搜索。

图2.38 各种 BLAST 示意图

(一)、NCBI BLASTp

在 BLASTp 输入界面里(图2.39):1)输入待搜索的蛋白质序列,这条序列可以在示例文件 blast.fasta 里面找到。2)指定搜索跟输入序列哪部分相似的序列,如果空着就是全长搜索。3)给搜索任务起一个名字,如果输入的是 FASTA 格式的序列,那么在输入框里面点一下,序列的名字就会被自动识别出来。4)如果在 Align two or more sequences 前面打勾的话,可以同时提交多个 BLAST 任务。

图2.39 NCBI BLASTp 输入界面上半部分

在输入界面的下部(图2.40)选择:1)被搜索的数据库。我们看到,虽然是 NCBI 的 BLAST工具,可以选择的数据库却不只 NCBI 下属的数据库,还包括其他组织的数据库,比如 PDB,Swissprot。事实上,各大数据库网站的 BLAST 工具都可以实现跨平台搜索。我们这次用 NCBI的 BLAST 工具搜索 SwissProt 数据库。2)Organism 可以把搜索范围限定在某一特定物种内,或者排除某一物种。3)在算法选择这一栏里,有之前提到的三种不同的 BLAST 算法,标准BLAST,PSI-BLAST 和 PHI-BLAST。这一次我们先尝试标准 BLAST。所有参数设置完毕之后,点 BLAST。

图2.40 NCBI BLASTp 输入界面下半部分

图2.41是搜索结果。最上面是第一部分搜索任务描述部分。输入界面里设置的各种参数都会在这里列出。第二部分(Graphic Summary)是图形化搜索结果部分。在图形化搜索结果里,BLAST工具识别出输入序列的第 25 到第 170 个氨基酸这一段属于 TIR 蛋白质家族。这部分里彩色线条构成的图告诉我们,一共从数据库中找到 50 个 hits,也就是高分匹配片段。注意这些线代表的是 50 个高分匹配片段而不是 50 条序列。一个高分匹配片段有可能是一条全长的序列,也就是全长匹配,也有可能只是某条序列的一部分,也就是局部匹配。代表这些高分匹配片段的线拥有不同颜色和不同的长短。如果把鼠标放到某一条线上,可以看到这条匹配片段的具体信息,包括他所在序列的数据库编号,序列的名字,匹配得分,期望值 E 值。匹配得分在 200 以上的用红线表示,80 到 200 之间的用粉线,50 到 80 的绿线,40-50 的蓝线,40 以下的黑线,所以颜色反映的是匹配的好坏程度。如果某一个高分匹配片段和输入序列是从头到尾匹配,就是全长的线,比如最上面的三条红线。如果只匹配输入序列的一部分,则是一条短线,短线所在的位置就是与输入序列匹配的位置。第三部分(Descriptions)是这 50 个高分匹配片段所在序列的详细信息列表。每条序列都有一个匹配得分和覆盖度。这两项决定了第二部分彩图中每条线的颜色和长短。除了匹配得分和覆盖度,表中还列出了其他指标。尤为重要的是 E-value。E-value 也叫做期望值或 E值。E 值越接近零,说

图2.41 NCBI BLASTp 搜索结果

明输入序列与当前这条序列为同一条序列的可能性越大。第三部分的表就是根据 E 值由低到高排序的。随着 E 值增大,匹配得分是成反比逐渐降低的。但是一致度与 E 值并非完全成反比。BLAST 没有做双序列比对,为了提高速度,它牺牲了一定的准确度。表中的一致度,是 BLAST 搜索完成后,针对搜索到的这 50 条序列专门做双序列比对而得到的。BLAST 牺牲掉的准确度对高度相似的序列,也就是亲缘关系近的序列构成不了威胁,不会把它们落掉,但是对于那些只有一点点相似,也就是远源的序列,就有点麻烦了,它们很有可能被丢掉而没有被BLAST发现。

(二)、NCBI PSI-BLAST

为了提高速度,标准 BLAST 牺牲了一定的准确度,牺牲掉的准确度对高度相似的序列,也就是亲缘关系近的序列构成不了威胁,不会把它们落掉,但是对于那些只有一点点相似,也就是远源的序列,就有点麻烦了。它们很可能被落掉而没有被BLAST 发现。

要解决这个问题,可以用 PSI-BLAST。PSI-BLAST 可以搜罗出一个庞大的蛋白质家族,当然也包括标准 BLAST 不小心漏掉的那些远房亲戚。换言之,标准 BLAST 找到了直接认识的朋友,但朋友的朋友都丢掉了。PSI 是 Position-Specific Iterated 首字母缩写,中文是位点特异性迭代。PSI-BLAST 的特色是搜完一遍再搜一遍,且从第二次搜索开始,每次搜索前都利用上一次搜索到的结果创建一个位置特异权重矩阵以扩大本次搜索的范围。如此反复直至没有新的结果产生为止。位置特异权重矩阵(Position-Specific Scoring Matrix,简称 PSSM)是以矩阵的形式,统计一个多序列比对中,每个位置上不同残基出现的百分比。假设A的朋友只有B,B 朋友除A外还有C。如果输入序列的第一个位置是 A,那么在第一轮没有 PSSM辅助的情况下,只有第一个位置是 A 或 B 的序列被找到了。它们是图2.42-A 中所示的四条序列。根据这四条序列创建的 PSSM(图2.42-B)得知,第一个位置可以是 A,也可以是 B,那么在第二轮搜索中,除了 A 的朋友 B 之外,B 的朋友 C 也可以出现在第一个位置了。这样如此反复,我们就可以找到朋友的朋友了。

图2.42 位置特异权重矩阵

我们用 NCBI 的PSI-BLAST工具再次搜索图2.39中的序列,仍然在 SwissProt 数据库中搜索,算法选 PSI-BLAST(图2.43)。

图2.43 PSI-BLAST搜索

第一轮搜索结果(图2.44)和标准 BLAST 是一样的。略有不同的是,在第三部分(Descriptions)列表的最右侧多了两列。绿色标记的一列是将要为下一轮搜索创建 PSSM 所选择的序列,默认第一轮搜索到的序列都将用来创建 PSSM。红色标记的一列是已在本轮搜索中用来创建PSSM 的序列。因为是第一轮搜索,之前还没有搜索到任何序列,也就是第一轮的搜索过程中没有使用 PSSM,所以这一列都为空。接下来点“go”进行第二轮搜索。“go”左侧的输入框里可以指定列出搜索到的前多少条序列。因为 PSI-BLAST 无休止的一直做下去,也许会把数据库中的全部序列都找出来。

图2.44 NCBI PSI-BLAST 第一轮搜索结果

第二轮的搜索结果里(图2.45),红色标记的一列,也就是已在第二轮搜索中被用来创建PSSM 的序列,大部分都打勾了。但是,再往后面会看到有些标黄的序列没有打勾。这些没有打勾的标黄的序列就是在第二轮搜索中新找到的序列。它们将用于创建下一轮搜索使用的PSSM,但是在本轮搜索中,它们没有被用到,所以没有打勾。而没有标黄的这些打勾的序列,是在第一轮中就已经找到的序列。

仔细看一下这些新找到的序列,它们和输入序列之间的一致度其实并不比第一轮中找到的序列低。但是因为算法上的原因,它们被标准 BLAST 漏掉了。好在通过 PSI-BLAST,它们又被找回来了。

如果想要快速找到本轮搜索新找到的序列,也就是第一条标黄的序列,可以点击结果页面上方“skip to the first new sequence”链接(图2.46)。

图2.45 NCBI PSI-BLAST 第二轮搜索结果

图2.46 “skip to the first new sequence”链接

(三)、NCBI PHI-BLAST

PHI-BLAST 和 PSI-BLAST 不同,PSI-BLAST 是撒大网搜索,而 PHI-BLAST 则是精准搜索。PHI 是 Pattern-Hit Initiated 首字母缩写,中文是模式识别。PHI-BLAST 能找到与输入序列相似的并符合某种特征模式的蛋白质序列。模式 Pattern 是对特征的描述。比如发生 N 糖基化位点的序列都符合这样一个特定的模式:发生糖基化的天冬酰胺,后面一定紧跟一个脯氨酸以外的氨基酸,再紧跟丝氨酸或者苏氨酸,再紧跟一个脯氨酸以外的氨基酸。

特定模式可通过正则表达式来表述。所谓正则表达式就是这句话的一个简约的规范性字符书写法。发生 N 糖基化位点的序列符合的特定模式翻译成正则表达式为 N{P}[ST]{P}。其中,N 是天冬酰胺,P 是脯氨酸,S 是丝氨酸,T 是苏氨酸。{}代表除大括号里的氨基酸以外的任意氨基酸,[ ]代表中括号中的任意一个氨基酸。PHI-BLAST 可以根据给入的正则表达式对搜索到的相似序列进行模式匹配,符合正则表达式的才会被作为结果输出。

正则表达式,{ }代表除什么以外,[ ]代表其中之一,x 代表任意字母,(3,7)代表 3 到 7 个某字符。那么正则表达式{L}GEx[GAS][LIVM]x(3,7)的意思是,除 L 以外的任意一个字母,紧接 G,再紧接 E,再接一个任意字符,之后是 GAS 中的任意一个,再接 LIVM 中的任意一个,最后再接 3 到 7 个任意字符。这种序列特征模式可能代表某个翻译后修饰的发生位点,也可以代表一个酶的活性位点,或者一个蛋白质家族的结构域、功能域等有重要意义的地方。

在 NCBI BLAST 工具的输入页面,当算法选择了 PHI-BLAST 之后,会自动出现模式输入框(图 1)。输入正则表达式 S[IVFL]TPS(2)(含义为:一个 S 后面紧接 IVFL 中的任意一个字母,再接 T,再接 P,再接两个 S)。这次搜索找到的相似序列中,只有符合该模式的才会被作为结果返回。

图2.46 NCBI PHI-BLAST 输入界面

结果显示只有几条严格符合模式的序列被找到了(图2.47)。此外,PHI-BLAST 可以和PSI-BLAST 联合使用,以找到更多符合模式的远房亲戚们。

图2.47 NCBI PHI-BLAST 结果界面

(四)、其他 BLAST

除了前面三种BLAST,NCBI还开发了一个SMART-BLAST(聪明的 BLAST)。SMART-BLAST 可谓是标准 BLASTp 的简约强化版。操作极其简单,简单到只需要输入序列(图2.48)。

图2.48 NCBI SMART-BLAST 输入界面

SMART-BLAST 虽然操作简单,但返回的结果却并不简单(图2.49),它包括数据库中与输入序列最相似的三条序列,以及研究的最透彻的物种中可以展现一定进化关系的两条相似序列。图2.49中黄色的是你输入的序列,绿色的是研究的最好的模式物种中与你输入序列相似的序列。旁边还直接给出了这三条序列的系统发生树。总之,SMART-BLAST 可以帮你从一大堆结果中挑选出你最想要的。如果你很懒,或者你很茫然,可以试试这个聪明的 BLAST。

图2.49 NCBI SMART-BLAST 搜索结果

除了BLAST,还有其他的数据库相似性搜索工具,比如 WU-BLAST。WU 代表Washington University,它比 BLAST 更灵敏,在插入空位的算法上更灵活。再有 SSEARCH,它有点儿慢,但是比 BLAST 更准确。FASTA 也是一个搜索工具,它也是有点儿慢,但是对于 DNA 序列的比较比 BLAST 更准确,尤其适合短的序列。最早被 FASTA 使用的序列格式就叫 FASTA 格式,并沿用至今。

点击查看往期内容回顾

生物信息学初识篇——第一章:生物数据库

生物信息学初识篇——第二章:序列比对(1)

生物信息学初识篇——第二章:序列比对(2)

本文分享自微信公众号 - MedBioInfoCloud(MedBioInfoCloud),作者:DoubleHelix

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 生信中常见的数据文件格式

    前面我们介绍了各种测序技术的原理:illumina、Sanger、第三代和第四代测序技术原理,我们测序得到的是带有质量值的碱基序列fastq格式,参考基因组是f...

    DoubleHelix
  • 生物信息学初识篇——第二章:序列比对(4)

    多序列比对的定义很简单,两条以上的生物序列进行的全局比对就是多序列比对。为了看清楚每一列的保守情况和理化性质,通常会给多序列比对根据不同的原则赋予丰富的色彩。目...

    DoubleHelix
  • 生物信息学初识篇——第二章:序列比对(5)

    在 EMBL Clustal Omega 比对结果的 Result Summary 标签下有Jalview按钮。这个按钮可以快速启动 Jalview,但这里启动...

    DoubleHelix
  • (cljs/run-at (JSVM. :all) "细说函数")

    前言  作为一门函数式编程语言,深入了解函数的定义和使用自然是十分重要的事情,下面我们一起来学习吧! 3种基础定义方法 defn 定义语法 (defn name...

    ^_^肥仔John
  • (cljs/run-at (JSVM. :all) "细说函数")

    ^_^肥仔John
  • 腾讯云Centos安装jdk8

    河岸飞流
  • 数据分析在营销中的运用案例:用数据解决客户流失问题

    网上找到了一份电信流失的客户数据,主要包括客户基本信息表、客户通话情况表、话费方案表、客户是否流失标记表。

    沉默的白面书生
  • Docker,一个傲娇的男人

    额,尴尬!好吧,容我默默开始介绍自己!我的名字叫Docker,我在2013年的时候,就来到了这个世上!然而那会并没有多少人知道我,对此我哭的很伤心。甚至无数...

    乔戈里
  • 都9102年了,还不会Docker?10分钟带你从入门操作到实战上手

    Docker是一种OS虚拟化技术,是一个开源的应用容器引擎。它可以让开发者将应用打包到一个可移植的容器中,并且该容器可以运行在几乎所有linux系统中(Wind...

    Zack说码
  • Docker 删除&清理容器和镜像相关命令

    在 Docker 构建镜像过程产生的临时镜像,或者遗留下来的垃圾镜像,可以通过以下命令删除。

    雪梦科技

扫码关注云+社区

领取腾讯云代金券