An important problem in nanotechnology is to develop a method for assembling complex, aperiodic, structures. While simple self-assembly will not be able to address this problem, programmable-, or algorithmic-, self-assembly is powerful enough to be a potential solution. Here, we address the question of how the basic properties of the constituent building blocks are related to the periodicity of the resulting assembly. By introducing the parameters unique structures, which gives a measure of the complexity of an assembly, and bond uniqueness, which gives a measure of how the building blocks fit together, we show how to quantify the structural quality of a general assembly system and present relations between the parameters. The introduced methods will be helpful when designing assembly systems to be used for direct fabrication of nanosystems or for nano-scaffolds and addressable arrays.