生物序列的同源性搜索 -blast简介及其应用

Download Report

Transcript 生物序列的同源性搜索 -blast简介及其应用

生物序列的相似性搜索
-blast简介及其应用
2010年6月
科教信息科
生物信息学常见的应用与软件
序列数据的保存格式与相关数据库资源
在数据库中进行序列相似性搜索
多序列比对
进化树构建与分子进化分析
Motif的寻找与序列的模式识别
RNA二级结构,蛋白质二、三级结构的预测
基因芯片的数据分析
2
内容提要
1.基本概念
相似性,同源性
2.Blast介绍
Blast资源和相关问题
3.Blast的应用
网络版,单机版
4.深入了解Blast(改进程序,算法基础)
5.其他的序列相似性搜索工具(fasta)
3
生物序列的相似性
相似性(similarity):
是指一种很直接的数量关系,比如部
分相同或相似的百分比或其它一些合适
的度量。比如说,A序列和B序列的相似
性是80%,或者4/5。这是个量化的关
系。当然可进行自身局部比较。
4
生物序列的同源性
同源性(homology):
指从一些数据中推断出的两个基因或蛋
白质序列具而共同祖先的结论,属于质的
判断。就是说A和B的关系上,只有是同
源序列,或者非同源序列两种关系。而说
A和B的同源性为80%都是不科学的。
5
相似性和同源性关系
序列的相似性和序列的同源性有一定的关系,一
般来说序列间的相似性越高的话,它们是同源序
列的可能性就更高,所以经常可以通过序列的相
似性来推测序列是否同源。
正因为存在这样的关系,很多时候对序列的
相似性和同源性就没有做很明显的区分,造成经
常等价混用两个名词。所以有出现A序列和B序
列的同源性为80%一说。
6
序列相似性比较和序列同源性分析
序列相似性比较:
就是将待研究序列与DNA或蛋白质序列库进行比较,
用于确定该序列的生物属性,也就是找出与此序列相似
的已知序列是什么。完成这一工作只需要使用两两序列
比较算法。常用的程序包有BLAST、FASTA等;
序列同源性分析:
是将待研究序列加入到一组与之同源,但来自不同物种
的序列中进行多序列同时比较,以确定该序列与其它序
列间的同源性大小。这是理论分析方法中最关键的一步。
完成这一工作必须使用多序列比较算法。常用的程序包
有CLUSTAL等;
7
Blast简介(一)
BLAST 是由美国国立生物技术信息
中心(NCBI)开发的一个基于序列
相似性的数据库搜索程序。
BLAST是“局部相似性基本查询工
具”(Basic Local Alignment Search
Tool)的 缩写。
8
Blast简介(二)
Blast 是一个序列相似性搜索的程序包,
其中包含了很多个独立的程序,这些程序
是根据查询的对象和数据库的不同来定义
的。比如说查询的序列为核酸,查询数据
库亦为核酸序列数据库,那么就应该选择
blastn程序。
下表列出了主要的blast程序。
9
主要的blast程序
程序名
查询序列
数据库
搜索方法
Blastn
核酸
核酸
Blastp
蛋白质
蛋白质
蛋白质序列搜索逐一蛋白质数据库中的序
列
Blastx
核酸
蛋白质
核酸序列6框翻译成蛋白质序列后和蛋白
质数据库中的序列逐一搜索。
Tblastn
蛋白质
核酸
蛋白质序列和核酸数据库中的核酸序列6
框翻译后的蛋白质序列逐一比对。
TBlastx
核酸
核酸
核酸序列6框翻译成蛋白质序列,再和核
酸数据库中的核酸序列6框翻译成的蛋
白质序列逐一进行比对。
核酸序列搜索逐一核酸数据库中的序列
10
Blast相关的问题
 怎么获得blast服务,怎么使用的问题?
 为什么使用blast,可以获得什么样的信息?
 其他问题:实际使用时选择哪种方式(网
络,本地化),参数的选择,结果的解
释…
11
Blast资源
1.NCBI主站点:
http://www.ncbi.nlm.nih.gov/BLAST/(网络版)
ftp://ftp.ncbi.nlm.nih.gov/blast/ (单机版)
2.其他站点:
http://life.zsu.edu.cn/blast/
http://nema.cap.ed.ac.uk/ncbi_blast.html
http://www.fruitfly.org/blast/(果蝇)
…
12
Blast结果给出的信息
Blast结果会列出跟查询序列相似性比较
高,符合限定要求的序列结果,根据这些
结果可以获取以下一些信息。
1.查询序列可能具有某种功能
2.查询序列可能是来源于某个物种
3.查询序列可能是某种功能基因的同源基因
…
这些信息都可以应用到后续分析中。
13
两种版本的Blast比较(一)
 网络版本
