  Branched junction molecule assembly of DNA nanostructures, pioneered by
Seeman's laboratory in the 1980s, has become increasingly sophisticated, as
have the assembly targets. A critical design step is finding minimal sets of
branched junction molecules that will self-assemble into target structures
without unwanted substructures forming. We use graph theory, which is a natural
design tool for self-assembling DNA complexes, to address this problem. After
determining that finding optimal design strategies for this method is generally
NP-complete, we provide pragmatic solutions in the form of programs for special
settings and provably optimal solutions for natural assembly targets such as
platonic solids, regular lattices, and nanotubes. These examples also
illustrate the range of design challenges.
