Table 1.
Linear conversion of the Hamming(16,11) code into DNA sequence.
Table 2.
Hamming(7,4) codes read with overlap or randomizer.
Figure 1.
A concept of Hamming error correction in quaternary format.
A 7-base sequence is indexed by position and value of each base is provided. With those values checksums are calculated and possible error is detected (in the given example “T” is an error). Max(Chi) = 2 gives the type of the error, sequence Ch3,Ch2,Ch1 = 202 is transformed to binary 101 (with the rule: if Chi>0 then Chi = 1), which is equal to decimal 5. This defines position of the error. Since the value at erroneous position is 3 (for Cs = ”T” S = 3), the correct value should be 3−2 = 1. For S = 1, Cs = ”C”. Thus, the barcode should be corrected at the position 5, the correct base is “C”. Note when calculating correct base: if Strue<0 then use “the wheel rule” (−3 is 1, −1 is 3, −2 is 2), which can be often (not always!) replaced by mod 4 operation. In short: Strue = (erroneous base value - error type) mod 4.
Table 3.
Examples of quaternary Hamming encoded barcode sequences.
Table 4.
Comparison of commercially available and quaternary Hamming based barcodes.