Table 2.
i | S[SA[i]] | BWT[i] | offset[i] | LF[i] | |
---|---|---|---|---|---|
0 | $ | ACATACAGAT | G | 0 | 8 |
1 | A | CAGATG$ACA | T | 0 | 10 |
2 | A | CATACAGATG | $ | 0 | 0 |
3 | A | GATG$ACATA | C | 0 | 6 |
4 | A | TACAGATG$A | C | 1 | 7 |
5 | A | ATG$ACATAC | G | 1 | 9 |
6 | C | AGATG$ACAT | A | 0 | 1 |
7 | C | ATACAGATG$ | A | 1 | 2 |
8 | G | $ACATACAGA | T | 1 | 11 |
9 | G | ATG$ACATAC | A | 2 | 3 |
10 | T | ACAGATG$AC | A | 3 | 4 |
11 | T | G$ACATACAG | A | 4 | 5 |
M[0..11,0] contains the lexicographically ordered characters of S and M[0..11,11] equals BWT(S). The last two columns are required for the inverse transformation. offset[i] stores the number of times BWT[i] has appeared earlier in BWT(S). The last column LF[i] contains pointers used during the inverse transformation algorithm: if S[i] = BWT[j], then BWT[LF[j]] = S[i − 1].