Each DNA tile is a small multi-arm junction with four single-stranded "sticky ends" — two inputs (west, south) and two outputs (east, north) that copy the inputs forward. The sticky-end sequence encodes one bit, so a tile only base-pairs and locks in when both its input sticky ends hybridize correctly — a physical AND condition on bond formation. Seed tiles along the west edge and one seed tile at the corner fix the boundary; from there, every interior tile computes its own bit as the XOR of the tile to its west and the tile to its south:
bit(i, j) = bit(i-1, j) XOR bit(i, j-1)
west edge: bit(0, j) = 1 for all j (seed strip)
south row: bit(i, 0) = 0 for i > 0, bit(0,0) = 1
This is exactly the recurrence behind Pascal's triangle mod 2 — running it across a 2D lattice of DNA tiles (Winfree & Rothemund's algorithmic self-assembly, demonstrated experimentally in 2004) grows a Sierpinski triangle out of purely local, sequence-programmed bonding rules, with no template dictating the global shape.
- Growth rate — how many tiles attach per second, sweeping outward along the assembly's diagonal growth front (a tile can only bind once both its west and south neighbors are already in place).
- Attachment error rate — the chance a tile locks in with the wrong bit (a facet defect / mismatched sticky-end pairing). Because every downstream tile reads its neighbors' actual bits, one bad bond propagates errors through the whole sub-lattice grown after it.
- Lattice size — the N×N grid of addressable tile sites (applies on Reset/Regrow).
- Proofreading tiles — real algorithmic tile sets fight this by replacing each logical tile with a redundant block of tiles that must agree before the bit is accepted; here that is modeled as requiring two independent stochastic attachment checks to both fail before an error locks in, which suppresses the error probability from p to roughly p² and visibly slows how far mismatches spread.
Drag the lattice view to pan, scroll/pinch to zoom. The strip below the lattice is a live schematic of the current frontier tile: its west and south input bits, the XOR gate, and the resulting output bit (red if a mismatch was forced).
Bright teal squares are bit = 1, dark navy squares are bit = 0; unplaced sites stay dim until the growth front reaches them.