包括NCBI在内的很多网站都提供了在线
的blast服务,这也是我们最经常用到的
blast服务。网络版本的blast服务就有方便,
容易操作,数据库同步更新等优点。但是
缺点是不利于操作大批量的数据,同时也
不能自己定义搜索的数据库。
14
两种版本的Blast比较(二)
 单机版
单机版的blast可以通过NCBI的ftp站点获得,
有适合不同平台的版本(包括linux,dos
等)。获得程序的同时必须获取相应的数
据库才能在本地进行blast分析。单机版的
优点是可以处理大批的数据,可以自己定
义数据库,但是需要耗费本地机的大量资
源,此外操作也没有网络版直观、方便,
需要一定的计算机操作水平。
15
本地WEB版的Blast
在NCBI的FTP上,在blast程序的目录
下,还提供了一种供用户在自己的服务器
上建立Blast网页服务的软件包(wwwblast)。
使用该软件包,用户可以建立一个简
易的进行Blast运算的网站供实验室人员使
用。用于搜索的数据库同样可以灵活的定
义。
16
Blast程序评价序列相似性的两个数据
Score:使用打分矩阵对匹配的片段进行打分,这是
对各对氨基酸残基(或碱基)打分求和的结果,一般来
说,匹配片段越长、 相似性越高则Score值越大。
E value:在相同长度的情况下,两个氨基酸残基(或
碱基)随机排列的序列进行打分,得到上述Score值的
概率的大小。E值越小表示随机情况下得到该Score值的
可能性越低。
17
NCBI提供的Blast服务
登陆ncbi的
blast主页
核酸序列
蛋白序列
翻译序列
底下有其他一些针对
特殊数据库的和查看
以往的比对结果等
18
Blast任务提交表单(一)
1.序列信息部分
序列范围
(默认全部)
填入查询(query)的序列
选择搜索数据库
如果接受其他参数默认
设置,点击开始搜索
19
Blast任务提交表单(二)
2.设置各种参数部分
设置搜索的范围,entrez关键词,
或者选择特定物种
一些过滤选项,包括简
单重复序列,人类基因
组中的重复序列等
E值上限
窗口大小
如果你对blast的命令行选项熟悉的话,可以在这里加入更多的参数
20
Blast任务提交表单(三)
3.设置结果输出显示格式
选择需要显示的选项
以及显示的文件格式
E值范围
显示数目
筛选结果
点击开始搜索
Alignment的显
示方式
其他一些显示格式参数
21
提交任务
返回查询号(request id)
修改完显示格式后点
击进入结果界面
可以修改显示结果格式
22
结果页面(一)
图形示意结果
23
结果页面(二)
目标序列描述部分
带有genbank的链接,点击可以进入
相应的genbank序列
匹配情况,分值,e值
24
结果页面(三)
详细的比对上的序列的排列情况
25
一个具体的例子(blastp)
假设以下为一未知蛋白序列
>query_seq
MSDNGPQSNQRSAPRITFGGPTDSTDNNQNGGRNGARPKQRRPQGLPNNTAS
WFTALTQHGKEELRFPRGQGVPINTNSGPDDQIGYYRRATRRVRGGDGKMKEL
SPRWYFYYLGTGPEASLPYGANKEGIVWVATEGALNTPKDHIGTRNPNNNAATVL
QLPQGTTLPKGFYAEGSRGGSQASSRSSSRSRGNSRNSTPGSSRGNSPARMA
SGGGETALALLLLDRLNQLESKVSGKGQQQQGQTVTKKSAAEASKKPRQKRTAT
KQYNVTQAFGRRGPEQTQGNFGDQDLIRQGTDYKHWPQIAQFAPSASAFFGMS
RIGMEVTPSGTWLTYHGAIKLDDKDPQFKDNVILLNKHIDAYKTFPPTEPKKDKKK
KTDEAQPLPQRQKKQPTVTLLPAADMDDFSRQLQNSMSGASADST QA
我们通过blast搜索来获取一些这个序列
的信息。
26
具体步骤
1.登陆blast主页
http://www.ncbi.nlm.nih.gov/BLAST/
2.根据数据类型,选择合适的程序
3.填写表单信息
4.提交任务
5.查看和分析结果
27
分析过程(一)
1.登陆ncbi的blast主页
2.选择程序,因为
查询序列是蛋白序
列可以选择blastp,
点击进入
也可以选择tblastn
作为演示,
我们这里选blastp
28
分析过程(二)
3.填入序列(copy+paste)
Fasta格式,或者纯序列
4.选择搜索区域,这里我们要
搜索整个序列,不填
5.选择搜索数据库,这里我们
选nr(非冗余的蛋白序列库)。
是否搜索保守区域数据库
(cdd),蛋白序列搜索才有。
我们选上
29
分析过程(三)
6.限制条件,我们限制
在病毒里面找。
7.其他选项保持默认值
打分矩阵
30
分析过程(四)
8.输出格式选项保持
默认值
9.点击开始搜索
31
分析过程(五)
10.查询序列的一些
相关信息
在cdd库里面找到
两个保守区域,
点击可以进入
32
分析过程(六)
图形结果
33
分析过程(七)
匹配序列列表
34
分析过程(八)
具体匹配情况
35
单机版的Blast使用(一)
为什么使用单机版的Blast?
1.特殊的数据库要求。
2.涉及序列的隐私与价值。
3.批量处理
4.其他原因??
36
单机版的Blast使用(二)
单机版Blast的基本操作过程
1.下载单机版的Blast程序
ftp://ftp.ncbi.nlm.nih.gov/blast/executables/
目录下,下载对应的操作系统版本。
2.解压程序包(blast-2.28-ia32-linux.tar.gz)
命令是:
$ tar zxvf blast-2.28-ia32-linux.tar.gz
37
下载正确的Blast程序包
blast:在本地运行的blast程序包
wwwblast:在本地服务器建立blast服务
的网站
netblast:blast的客户端程序,直接链接
至NCBI的BLAST服务器,使用BLAST服
务,不需浏览器。
38
下载正确的Blast程序包
Blast程序包的名字上还包括了该程序包运行的硬
件和操作系统环境:
操作系统
硬件环境(CPU)
linux
sparc
macox
powerPC
solaris
ia32
irix
ia64
aix
amd64
mips
alpha
hpux
freebsd
win32
39
单机版的Blast使用(三)
3.获取Blast数据库
a.直接从ncbi下载
ftp://ftp.ncbi.nlm.nih.gov/blast/db/
b.用Blast程序包提供的formatdb工具自己格
式化序列数据成数据库。
假设有一序列数据(sequence.fa,多序列,fasta
格式),欲自己做成Blast数据库,典型的命令
如下:
40
单机版的Blast使用(四)
核酸序列:
$ ./formatdb –i sequence.fa –p F –o T/F –n
db_name
蛋白序列:
$ ./formatdb –i sequence.fa –p T –o T/F –n
db_name
41
单机版的Blast使用(五)
4.执行Blast比对
获得了单机版的Blast程序,解压开以后,
如果有了相应的数据库(db),那么就可
以开始执行Blast分析了。
单机版的Blast程序包,把基本的blast分析,
包括blastn,blastp,blastx等都整合到了
blastall一个程序里面。
42
单机版的Blast使用(六)
以下是一个典型的blastn分析命令:
(待分析序列seq.fa,数据库nt_db)
$./blastall –p blastn –i seq.fa -d nt_db –w 7 –e 10 –o
程序名
输入
数据库
窗口
e值 输出
seq.blastn.out
该命令的意思是,对seq.fa文件中的核酸序列对
nt_db数据库执行blastn搜索,窗口大小是7,e值
限制是10,输出的结果保存到文件seq.blastn.out
中。
43
单机版的Blast使用(七)
5.Blastall的常用参数
-p 程序名应该是blastn,blastp,blastx,tblastn,
tblastx中的一个
-d 数据库名称,默认nr
-i 查询序列文件,默认stdin
-e E值限制,默认10
-o 结果输出文件,默认stdout
-F 过滤选项,默认T
-a 选择进行运算的CPU个数
44
进一步深入Blast
1.blast2
2.Megablast
3.Psi-blast
4.其他(rpsblast,blastclust等)
45
Blast2
两个序列的blast比对,给定两个序列,
相互进行blast比对。能快速检查两个序列
是否存在相似性片断或者是否一致。这比
起全序列比对要快很多。
46
Megablast
 megablast采用了贪婪算法(greedy
algorithm),它连接了多个查询序列进行一
次搜索比对,这样节省了很多搜索数据库
的时间。主要针对核酸序列。是blast经过
优化后,适用于由于测序或者其他原因形
成的轻微的差别的序列之间的比较,比一
般的相似性搜索程序要快10倍,可以很快
的完成两组大数据的比对。
47
PSI-blast
Position specific iterative BLAST (PSI-BLAST) 位
点特异的迭代blast搜索,主要针对蛋白序列。第
一次blast搜索后,结果中最相似的序列重新构建
PSSM (位点特异性打分矩阵),然后再使用该矩
阵进行第二轮blast搜索,再调整矩阵,搜索,如
此迭代。
最终高度保守的区域就会得到比较高的分值,
而不保守的区域则分数降低,趋近0。
这样可以提高blast搜索的灵敏度。
48
Blast的算法基础
 基本思想是:通过产生数量更少的但质量
