# Formal Definition of Sequence Alignment

Consider an alphabet $\Sigma$ and two sequences $s$ and $t$ on $\Sigma$. Let $\bar{\Sigma} = \Sigma\cup \{\diamond\}$ where $\diamond$ is some symbol not in $\Sigma$, it's called the gap symbol. $M:\bar{\Sigma}\times \bar{\Sigma}\to \Z$. We have a gap penalties functions $g_s,g_t:\N\to \Z$. The functions are monotonic and are $0$ at $0$. The four boundary gap penalty coefficient $b_s,b_t,e_s,e_t\in \{0,1\}$. We want to find the alignment score between the two sequences.

A gap is the maximal substring consist of only $\diamond$'s. The gap sequence of a string is a sequence of lengths of each gap. Define $s_\diamond$ be the gap sequence of string $s$.

$G(x,g,y,a) = xg(a_1) + \sum_{i=2}^{n-1} g(a_i) + yg(a_n)$, where $a$ is a sequence of length $n$.

$\displaystyle A(u,v) = \sum_{i=1}^{|u|} M(u_i,v_i) + G(b_s,g_s,e_s,u_\diamond) + G(b_t,g_t,e_t,v_\diamond)$

Define $S$ and $T$ be the set of all strings that can be formed by inserting $\diamond$ into $s$ and $t$ respectively.

The alignment score is defined as $\displaystyle \max \{A(u,v) : |u|=|v|, u\in S, v\in T\}$

Now, once one write an algorithm for this problem, it can be used for many sequence alignment problems on Rosalind.

- Hamming Distance: $M(a,a)=-1$, and $0$ otherwise. All other function are $-\infty$.
- Finding a Shared Spliced Motif, longest common subsequence. $M(a,a)=1$ for $a\in \Sigma$, $0$ otherwise. Everything else are $0$.
- Edit distance: Levenshtein distance, $M(a,a)=-1$ for $a\in \bar{\Sigma}$, $0$ otherwise. All other are $-\infty$.
- Global alignment: $b_s=e_s=g_s$, $b_t=e_t=g_t$.
- Overlap alignment: $b_s=e_t=0$, $b_t=g_t$, $e_s=g_s$.
- Fitting alignment: $b_s=e_s=0$, $b_t=e_t=g_t$.
- Semiglobal alignment: $b_s=e_s=b_t=e_t=0$.
- Substring Matching: $b_s=e_s=0$, $g_s,g_t,b_t,e_t=-\infty$.