Self-assembly is a process that creates complex heirarchical structures through the statistical exploration of alternative configurations. These processes occur without external intervention. Self-Assembly processes are ubiquitous in nature. Understanding how nature produces self-assembled systems will represent an enormous leap forward in our technological capabilities. Robustness and versatility are some of the most important properties of self-assembling natural systems.