BWT是一种以数据块为操作对象的可你的数据变换方法,其核心思想是对字符串循环移动后得到字符矩阵进行排序和变换。也就是对参考基因组进行了一次有规律的重新排序,变换的目的就是为了方便后续进行查找。
一阶BWT构造和查找的具体过程如下:
一、BW变换(编码):
1.在源文本T后面添加一个额外的字符‘$’,定义该字符比源文件中所有字符都要小。
2.文本T$做循环移动(每次一个字符)形成新的文本,原始文本T$和新产生的文本组成一个文本集。
3.对文本集中的文本按照字典顺序排序(A-Z)。
4.抽取步骤3中排序后形成矩阵的最后一列L,且由于矩阵中的每一列都是源文本的一个置换,所以L也是源文本的一个置换。
举例如下:
源文本:ATTCGCTT
步骤1:
添加一个额外的字符‘$’,ATTCGCTT$。
步骤2:
每一次变换中