Figure 1.
The generation of barcodes along with all the filtering steps are performed concurrently with the execution of the main application.
Each barcode that passes filtering is added to a pool and generation of more barcodes continues. This pool is in time drained by the main application where the insertion into the solution set takes place.
Table 1.
Running times for generating different numbers of barcodes of length 18 with different edit distances and padding.
Figure 2.
Let barcode 1 and 2 are the barcodes within the designed unique barcode set and another barcode containing errors introduced during the experiment, and the edges of the triangles represent the Levenshtein edit distance between them.
A) Barcode 1 can be converted to Barcode 3 with three operations. However two errors introduced either in barcode 1 or 2 can result in a new sequence, which requires same number of operations to transform to either barcode 1 or 2. Therefore, it cannot be classified. B) Barcode 1 is incorrectly synthesised or sequenced in such a way that it now has a smaller edit distance to barcode 2, which leads to its misclassification.
Table 2.
20,000 unique barcodes of length 18 were generated with no padding option.
Table 3.
10,000 unique barcodes of length 18 were generated with padding option set to 1.