[Sequence Alignment Methods] Smith–Waterman algorithm
Smith–Waterman algorithm
首先需要澄清一个事实,Smith–Waterman algorithm是求两个序列的最佳subsequence匹配,与之对应的算法但是求两个序列整体匹配的算法是Needleman-Wusch algorithm,即
Smith–Waterman algorithm:Local
Needleman-Wusch algorithm: Global
Needleman-Wusch algorithm与longest common subsequence (LCS)很相似,最大差别在于它给LCS中增、减、替换等操作赋予了不同的负权值,甚至不同的匹配对(a,a),(b,b)也有不同的正权值。可以这么说,Needleman-Wusch algorithm是改进的LCS算法。主要解决如下谁最优的问题:

首先,Needleman-Wusch algorithm需要一个Score Matrix(可以看成是一个离散的损失函数),用来表示不同匹配对的权值。

类似LCS,用动态规划求解,状态转移方程如下:

以上为Needleman-Wusch algorithm的步骤,计算局部的Smith–Waterman algorithm只需找到最大的M[i][j],然后回溯即可,

[Sequence Alignment Methods] Smith–Waterman algorithm的更多相关文章
- [Sequence Alignment Methods] Dynamic time warping (DTW)
本系列介绍几种序列对齐方法,包括Dynamic time warping (DTW),Smith–Waterman algorithm,Cross-recurrence plot Dynamic ti ...
- DNA序列局部比对(Smith–Waterman algorithm)
生物信息原理作业第三弹:DNA序列局部比对,利用Smith–Waterman算法,python3.6代码实现. 实例以及原理均来自https://en.wikipedia.org/wiki/Smith ...
- [Sequence Alignment Methods] Cross-Recurrent Plot (CRP)
A recurrence plot (RP) is a straightforward way to visualize characteristics of similar system state ...
- Multiple sequence alignment Benchmark Data set
Multiple sequence alignment Benchmark Data set 1. 汇总: 序列比对标准数据集: http://www.drive5.com/bench/ This i ...
- smith waterman算法
http://www.360doc.com/content/14/0106/00/14641369_342933143.shtml
- MR for Baum-Welch algorithm
The Baum-Welch algorithm is commonly used for training a Hidden Markov Model because of its superior ...
- Machine Learning Methods: Decision trees and forests
Machine Learning Methods: Decision trees and forests This post contains our crib notes on the basics ...
- 中南大学第一届长沙地区程序设计邀请赛 New Sorting Algorithm
1352: New Sorting Algorithm Time Limit: 1 Sec Memory Limit: 128 MB Description We are trying to use ...
- uvm_sequence_item——sequence机制(一)
让子弹飞一会 UVM框架,将验证平台和激励分开,env以下属于平台部分,test和sequence属于激励,这样各司其职.我们可以将sequence_item 比喻成子弹,sequencer 类比成弹 ...
随机推荐
- JS打开窗口问题
语法 window.open(URL,name,features,replace) URL:一个可选的字符串,声明了要在新窗口中显示的文档的 URL.如果省略了这个参数,或者它的值是空字符串,那么新窗 ...
- 分离数据库(Detach database).
Many times, we often needs to detach our databases if we want to copy it to another database instanc ...
- PHP上传原理及应用
概要 1.FORM表现enctype属性 2.$_FILES系统函数 3.move_uploaded_file函数 4.is_uploaded_file函数 1.FORM标签的enctype属性 只有 ...
- Linux 自动更新时间
1. 从NTP上把时间同步到本地 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 2. 更新本地时间 ntpdate us.pool.ntp.o ...
- 注解SpringMVC
<!--注解映射器 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.Reque ...
- 一种实现C++反射功能的想法(三)
如何实现类型名跟类型的对应, 我们很容易想到map, 没错, 就是使用map实现的. std::map<std::string, .....>, 等下, 第二部分该填什么类型, 一个函数指 ...
- VirtualBox 中的UBUNTU和java环境的配置以及各种常用说明
本来是要ubuntu下学习C++的,但是又懒的用高手们推荐的各种记事本级的操作,所以要用IDE.(我用IDE我自豪,人类的进化就是建立在工具的使用这个基础之上的.)我选用了oracle的netbean ...
- java逻辑运算符&&、&、||、|的详解
public class OperatorDemo{ public static void main(String args[]) { //当我们执行一下代码时会报错(&属于没短路的) if( ...
- Java学习----你可以知道对象的工作结果(获取方法的返回值)
1.写返回类型 2.return 返回值 3.定义变量接受返回值 public class App2 { public String [] print(String msg, int num) { f ...
- 关于Function()函数对象的那些小九九
概念:首先,函数是一种特殊类型的数据,函数也是数据类型的一种,实际上函数也是一种对象,函数对象的内建构造器是Function(); 函数的几种创建方式: 函数声明法: function sum(a,b ...