Skip to main content
. Author manuscript; available in PMC: 2018 Mar 8.
Published in final edited form as: Nature. 2017 Jul 12;547(7663):345–349. doi: 10.1038/nature23017

Extended Data Figure 8.

Extended Data Figure 8

Methods of image encoding for error-correction. a-d. Method used in Figure 1. a. Triplet code to flexibly specify 21 colors. b. Example of a pixet to be encoded into nucleotide space with pixel values marked. c. Rules specifying how the protospacer will be built. d. Example of the build of the protospacer. The AAG introduced by the addition of pixel 4 is unacceptable and invokes the flexible switch to another triplet. In a test of the extendibility of this encoding scheme, we ran three random sets of 100 million different nine-color orderings through the sequence build and found that 99.86 ± 0.07 % of color orders were able to satisfy the requirements we set out without optimization by hand. e-i. Method of alternating clusters for error correction. e. Triplet assignment to clusters A, B, and X. f. Example of a pixet to be encoded into nucleotide space with pixel values marked. g. Rules for adding new triplets in this scheme. h. Example of the build of the protospacer. The AAG introduced by the addition of pixel 4 is unacceptable and invokes the flexible switch to cluster X. i. Example of an error signal. j-l. Method of checksum error correction. j. Annotation of protospacer with the addition of a checksum. k. Annotation of the checksum itself. l. Full protospacer with checksum implemented.