Procedural modeling generates the geometry of an object from a small set of parameters. This is a classic Watson-Crick model of a DNA (deoxyribonucleic acid) fragment containing 24 base pairs, a total of 1188 atoms represented by 316,008 points and 342,144 polygons. The atoms are carbon, hydrogen, nitrogen, oxygen, and phosphorous. The model was built by a LightWave plug-in that accepts arbitrary base sequences and provides settings for different atom and bond shapes and colors. I've included the source code in the LightWave SDK.
The structure of the model is quite a bit simpler than you might guess from the above image. DNA is like a spiral staircase, with each step of the staircase rising 0.34 nanometers and turning 36 degrees. Once you know how to build a single step and how each step connects to the next, you can build a molecule model of any length by just stacking copies of the step.
But you need four step models rather than just one. The steps are where DNA stores genetic information. The data is written in an alphabet of four letters: A (adenine), C (cytosine), G (guanine), and T (thymine). Each of these nucleotide bases forms a pair with only one of the others. C always pairs with G, and A always pairs with T. Each step is a base pair, and there are four of them altogether: AT, TA, CG, and GC.
DNA sequences are written as strings of letters representing the bases along one of the molecule's two strands. Which strand, and in which direction? The carbon atoms of the backbone (the railing of the staircase) are numbered, and each step is connected to the next by bonds to the carbon atoms labeled 3' and 5'. Sequences are written in the same order in which they're transcribed in the cell, in the 5' to 3' direction, which runs opposite ways on the two strands. Either strand can contain data, but not both in the same spot.
The DNA modeling plug-in stores the atom positions for each of the four base pairs. The molecule is then constructed by stacking base pair models in the sequence specified by the user.
Each atom can be represented as a sphere (polygonized at any resolution), a dodecahedron (a solid with twelve pentagonal sides), or a point, and bonds can be cylinders or line segments. Atom and bond radius can be varied to produce space filling CPK (Corey, Pauling, Koltun) models (above), ball and stick models (AT base pair module, lower left), or stick models.
Francis Crick and James Watson announced their discovery of the structure of DNA in the British science journal Nature in 1953. The geometry of the models shown here is based on reprints of that and other papers in the W. W. Norton edition of Watson's The Double Helix, along with information in a more recent textbook (Bailey and Ollis, 1986).