<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Scoring-Matrix on TouchingFish.top</title><link>https://touchingfish.top/tags/scoring-matrix/</link><description>Recent content in Scoring-Matrix on TouchingFish.top</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 12 May 2018 00:00:00 +0000</lastBuildDate><atom:link href="https://touchingfish.top/tags/scoring-matrix/index.xml" rel="self" type="application/rss+xml"/><item><title>动态规划的智慧（Needleman-Wunsch）</title><link>https://touchingfish.top/2018/needleman-wunsch/</link><pubDate>Sat, 12 May 2018 00:00:00 +0000</pubDate><guid>https://touchingfish.top/2018/needleman-wunsch/</guid><description>&lt;p&gt;当我们谈论序列比对（sequence alignment）时，实际上是在解决一个经典问题：如何将两段序列尽可能“对齐”，以揭示它们之间的相似性？这其中既有科学家的生物学直觉，也离不开精妙的算法设计。今天，让我们聚焦于比对算法的基础，并用一个直观的例子，深入了解Needleman-Wunsch算法这颗动态规划中的明珠，将矩阵的分值转化为真正的比对结果.&lt;/p&gt;
&lt;h2 id="从字符到序列的最佳对齐"&gt;从字符到序列的最佳对齐&lt;/h2&gt;
&lt;p&gt;在进行序列比对时，我们通常需要回答以下三个问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;序列间的相似性如何量化？（使用打分矩阵定义匹配、错配和缺口的得分）&lt;/li&gt;
&lt;li&gt;什么是最佳比对？（得分最高的对齐方式）&lt;/li&gt;
&lt;li&gt;如何有效找到最佳比对？（算法）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;比对算法就是解决第3个问题的核心工具。对短序列，可以尝试列举所有可能的对齐方式，但随着序列变长，这种暴力方法的计算量会呈指数增长，显然无法处理实际问题。Needleman-Wunsch算法的提出，完美解决了这一难题。&lt;/p&gt;
&lt;h2 id="将大问题拆解为小问题"&gt;将大问题拆解为小问题&lt;/h2&gt;
&lt;p&gt;动态规划的核心思想是“化整为零”：将一个复杂问题分解为许多小问题，通过解决这些小问题，逐步得出大问题的答案。&lt;/p&gt;
&lt;p&gt;在Needleman-Wunsch算法中，序列比对的问题被表示为一个比对表（矩阵）。我们通过“填表”的方式，逐步找出最佳比对。&lt;/p&gt;
&lt;h3 id="needleman-wunsch算法的步骤一步步填出比对表"&gt;Needleman-Wunsch算法的步骤：一步步填出比对表&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Step 1: 初始化比对表&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;假设我们有两段DNA序列： Sequence1：&lt;code&gt;GATTUACA&lt;/code&gt; 和 Sequence2：&lt;code&gt;GCATTACG&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;我们建立一个比对表，行对应 Sequence1（纵向排列），列对应 Sequence2（横向排列）。&lt;/p&gt;
&lt;p&gt;为了允许“缺口”（gap），第一行和第一列按缺口得分初始化。例如，假设缺口惩罚为-2，初始化如下：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;&lt;/th&gt;
 &lt;th&gt;-&lt;/th&gt;
 &lt;th&gt;G&lt;/th&gt;
 &lt;th&gt;C&lt;/th&gt;
 &lt;th&gt;A&lt;/th&gt;
 &lt;th&gt;T&lt;/th&gt;
 &lt;th&gt;T&lt;/th&gt;
 &lt;th&gt;A&lt;/th&gt;
 &lt;th&gt;C&lt;/th&gt;
 &lt;th&gt;G&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;0&lt;/td&gt;
 &lt;td&gt;-2&lt;/td&gt;
 &lt;td&gt;-4&lt;/td&gt;
 &lt;td&gt;-6&lt;/td&gt;
 &lt;td&gt;-8&lt;/td&gt;
 &lt;td&gt;-10&lt;/td&gt;
 &lt;td&gt;-12&lt;/td&gt;
 &lt;td&gt;-14&lt;/td&gt;
 &lt;td&gt;-16&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;G&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;-2&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;-4&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;T&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;-6&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;T&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;-8&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;U&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;-10&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;-12&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;-14&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;-16&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Step 2: 填充比对表&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>