北京大学生物信息学 (4)序列数据库

https://www.bilibili.com/video/BV13t411G7oh?p=9&spm_id_from=pageDriver

搜库算法

BLAST 算法的原理

和之前的双序列比对和局部比对的原理相似


三种不同的比对算法的差异

关于局部比对、全局比对和序列比对的使用和意义。
https://zhuanlan.zhihu.com/p/150579075

北京大学生物信息学 (5)序列数据库的搜索
Blast 算法的基本原理
先在2个或者多个序列中,先找到高度相似的种子序列,然后以此为基础向2端延申,然后进行比对,为了避免假阳性,BLAST 还会进行统计显著性分析。


BLAST: BLAST算法的基本思想是通过产生数量更少的但质量更好的增强点来提高比对的速度。算法的原理主要分为以下五步:(1)过滤:首先过滤掉低复杂度区域,即含有大量重复的序列(这个过程主要是通过对于序列的现场分析来进行过滤;(2)Seeding:将Query序列中每k个字组合成一个表,即将一个序列拆分成多个连续的‘seed words’(通常蛋白质k=3,核酸k=11);(3)比对:列出我们所关心的所有可能的字组,再配合置换矩阵给出高分值的字组并组织成快速搜索树结构或者哈希索引,因此此步骤可以快速搜索出大数据集中的所有匹配序列,找到每个seed words在参考序列中的位置;(4)延伸:当找到seed words的位置后,接下来需要将seed word延伸成长片段,延伸过程中,得分值也在变化,当得分值小于阈值时即停止延伸,最后得到的片段成为高分片段对,HSP(High-scoring segment pair);(5)显著性分析,最后我们使用如下公式计算E值,E值衡量了在随机情况下,数据库存在的比当前匹配分数更好的比对的数目,因此可以用该值作为指标评价HSP比对序列的可信度[2,3]。

在第一步中过滤掉低复杂度的原因
防止产生大量的具有显著性结果但是无意义的序列,

寻找种子序列在数据库中的位置

去掉复杂度低的序列

这里的N是根据比对的序列类别,如果蛋白序列,则N代表20中氨基酸,如果是核酸序列,N代表4种核酸,如果是其他的序列,则根据字符的数目取值。其中ni的阶乘,表示字母(这里可以是氨基酸或者核苷酸在一定窗口长度(6)中出现的频率。

对于一个微卫星序列的低复杂度序列的计算

为了提高灵敏度,除了种子本身以外,与种子具有高度相似性的序列也被认为是种子序列。

对于一个给定的蛋白质序列,每个氨基酸在一个正确位置上的概率都是1/20=0.05,那么如果窗口是6的话,一条目标氨基酸的概率是1.56*10^(-8),那么在如下含有192,206,270个氨基酸的库里进行搜索的话,理论上可得到3条完全匹配的序列。

对得到的最终比对的结果,还需要进行统计显著性分析。

其中,m是数据库长度,n是query的长度,S是HSP分数,其他两个参数是修正系数。原理及步骤示意图如下图。

其中的S值越高,E值越小。k 和指数系数是修正值,是与打分系统和搜索空间相关的两个数据,用来平衡打分系统和搜索空间。常将e=0.05作为一个cut off。

Blast 是一种启发式的算法,其并不能保证能找到最优解,但是其可以在最短时间内找到最好的解,其计算速度得到明显的提升,但是付出的代价是灵敏度下降。

需要E值的原因

使用BLAST 的原因。

搜库,来研究蛋白的保守性和功能。

NCBI中常见的几种序列比对的方法
此外,需要明确一个概念,序列相似性和同源性是2个不同的概念

那么BLAST 的程序

step0 filter

Step1

Step2 搜索种子序列以及临近相似的序列,此步可以通过设置阈值进行筛取相邻的相似种子序列

Step 3的方法,搜库,哈希表和有限状态机的方法(确定字符转换的状态)

Step 4 extending 有中子序列进行向2端延申,从而极大的降低了整个搜库的时间。

Step5 显著性评估
此处通过对原始的分数通过S和λ来进行归一化,最后的E值 越小,表示比对的序列和查询的序列之间的相似性越好


97年的BLAST2.0版本进行升级,加入了Gapped BLAST 和PSI-BLAST

第二个常用于蛋白质的比对


参考文献

北京大学生物信息学 (4)序列数据库相关推荐

  1. 北京大学生物信息学学习(3动态规划进行2序列比对的原理 )

    链接 https://www.bilibili.com/video/BV1by4y1k7rc?p=6 北京大学生物信息学公开课之动态规划进行2序列比对 掌握主流的生物信息学的原理,然后让生物信息学为你 ...

  2. 北京大学生物信息学(9)第二代基因组测序技术

    北京大学生物信息学(9)第二代基因组测序技术 如何预测一个遗传变异的功能及其对表型的变化 https://www.bilibili.com/video/BV13t411G7oh?p=26 常见的二代测 ...

  3. 北京大学生物信息学学习(6)隐含马尔可夫模型

    北京大学生物信息学学习(6)隐含马尔可夫模型 马尔可夫链(时间和状态都离散的状态组合) https://www.bilibili.com/video/BV13t411G7oh?p=14 隐含马尔可夫模 ...

  4. 北京大学生物信息学课程(5)

    北京大学生物信息学课程(5) 马尔可夫模型的学习 马尔可夫模型 未来的状态至于当前的状态和状态的转移概率有关,而与之前和过往的状态无关. 空位罚分 引入了Gap open 和Gap extending ...

  5. 北京大学生物信息学(3)

    北京大学生物信息学(同源性,相似性,相似矩阵) 如何使用计算机来识别相似性,使用相似矩阵 多序列比对 蛋白质打分比对矩阵 常用的蛋白比对的算法BLOSUM 蛋白质的演化过程 PAM2表示从A2步到A的 ...

  6. 【学习笔记】山东大学生物信息学-01 生物数据库

    课程地址:山东大学生物信息学 文章目录 一.生物数据库 1.1 PubMed 文献数据库 1.2 一级核酸数据库 1.2.1 INSDC = Genbank + ENA + DDBJ 1.2.2 基因 ...

  7. 【学习笔记】山东大学生物信息学-02 序列比较

    课程地址:山东大学生物信息学 文章目录 二.序列比较 2.1 认识序列 2.2 序列相似性 2.3 替换记分矩阵 2.4 序列两两比较:打点法 2.5 序列两两比较:序列比对法(定量) 2.6 一致性 ...

  8. 时序列数据库武斗大会之 TSDB 名录 Part 1

    2019独角兽企业重金招聘Python工程师标准>>> [编者按] 刘斌,OneAPM后端研发工程师,拥有10多年编程经验,参与过大型金融.通信以及Android手机操作系的开发,熟 ...

  9. 时序列数据库武斗大会之 OpenTSDB 篇

    在前面的<时序列数据库武斗大会之 TSDB 名录 Part 1>和<时序列数据库武斗大会之TSDB名录 Part 2>中,我们介绍了一些常见的TSDB,并在<时间序列数据 ...

最新文章

  1. python网络爬虫程序技术,Python网络爬虫程序技术
  2. 手机linux登陆密码忘了怎么办,忘记linux登陆密码重置的方法
  3. java:final,finally,finalize区别
  4. C++中关于配置文件的问题
  5. 新手小白零基础搭建个人博客(二)Hexo搭建
  6. 2017.12.18
  7. http协议的完整组成
  8. java继承层次结构,在状态模式中实现继承层次结构 - java
  9. 【Todo】Java8新特性学习
  10. 强大的Common类库
  11. 【印刷数字识别】基于matlab OCR识别系统【含Matlab源码 438期】
  12. 计算机毕业设计django基于python金太阳家居电商平台(源码+系统+mysql数据库+Lw文档)
  13. uni-app(vue小程序)学习笔记
  14. 财务软件虚拟服务器,新中大财务软件远程虚拟化办公方案
  15. 苹果更新失败无法连接服务器未响应,iPhone 更新失败怎么办?更新 iOS 常见的错误代码及解决方法(二)...
  16. _f5是c语言合法变量,C语言练习题1
  17. 工业互联网是不是很难学对于女生而言?
  18. 知物由学 | 如何从勒索软件的攻击中全身而退
  19. AI生成肖像画,精细到毛发!北大校友最新研究收割2.8k星标,还登上了ICPR 2020...
  20. unity 适配iPhone X底部横条

热门文章

  1. fatal: 无法访问 ‘x.git/‘gnutls_handshake() failed: The TLS connection was non-properly terminated.解决办法
  2. Android-JNI开发系列《九》实战-Bitmap处理实现底片灰度化黑白化暖冷色调等效果
  3. I2c驱动i2c_master_send()和i2c_master_recv()用法
  4. android之camera2预览
  5. SpringBoot之前后端分离
  6. windows电脑自动安装第三方软件-联想客服建议解决办法
  7. ubuntu修改启动项等待时间、修改启动项顺序、更改启动内核
  8. Vue项目中如何实现用户登录及token验证?
  9. Vscode 如何使用内置浏览器?
  10. 计算机中函数counta是什么意思,excel中counta函数和count函数的区别是什么?