更好的增强点来提高速度。
 BALST算法是建立在严格的统计学的基础
之上的。它集中于发现具有较高的相似性
的局部比对,且局部比对中不能含有空位
(blast2.0引入了允许插入gap的算法)。
 由于局部比对的限制条件,在大多数情况
下比对会被分解为若干个明显的HSP(Highscore Sequence Pairs)。
49
Blast的算法流程
50
Blast的算法(一)
1. 首先确定一个终止值S、步长参数w和一
个阈值T。然后软件会在考虑搜索背景性
质的基础上计算出合适的S值。使要比对
的序列中包含一个分值不小于S的HSP。
51
Blast的算法(二)
2. 引入邻近字串的思想:不需要字串确切
地匹配,当有一个字串的分值高于T时,
BALST就宣称找到了一个选中的字串。
为了提高速度,允许较长的字串长度W。
W值很少变化,这样,T值就成为权衡速
度和敏感度的参数。
52
Blast的算法(三)
3. 一个字串选中后,程序会进行没有空位
的局部寻优,比对的最低分值是S,当比
对延伸时会遇到一些负的分值,使得比
对的分值下降,当下降的分值小于S时,
命中的延伸就会终止。这样系统会减少
消耗于毫无指望的选中延伸的时间,使
系统的性能得以改进。
53
Blast的改进(一)
 在1997年提出了对BLAST程序的改进算法,
