当前位置: 首页 > wzjs >正文

推荐做任务网站seo综合查询平台官网

推荐做任务网站,seo综合查询平台官网,汉中免费做网站公司,视频背景音乐怎么做mp3下载网站Smith-Waterman 文章目录 Smith-Waterman1. 算法介绍2. 公式及原理3. 伪代码 1. 算法介绍 背景与目标 Smith–Waterman 算法由 Temple F. Smith 和 Michael S. Waterman 于1981年提出,是用于生物序列(如蛋白质或 DNA)的局部比对(l…

Smith-Waterman

文章目录

  • Smith-Waterman
    • 1. 算法介绍
    • 2. 公式及原理
    • 3. 伪代码

1. 算法介绍

  • 背景与目标
    Smith–Waterman 算法由 Temple F. Smith 和 Michael S. Waterman 于1981年提出,是用于生物序列(如蛋白质或 DNA)的局部比对(local alignment)经典动态规划方法。其核心目标是:

    在允许插入、缺失(gap)和错配的情况下,找到两条序列中得分最高的局部片段比对。

  • 应用场景

    • 在长序列中发现高度相似的局部区域(例如功能域、保守motif)
    • 数据库搜索时比对查询序列与目标序列的最佳匹配子串
    • 模式识别与结构功能预测中局部相似性分析
  • 核心思路

    1. 矩阵初始化——大小为 ( m + 1 ) × ( n + 1 ) (m+1)\times(n+1) (m+1)×(n+1) 的得分矩阵 H H H,首行和首列均置 0;

    2. 递推填表——对每个位置 ( i , j ) (i,j) (i,j) 计算:

      • 对齐 a i a_i ai b j b_j bj(match/mismatch)
      • A A A 中插入 gap
      • B B B 中插入 gap
      • 或者不延续比对(得分置 0,终止局部比对)
    3. 寻找最优——记录矩阵中的最大值及其坐标 ( i ∗ , j ∗ ) (i^*,j^*) (i,j)

    4. 回溯——从 ( i ∗ , j ∗ ) (i^*,j^*) (i,j) 开始,根据递推来源回溯,直到遇到得分 0,获得局部最优对齐片段。


2. 公式及原理

2.1 符号与评分

  • 序列 A = a 1 a 2 ⋯ a m \mathbf{A}=a_1a_2\cdots a_m A=a1a2am B = b 1 b 2 ⋯ b n \mathbf{B}=b_1b_2\cdots b_n B=b1b2bn

  • 匹配/错配得分函数 s ( a i , b j ) s(a_i,b_j) s(ai,bj),常见如 BLOSUM 或简单的:

    s ( a i , b j ) = { + α , a i = b j , − β , a i ≠ b j . s(a_i,b_j)= \begin{cases} +\alpha, & a_i=b_j,\\ -\beta, & a_i\neq b_j. \end{cases} s(ai,bj)={+α,β,ai=bj,ai=bj.

  • 线性 gap penalty d > 0 d>0 d>0

2.2 初始化

H [ i , 0 ] = 0 , H [ 0 , j ] = 0 , ∀ 0 ≤ i ≤ m , 0 ≤ j ≤ n . H[i,0]=0,\quad H[0,j]=0,\quad \forall\,0\le i\le m,\,0\le j\le n. H[i,0]=0,H[0,j]=0,0im,0jn.

2.3 递推公式
对任意 1 ≤ i ≤ m 1\le i\le m 1im, 1 ≤ j ≤ n 1\le j\le n 1jn

H [ i , j ] = max ⁡ ⁣ { 0 , H [ i − 1 , j − 1 ] + s ( a i , b j ) , H [ i − 1 , j ] − d , H [ i , j − 1 ] − d . H[i,j] = \max\!\begin{cases} 0,\\ H[i-1,j-1] + s(a_i,b_j),\\ H[i-1,j] - d,\\ H[i,j-1] - d. \end{cases} H[i,j]=max 0,H[i1,j1]+s(ai,bj),H[i1,j]d,H[i,j1]d.

  • 其中, max ⁡ { 0 , … } \max\{0,\dots\} max{0,} 保证局部比对在得分为负时重置为 0,从而支持局部对齐。
  • 最大值 max ⁡ i , j H [ i , j ] \max_{i,j}H[i,j] maxi,jH[i,j] 对应最优局部对齐结束位置。

2.4 回溯(Traceback)
从得分最高的 ( i ∗ , j ∗ ) (i^*,j^*) (i,j) 出发,按下列优先顺序回溯:

  1. 如果 H [ i ∗ , j ∗ ] = H [ i ∗ − 1 , j ∗ − 1 ] + s ( a i ∗ , b j ∗ ) H[i^*,j^*] = H[i^*-1,j^*-1] + s(a_{i^*},b_{j^*}) H[i,j]=H[i1,j1]+s(ai,bj),对齐 a i ∗ a_{i^*} ai b j ∗ b_{j^*} bj
  2. 否则如果 H [ i ∗ , j ∗ ] = H [ i ∗ − 1 , j ∗ ] − d H[i^*,j^*] = H[i^*-1,j^*] - d H[i,j]=H[i1,j]d,对齐 a i ∗ a_{i^*} ai 与 gap;
  3. 否则对齐 gap 与 b j ∗ b_{j^*} bj
    重复直到遇到 H [ i , j ] = 0 H[i,j]=0 H[i,j]=0,此点即局部比对起点。

3. 伪代码

# 输入
#   A[1..m], B[1..n]: 待比对序列
#   s(a,b): 匹配得分函数
#   d: 线性 gap penalty
# 输出
#   aligned_A, aligned_B: 局部比对结果function SmithWaterman(A, B, s, d):m ← length(A); n ← length(B)# 1) 初始化矩阵 H (m+1)x(n+1),并记录最大得分位置for i in 0..m:H[i,0] ← 0for j in 0..n:H[0,j] ← 0max_score ← 0(end_i, end_j) ← (0, 0)# 2) 填表并追踪最大值for i in 1..m:for j in 1..n:match ← H[i-1,j-1] + s(A[i], B[j])delete ← H[i-1,j]   - dinsert ← H[i,j-1]   - dH[i,j] ← max(0, match, delete, insert)if H[i,j] > max_score:max_score ← H[i,j](end_i, end_j) ← (i, j)# 3) 回溯还原局部比对aligned_A, aligned_B ← empty stringsi, j ← end_i, end_jwhile i>0 and j>0 and H[i,j] > 0:if H[i,j] == H[i-1,j-1] + s(A[i], B[j]):aligned_A.prepend(A[i])aligned_B.prepend(B[j])i ← i-1; j ← j-1else if H[i,j] == H[i-1,j] - d:aligned_A.prepend(A[i])aligned_B.prepend('-')i ← i-1else:aligned_A.prepend('-')aligned_B.prepend(B[j])j ← j-1return aligned_A, aligned_B
  • 时间复杂度 O ( m × n ) O(m \times n) O(m×n)
  • 空间复杂度 O ( m × n ) O(m \times n) O(m×n)(可用带回溯链的优化或分块策略略减内存)
http://www.dtcms.com/wzjs/160578.html

相关文章:

  • 网站开发过程前端后端站长之家是干什么的
  • 做韩国外贸网站建设营销网站
  • 昆明网站建设电话网站域名解析
  • 大连建设学校招生简章站长之家seo查询
  • 静海做网站公司个人网站搭建
  • 珠海企业网站建设报价全球网络营销公司排行榜
  • 代理ip提取网站源码怎么样把广告做在百度上
  • 什么是网站交互aso榜单优化
  • 有没有做兼职的网站做销售记住这十句口诀
  • 长治做网站什么是电商
  • 国外做兼职网站有哪些智能建站abc
  • 电商平台设计电商网站建设最新军事新闻最新消息
  • 知识付费网站源码下载东莞今天新增加的情况
  • 平台电商网站开发国际新闻界期刊
  • php 可以自己做网站吗广州推广引流公司
  • 东莞网站设计哪家强舆情报告范文
  • 做淘宝网站需要什么河南关键词排名顾问
  • wordpress 模板获取数据seo快速整站上排名教程
  • 钓鱼网站 企业形象郑州粒米seo顾问
  • 网站维护的方式包括企业网络营销策划案
  • 爱站网影视排行榜搜索引擎成功案例分析
  • wordpress打开置顶文章没用天津企业seo
  • 网站建设费和网站维护费的区别aso优化技术
  • 重庆如何做聚政网站软文写作的十大技巧
  • 做网站用什么主机操作系统seo排名优化工具
  • 湖北做网站多少钱珠海做网站的公司
  • 软件开发模型的种类昆明百度关键词优化
  • 服务器可以做自己网站用吗人员优化方案怎么写
  • 苏州网站设计kgwl上海网站建设联系方式
  • 网站模板开发平台怎么做营销策略包括哪些内容