<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pesho Ivanov on CuriousCoding</title><link>https://curiouscoding.nl/authors/pesho-ivanov/</link><description>Recent content in Pesho Ivanov on CuriousCoding</description><generator>Hugo</generator><language>en</language><lastBuildDate>Fri, 01 Apr 2022 00:00:00 +0200</lastBuildDate><atom:link href="https://curiouscoding.nl/authors/pesho-ivanov/index.xml" rel="self" type="application/rss+xml"/><item><title>A survey of exact global pairwise alignment</title><link>https://curiouscoding.nl/posts/pairwise-alignment-history/</link><pubDate>Fri, 01 Apr 2022 00:00:00 +0200</pubDate><guid>https://curiouscoding.nl/posts/pairwise-alignment-history/</guid><description>&lt;div class="ox-hugo-toc toc"&gt;
&lt;div class="heading"&gt;Table of Contents&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#variants-of-pairwise-alignment" &gt;Variants of pairwise alignment&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#cost-models" &gt;Cost models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#alignment-types" &gt;Alignment types&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#a-chronological-overview-of-global-pairwise-alignment" &gt;A chronological overview of global pairwise alignment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#algorithms-in-detail" &gt;Algorithms in detail&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#classic-dp-algorithms" &gt;Classic DP algorithms&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#cubic-dp" &gt;Cubic algorithm of Needleman and Wunsch (&lt;a href="#citeproc_bib_item_25"&gt;1970&lt;/a&gt;)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#quadratic-dp" &gt;A quadratic DP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#local-alignment" &gt;Local alignment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#affine-costs" &gt;Affine costs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#minimizing-vs-dot-maximizing-duality" &gt;Minimizing vs. maximizing duality&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#four-russians" &gt;Four Russians method&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#o--ns--methods" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; \(O(ns)\) methods&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#exponential-band" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; Exponential search on band&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#thresholds" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; LCS: thresholds, $k$-candidates and contours&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#diagonal-transition" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; Diagonal transition: furthest reaching and wavefronts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#ns2" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; Suffixtree for \(O(n+s^2)\) expected runtime&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#using-less-memory" &gt;Using less memory&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#computing-the-score-in-linear-space" &gt;Computing the score in linear space&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#divide-and-conquer" &gt;Divide-and-conquer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#lcsk-plus-plus-algorithms" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; LCSk[++] algorithms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#theoretical-lower-bound" &gt;Theoretical lower bound&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#a-note-on-dp--toposort--vs-dijkstra-vs-a" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; A note on DP (toposort) vs Dijkstra vs A*&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#tools" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#notes-for-other-posts" &gt;&lt;span class="org-todo todo TODO"&gt;TODO&lt;/span&gt; Notes for other posts&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#semi-global-alignment-papers" &gt;Semi-global alignment papers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#approximate-pairwise-aligners" &gt;Approximate pairwise aligners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#old-vs-new-papers" &gt;Old vs new papers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;!--endtoc--&gt;
&lt;p&gt;This post explains the many variants of pairwise alignment, and covers papers
defining and exploring the topic.&lt;/p&gt;</description></item></channel></rss>