提高了搜索速度、敏感度和实用性。


可处理间隔(gap)的gapped BLAST算法
PSI-BLAST算法
对一个选中字串长度标准的延伸
 利用profile(表头文件)的数据结构来进行搜索

54
Blast的改进(二)
 以两个步长各为w的字串开始搜索 。
 若两个字窜在序列上不重叠,并且位于同
一对角线上,并且距离在A之内,则将这
两个字串联起来作为搜索的起点。
 执行通常的BLAST算法,使用一种不同的
记分方式,根据高度显著比对(HSPs)的最
高分值建立一个最初的profile。
55
Blast的改进(三)
 根据该profile反复利用BLAST算法对数据
库进行搜索,这一步实际上是根据表头文
件的统计结果扩展局部比对。这一过程是
反复进行的,直到再没有发现新的有意义
的匹配为止。由于在每一轮都会有新的片
段加入,因此在操作过程中profile需要在
每一个循环结束之后更新。
56
57
数据库搜索工具的sensitivity与selectivity
Sensitivity:尽可能多地搜索到具有一定相
似性的序列的能力。
Selectivity:尽可能准确地搜索到对研究目
的有用的相似性的序列的能力。
58
其他的序列相似性搜索工具
-fasta
FastA算法是由Lipman和Pearson于1985年发表的
(Lipman和Pearson,1985)。FastA的基本思路是识别
与代查序列相匹配的很短的序列片段,称为k-tuple。
以下链接是EBI提供的fasta服务。
http://www.ebi.ac.uk/fasta33/
59
各个参数选项
帮助信息
填入搜索序列
60
FASTA算法基础
 基本思想是:一个能够揭示出真实的
