DNA Builder
what is this
tap a base to add it to the left strand, then fill the right strand with its partner (or press auto-pair). when every rung is done, press twist to wind the ladder into a double helix, and drag sideways to spin it. tap any base to see the atoms it's made of: the same carbon, hydrogen, nitrogen, oxygen and phosphorus from the element lab.
the pairing rule
A pairs with T, G pairs with C. A and G are two rings, T and C are one, so every rung is the same width. A–T makes two hydrogen bonds and G–C makes three: those are the dots in the middle of each rung. since each base has exactly one partner, one strand is enough to rebuild the other.
the twist
nothing is 3d. each pair gets an angle, and the two strands sit on opposite sides of it:
const theta = twist * (i * STEP + rotation) + (strand === 'coding' ? Math.PI : 0)
return { x: RADIUS * Math.cos(theta), y: i * RISE, depth: Math.sin(theta) }
STEP is a tenth of a turn, like real dna. depth decides draw order, size and dimness. only twist animates: at 0 it's a flat ladder, at 1 it's the helix, and every frame in between is a partly wound helix.
translate it
the codon lab takes the strand you built, copies it into mrna, and reads it into a protein. change one letter and see what breaks.
codon lab (코돈 실험실) →turn your strand into a protein, then break it one letter at a time.