BWA
BWA
Raw:\(ACAACG\)
- step1:加上$符号,并且$符号的优先级最低
- 对长度为N的字符序列进行N次循环右移,得到N个字符序列矩阵
- 按照字典序对这个矩阵的每一行作为基元进行字典许排序
- 提取矩阵的第一列作为F,最后一列作为L
\[Raw ~~ Matrix
\left[
\begin{matrix}
ACAACG$ \\
$ACAACG \\
G$ACAAC \\
CG$ACAA \\
ACG$ACA \\
AACG$AC \\
CAACG$A \\
\end{matrix}
\right ]
\rightarrow_{sorted}
Sorted ~~ Matrix
\left[
\begin{matrix}
$ACAACG \\
AACG$AC \\
ACAACG$ \\
ACG$ACA \\
CAACG$A \\
CG$ACAA \\
G$ACAAC \\
\end{matrix}
\right]
\]
\[F:
\left[
\begin{matrix}
$\\
A\\
A\\
A\\
C\\
C\\
G\\
\end{matrix}
\right]
L:
\left[
\begin{matrix}
G\\
C\\
$\\
A\\
A\\
A\\
C\\
\end{matrix}
\right]
\]
BWT:\(ACAACG\rightarrow GC\$A3C\)
关系
- L,F对应的每一行的元素在原始序列中L在F的前面
- L中的元素和F中的元素一样,L排序完毕之后就是F
- L和F中相同元素的相对位置相同
- 只需要保留L和L中字母的相对顺序就可以推出F,就可以完成还原原本的序列
Aim : CAA
假设现在的目标序列是CAA如何查找CAA,首先反转变成AAC,在F中找A,然后依次寻找即可。
BWA\Bowtie/Bowtie
- Bowtie
- 只允许mismatch不允许gap
- 序列长度普遍是36bp,分割成为28bp的高质量区域(5`端)和4bp的低质量区域(3端),其中高质量区域又被分割成为14bp的高质量区域中的高质量区域以及后14bp的高质量区域的低质量区域。
- 序列比对结果的\(mismatch\leq 2\)的时候继续进行后面区域的序列比对否则直接认为失败
- Bowtie2
- 允许mismatch也允许gap
- 序列长度为100-150bp,选取seed的方法是20-18(就是每20个元素作为一个单位然后选取前18个)或者10-16(就是10个元素作为一个单位,选取16个,多的6个是overlap)
- seed进行比对之后,保留有用的seed。有了seed的reigon之后,就可以知道这条序列在基因组的大概位置,然后在这个seed的大概位置进行exteding,最终对这个extending的区域进行SW(动态规划序列比对算法)etc.
Saying Less Doing More