序列关系的比对至少包含一个两个序
列都拥有的字(片断),把查询序列中
的所用字编成索引,然后在数据库搜
索时查询这些索引,以检索出可能的
匹配,这样那些命中的字很快被鉴定
出来。
61
FASTA算法(一)
1. 确定参数ktup,在两个序列中查找长
度为ktup的、相匹配的片段(增强点)。
为了提高速度,可以通过查询表格或
hash表来完成,然后在表格中搜索与
另一条序列相匹配的、长度为ktup的
片段。
62
FASTA算法(二)
2.
在同一条对角线中临近的增强点成为
一个增强段。每一个增强点都赋予一
个正的分值,一个增强段中相邻的两
个增强点之间的不匹配区域赋予一定
的负值。一个增强段对应于一段相匹
配的子序列,分值最高的段被标记为
init1。
63
FASTA算法(三)
3. 引入indel。把那些没有重叠(non-overlap)
的增强段拼接起来(增强段的分值之和减
去空位处罚)。分值最高的区域记为initn 。
64
FASTA算法(四)
4.
对最有可能的匹配序列进一步评分:以
增强段init1 所在的对角线为中心,划分
出一个较狭窄的对角线带,利用S-W算
法,来获得分值最高的局部比对,记作
opt。
65
FASTA算法(五)
5. 决定采用initn 或opt的分值,前者敏感度
低但速度快。FASTA对每一个检索到的
比对都提供一个统计学显著性的评估,
以判断该比对的意义。
66
67
注意…
FASTA对DNA序列搜索的结果要
比对蛋白质序列搜索的结果更敏
感。它对数据库的每一次搜索都
只有一个最佳的比对,一些有意
义的比对可能被错过。
68
两个保守区域的
信息
返回
69
Dot matrix
分析
70
用Dot matrix分析基因中的重复序列
71
使用Dotter在斑马鱼序列的contig中定位ddah基因的位置
72
"A dot-matrix program with dynamic threshold control suited for
genomic DNA and protein sequence analysis"
Erik L.L. Sonnhammer and Richard Durbin
Gene 167(2):GC1-10 (1995)
http://www.cgr.ki.se/cgr/groups/sonnhammer/Dotter.html
73