我在 Burrows-Wheeler 逆向转换中的逻辑有啥问题?
Posted
技术标签:
【中文标题】我在 Burrows-Wheeler 逆向转换中的逻辑有啥问题?【英文标题】:What is wrong with my logic in Burrows-Wheeler reverse transformation?我在 Burrows-Wheeler 逆向转换中的逻辑有什么问题? 【发布时间】:2016-08-03 19:23:16 【问题描述】:我正在研究 Burrows-Wheeler 转换,到目前为止,我可以从一些 Text 中得到它。现在是反向过程的时候了,这就是我遇到的麻烦。
这是输入:TTCCTAACG$A。
这是我的想法:
1) 计算输入中As、Cs、Gs、Ts的个数:A: 3, C: 3, G: 1, T: 3
2) 让我们写下 Burrows-Wheeler 变换的第一列和最后一列。最后一列是我们的输入。所以这里是:
F L
[0] $ T
[1] A T
[2] A C
[3] A C
[4] C T
[5] C A
[6] C A
[7] G C
[8] T G
[9] T $
[10] T A
这是我的逻辑:
-
最初,输出 = '$'
L[0] = 'T' => 输出 = 'T$'
F 中的第一个 T 的索引为 8 => 我们需要 L[8] => 输出 = 'GT$'
F 中的第一个 G 的索引为 7 => 我们需要 L[7] => 输出 = 'CGT$'
F 中的第一个 C 的索引为 4 => 我们需要 L[4] => 输出 = 'TCGT$'
这是我们的第二个 T。F 中的第二个 T 的索引为 9,但 L[9] = '$',因此
我们应该停下来。
显然,事情还没有结束,这里出了点问题。你能解释一下吗?
【问题讨论】:
【参考方案1】:我对这种方法的理解过于简单。在第 4 步中,由于 C 是第三个 C,我们需要 F[6]。
【讨论】:
【参考方案2】:最后一列看起来不对 - 它应该是符号前面的第一列。 您也不要使用 BWT 的特殊符号。这样一来,之前的规则就被打破了,你会扰乱你的 lf 映射。
D.
【讨论】:
以上是关于我在 Burrows-Wheeler 逆向转换中的逻辑有啥问题?的主要内容,如果未能解决你的问题,请参考以下文章