【发布时间】: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] = '$',因此
我们应该停下来。
显然,事情还没有结束,这里出了点问题。你能解释一下吗?
【问题讨论】: