以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 生物信息学 』   (http://bbs.xml.org.cn/list.asp?boardid=46)
----  一次数据库的搜索  (http://bbs.xml.org.cn/dispbbs.asp?boardid=46&rootid=&id=10344)


--  作者:admin
--  发布时间:9/23/2004 2:05:00 AM

--  一次数据库的搜索


一次数据库的搜索                      


发信人: palomino (~快马加鞭~), 信区: Bioinformatics
标  题: 一次数据库的搜索
发信站: 北大未名站 (2002年03月31日02:25:36 星期天), 转信

                      数据库的搜索简介

我们介绍了数据库查询的基本方法和常用的数据库查询系统。不言而喻,数据库查询为
生物学研究提供了一个重要工具,在实际工作中经常使用。然而,在分子生物学研究中
,对于新测定的碱基序列或由此翻译得到的氨基酸序列,往往需要通过数据库搜索,找
出具有一定相似性的同源序列,以推测该未知序列可能属于哪个基因家族,具有哪些生
物学功能。对于氨基酸序列来说,有可能找到已知三维结构的同源蛋白质而推测其可能
的空间结构。因此,数据库搜索与数据库查询一样,是生物信息学研究中的一个重要工
具。

弄清数据库搜索的基本概念,对于选择恰当的搜索算法和搜索程序,正确分析搜索结果
,都十分必要。数据库搜索的基础是序列的相似性比对,即双序列比对(pairwise
alignment)。为叙述方便,我们把新测定的、希望通过数据库搜索确定其性质或功能的
序列称作检测序列(probe sequence),而把通过数据库搜索得到的和检测序列具有一定
相似性的序列称目标序列(subject sequence)。为了确定检测序列和一个已知基因家族
之间的进化关系,在通过数据库搜索得到某些相似序列后,还需要判断其序列相似性程
度。如果检测序列和目标序列的相似性程度很低,还必须通过其它方法或实验手段才能
确定其是否属于同一基因家族

                           基本概念

这里简要介绍一下数据库搜索基于的基本概念和算法。

相似性和同源性

如上所述,数据库搜索的基础是序列的相似性比对,而寻找同源序列则是数据库搜索的
主要目的之一。所谓同源序列,简单地说,是指从某一共同祖先经趋异进化而形成的不
同序列。必须指出,相似性(similarity)和同源性(homology)是两个完全不同的概念。
相似性是指序列比对过程中用来描述检测序列和目标序列之间相同DNA碱基或氨基酸残基
顺序所占比例的高低。当相似程度高于50%时,比较容易推测检测序列和目标序列可能是
同源序列;而当相似性程度低于20%时,就难以确定或者根本无法确定其是否具有同源性
。总之,不能把相似性和同源性混为一谈。所谓“具有50%同源性”,或“这些序列高度
同源”等说法,都是不确切的,应该避免使用。

相似性概念的含义比较广泛,除了上面提到的两个序列之间相同碱基或残基所占比例外
,在蛋白质序列比对中,有时也指两个残基是否具有相似的特性,如侧链基团的大小、
电荷性、亲疏水性等。在序列比对中经常需要使用的氨基酸残基相似性分数矩阵,也使
用了相似性这一概念。此外,相似性概念还常常用于蛋白质空间结构和折叠方式的比较

局部相似性和整体相似性

序列比对的基本思想,是找出检测序列和目标序列的相似性。比对过程中需要在检测序
列或目标序列中引入空位,以表示插入或删除(图3.1)。序列比对的最终实现,必须依
赖于某个数学模型。不同的模型,可以从不同角度反映序列的特性,如结构、功能、进
化关系等。很难断定,一个模型一定比另一个模型好,也不能说某个比对结果一定正确
或一定错误,而只能说它们从某个角度反映了序列的生物学特性。此外,模型参数的不
同,也可能导致比对结果的不同。

序列比对的数学模型大体可以分为两类,一类从全长序列出发,考虑序列的整体相似性
,即整体比对;第二类考虑序列部分区域的相似性,即局部比对。局部相似性比对的生
物学基础是蛋白质功能位点往往是由较短的序列片段组成的,这些部位的序列具有相当
大的保守性,尽管在序列的其它部位可能有插入、删除或突变。此时,局部相似性比对
往往比整体比对具有更高的灵敏度,其结果更具生物学意义。

区分这两类相似性和这两种不同的比对方法,对于正确选择比对方法是十分重要的。应
该指出,在实际应用中,用整体比对方法企图找出只有局部相似性的两个序列之间的关
系,显然是徒劳的;而用局部比对得到的结果也不能说明这两个序列的三维结构或折叠
方式一定相同。BLAST和FastA等常用的数据库搜索程序均采用局部相似性比对的方法,
具有较快的运行速度,而基于整体相似性比对的数据库搜索程序则需要超级计算机或专
用计算机才能实现。

相似性分数矩阵

在对蛋白质数据库搜索时,可采用不同的相似性分数矩阵,以提高搜索的灵敏度和准确
率。常用的相似性矩阵有突变数据矩阵(Mutation Data Matrix,简称MD)和模块替换矩
阵(BLOcks Substitution Matrix,简称BLOSUM)。

在序列比对中,通常希望使用能够反映一个氨基酸发生改变的概率与两个氨基酸随机出
现的概率的比值的矩阵。这些比值可以用相关几率(relatedness odds)矩阵表示。这
就是突变数据相似性分数矩阵产生的基础,在序列比对过程中,两个序列从头到尾逐个
残基进行比对,所得几率值的乘积就是整个比对的分值。在实际使用时,通常取几率值
的对数以简化运算。因此,常用的突变数据矩阵PAM250实际上是几率值的对数矩阵(图3
.2)。矩阵中值大于0的元素所对应的两个残基之间发生突变的可能性较大,值小于0的
元素所对应的两个残基之间发生突变的可能性较小

突变数据矩阵PAM即可接受点突变(Point Accepted Mutation,简称 PAM)。1个PAM的进
化距离表示100个残基中发生一个残基突变的概率。对应于一个更大进化距离间隔的突变
概率矩阵,可以通过对初始矩阵进行适当的数学处理得到[Dayhoff等,1978],如常用的
PAM250矩阵,PAM250相似性分数矩阵相当于在两个序列之间具有20%的残基匹配(图3.2)
。主对角线上分数值是指两个相同残基之间的相似性分数值,有些残基的分值较高,如
色氨酸W为17、半胱氨酸C为12,说明它们比较保守,不易突变;有的残基的分值较低,
如丝氨酸S、丙氨酸A、门冬酰氨N三种氨基酸均为2,这些氨基酸则比较容易突变。不同
氨基酸之间的分数值越高,它们之间的相似性越高,进化过程中容易发生互相突变,如
苯丙氨酸F和酪氨酸Y,它们之间的相似性分数值是7。而相似性分数值为负数的氨基酸之
间的相似性则较低,如甘氨酸和色氨酸之间为-7,它们在进化过程中不易发生互相突变
。此外,表中把理化性质相似的氨基酸按组排列在一起,如碱性氨基酸组氨酸H、精氨酸
R和赖氨酸K。

突变数据矩阵的产生基于相似性较高(通常为85%以上)的序列比对,那些进化距离较远
的矩阵(如PAM250)是从初始模型中推算出来而不是直接计算得到的,其准确率受到一
定限制。而序列分析的关键是检测进化距离较远的序列之间是否具有同源性,因此突变
数据矩阵在实际使用时存在着一定的局限性。

而模块替换矩阵BLOSUM则以序列片段为基础,它是基于蛋白质模块数据库BLOCKS,Henik
off夫妇(Henikoff和Henikoff,1992)从蛋白质模块数据库BLOCKS中找出一组替换矩阵
,用于解决序列的远距离相关。在构建矩阵过程中,通过设置最小相同残基数百分比将
序列片段整合在一起,以避免由于同一个残基对被重复计数而引入的任何潜在的偏差。
在每一片段中,计算出每个残基位置的平均贡献,使得整个片段可以有效地被看作为单
一序列。通过设置不同的百分比,产生了不同矩阵。由此,例如高于或等于80%相同的序
列组成的串可用于产生BLOSUM80矩阵(BlOcks SUbstitution Matrix 发音为blossom)
;那些有62%或以上相同的串用于产生BLOSUM62矩阵,依此类推。BLOSUM与BLOCKS对于同
样的序列比对产生的结果在局部有所不同,可能是一个认为不相似不可以替换而另一个
认为相似可以替换。必须说明,如果比对这两个序列高度相似,这些细微的差别对整个
序列比对结果的影响不大,但在序列比对的边界区可能产生显著影响,此时增强微弱信
号以探测远距离相关变得十分重要。

                           搜索实例

FastA和BLAST程序是目前最常用的基于局部相似性的数据库搜索程序,它们都基于查找
完全匹配的短小序列片段,并将它们延伸得到较长的相似性匹配。它们的优势在于可以
在普通的计算机系统上运行,而不必依赖计算机硬件系统而解决运行速度问题。

BLAST是目前常用的数据库搜索程序,它是Basic Local Alignment Search Tool的缩写
,意为“基本局部相似性比对搜索工具”[Altschul, 1990, 1997]。国际著名生物信息
中心都提供基于Web的BLAST服务器。BLAST程序之所以使用广泛,主要因为其运行速度比
FastA等其它数据库搜索程序快,而改进后的BLAST程序允许空位的插入。我们可以访问N
CBI的网站在线进行BLAST和FastA的搜索

BLAST搜索

BLAST算法本身很简单,它的基本要点是序列片段对(segment pair)的概念。所谓序列
片段对是指两个给定序列中的一对子序列,它们的长度相等,且可以形成无空位的完全
匹配。BLAST算法首先找出代查序列和目标序列间所有匹配程度超过一定阈值的序列片段
对,然后对具有一定长度的片段对根据给定的相似性阈值延伸,得到一定长度的相似性
片段,称高分值片段对(high-scoring pairs, HSPs)。这就是无空位的BLAST比对算法
的基础,也是BLAST输出结果的特征。

BLAST软件包实际上是综合在一起的一组程序,不仅可用于直接对蛋白质序列数据库和核
酸序列数据库进行搜索,而且可以将检测序列翻译成蛋白质或将数据库翻译成蛋白质后
再进行搜索,以提高搜索结果的灵敏度。位置特异性叠代BLAST
(Position-Specific Iterated BLAST,简称PSI-BLAST)则是对蛋白质序列数据库进行搜
索的改进,其主要思想是通过多次叠代找出最佳结果。具体做法是利用第一次搜索结果
构建位置特异性分数矩阵,并用于第二次的搜索,第二次搜索结果用于第三次搜索,依
此类推,直到找出最佳搜索结果。此外,BLAST不仅可用于检测序列对数据库的搜索,还
可用于两个序列之间的比对。


程序名
检测序列
数据库类型
方 法

Blastp
蛋白质
蛋白质
用检测序列蛋白质搜索蛋白质序列数据库

Blastn
核酸
核酸
用检测序列核酸搜索核酸序列数据库

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

Tblastn
蛋白质
核酸
用检测序列蛋白质搜索由核酸序列数据库按6条链翻译成的蛋白质序列数据库

Tblastx
核酸
核酸
将核酸序列按6条链翻译成蛋白质序列后搜索由核酸序列数据库按6条链翻译成的蛋白质
序列数据库

BLAST程序是免费软件,可以从美国国家生物技术信息中心NCBI等文件下载服务器上获得
,安装在本地计算机上,包括UNIX系统和WINDOWS系统的各种版本。但必须有BLAST格式
的数据库,可以从NCBI下载,也可以利用该系统提供的格式转换工具由其它格式的核酸
或蛋白质序列数据库经转换后得到。对核酸序列数据库而言,不论用哪种方式,都需要
很大的磁盘空间;而程序运行时,需要有较大的内存和较快的运算速度,因此必须使用
高性能的服务器。对一般用户来说,目前常用的办法是通过NCBI、EBI等国际著名生物信
息中心的BLAST服务器进行搜索。北京大学生物信息中心也提供了BLAST数据库搜索服务
。需要说明的是,各生物信息中心BLAST用户界面有所不同,所提供的数据库也可能不完
全相同,使用前最好先进行适当的选择。欧洲生物信息研究所BLAST服务器的用户界面
比较简洁,提供的数据库和参数很多,用户可以根据不同要求,选择不同的数据
库和各种参数。一般情况下,可以先按照系统给定的缺省参数进行初步搜索,对结果进
行分析后再适当调整参数,如改变相似性矩阵、增加或减少空位罚分值、调节检测序列
滑动窗口大小等。对于核酸序列数据库,一般选择重复序列屏蔽功能,而对于蛋白质序
列,特别是球蛋白,通常不必选择重复序列屏蔽功能。


FastA搜索

FastA算法是由Lipman和Pearson于1985年发表的(Lipman和Pearson,1985)。FastA的
基本思路是识别与代查序列相匹配的很短的序列片段,称为k-tuple。蛋白质序列数据库
搜索时,短片段的长度一般是1-2个残基长;DNA序列数据库搜索时,通常采用稍大点的
值,最多为6个碱基。通过比较两个序列中的短片段及其相对位置,可以构成一个动态规
划矩阵的对角线方向上的一些匹配片段。FastA程序采用渐进(heuristic approach)算
法将位于同一对角线上相互接近的短片段连接起来。也就是说,通过不匹配的残基将这
些匹配残基片段连接起来,以便得到较长的相似性片段。这就意味着,FastA输出结果中
允许出现不匹配残基。这和BLAST程序中的成对片段类似。如果匹配区域很多,FastA利
用动态规划算法在这些匹配区域间插入空位。

由FastA搜索产生的典型输出结果的第一行列出程序名称和版本号,以及该程序发表的杂
志。接下来列出所提交的序列,然后是所用参数和运行时间,紧跟这些一般信息的是数
据库搜索结果。首先列出搜索得到的目标序列简单说明,其数目可由用户定义。所列出
的目标序列的信息包括:序列所在数据库名称的缩写,目标序列的标识码、序列号和序
列名等部分信息。括号中标明匹配部分的残基数。紧接着是由程序计算得到的初始化和
优化后的分数值。最后一列是期望值即E值,用来判断比对结果的置信
度。接近于0的E值表明两序列的匹配不大可能是由随机因素造成的。

允许空位的 BLAST

如上所述,最初的BLAST程序只能用于无空位的比对。经验表明比对结果通常会出现一些
无空位但不连续的区域,不难想象,有些高分值片段对可以通过一些相似性较低且有空
位的片段连接起来,组成了一些更长的或许更具实际生物学意义的比对。基于上述思路
,BLAST算法经过改进允许空位插入(Altshul等,1997)。为缩短对数据库初始搜索的
时间,新的算法只找出一个最好的高分值片段,并以此为基础运用动态规划方法将这一
片段向两端延伸,最终产生的比对结果可能有空位插入。由于免去了查找所有高分值片
段对的步骤,新的算法比原算法快3倍。对BLAST算法的进一步扩充,可以考虑双序列比
对和多序列比对的有效结合,下一章将详细讨论具体算法。

位点特异性BLAST叠代搜索

位点特异性BLAST(Position-Specific Iterated BLAST,简称PSI-BLAST)叠代搜索(A
ltschul等,1997),是一种将双序列比对和多序列比对结合在一起的数据库搜索方法。
尽管以下事实已经基本得到认同:基于序列模式的数据库搜索灵敏度较高、特异性较好
,因而可以发现一些距离较远但却具有生物学意义的相似序列;它的不足之处也不能予
以忽视。除了需要大量的计算资源这一缺点外,对于搜索结果的分析解释常常相当困难
。这些制约因素限制了它的实际使用范围。PSI-BLAST的基本思路在于根据最初的搜索结
果,依照预先定义的相似性阈值将序列分成不同的组,构建一个位点特异性的序列谱,
并通过多次叠代不断改进这一序列谱以提高搜索的灵敏度。

和其它叠代算法一样,PSI-BLAS方法既有不少长处,也有它的弊病。例如,如果在比对
前不把胶原蛋白、同源多聚体等低复杂度的重复序列屏蔽掉,自动叠代搜索过程会因为
这些重复序列的干扰而失败(Holm,1998)。假如第一轮的搜索结果出现一个错误序列
,那么最终搜索结果中将会出现许多不期望的无关序列。因此,为了尽量去除大量的错
误匹配,仔细分析搜索结果给出的同源关系变得非常重要。



--
    明天平凡而无情
    它很快变为今天;
    化为昨天,成为往日。
    不要等待明天,
    而应当,开创明天!

※ 来源:·北大未名站 bbs.pku.edu.cn·[FROM: 162.105.53.86]



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.012ms