[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],然后回溯即可,

时间: 2024-10-15 03:37:10

[Sequence Alignment Methods] Smith–Waterman algorithm的相关文章

[Sequence Alignment Methods] Dynamic time warping (DTW)

本系列介绍几种序列对齐方法,包括Dynamic time warping (DTW),Smith–Waterman algorithm,Cross-recurrence plot Dynamic time warping (DTW) is a well-known technique to find an optimal alignment between two given (time-dependent) sequences under certain restrictions. ——Mei

DNA序列局部比对(Smith–Waterman algorithm)

生物信息原理作业第三弹:DNA序列局部比对,利用Smith–Waterman算法,python3.6代码实现. 实例以及原理均来自https://en.wikipedia.org/wiki/Smith%E2%80%93Waterman_algorithm. 1 import numpy as np 2 import pandas as pd 3 sequence1 = 'TGTTACGG' 4 sequence2 = 'GGTTGACTA' 5 s1 = '' 6 s2 = '' 7 gap =

[Sequence Alignment Methods] Cross-Recurrent Plot (CRP)

A recurrence plot (RP) is a straightforward way to visualize characteristics of similar system states attained at different times (Eckmann et al., 1987).  ,即RP可识别在时间上伸缩的状态对.Cross-Recurrent Plot,形成一个二维坐标轴,坐标系里的黑色代表相似的状态对,实际上在这个坐标系里,大部分的点都不是黑色的.在对角线上的路

[转]Sequence of methods in form and table in AX

转自:http://axvuongbao.blogspot.jp/2013/09/sequence-of-methods-in-form-and-table.html Form: Sequence of Methods calls while opening the Form Form — init () Form — Datasource — init () Form — run () Form — Datasource — execute Query () Form — Datasource

AX 2012 Sequence of methods in form and table in AX

Form: Sequence of Methods calls while opening the Form Form - init () Form - Datasource - init () Form - run () Form - Datasource - execute Query () Form - Datasource - active () Sequence of Methods calls while closing the Form Form - canClose () For

2018.3.5-6 knapsack problem, sequence alignment and optimal binary search trees

这周继续dynamic programming,这三个算法都是dynamic programming的. knapsack problem有一种greedy的解法,虽然简单但是不保证正确,这里光头哥讲的是dynamic的解法.其实和上次那个max weight independent set的算法差不多,同样是每个物件都判断一遍有这个物件和没这个物件两种情况,用bottom-up的方法来解,然后得到一个最大的value值,这时因为没有得到具体的选择方案,所以最后还需要一部重构的步骤得到具体方案.

[Stanford Algorithms: Design and Analysis, Part 2] c28 Sequence Alignment Optimal Substructure

原文地址:https://www.cnblogs.com/ecoflex/p/10658398.html

maker 2008年发表在genome Res

简单好用 identify repeats, to align ESTs and proteins to the genome, and to automatically synthesize these data into feature-rich gene annotations, including alternative splicing and UTRs, as well as attributes such as evidence trails, and confidence mea

Java性能提示(全)

http://www.onjava.com/pub/a/onjava/2001/05/30/optimization.htmlComparing the performance of LinkedLists and ArrayLists (and Vectors) (Page last updated May 2001, Added 2001-06-18, Author Jack Shirazi, Publisher OnJava). Tips: ArrayList is faster than