We hypothesize that viruses can be classified into different structural lineages based on common architectural principles. Strict constrains in structure space limit the possibilities of protein folds that are capable of making an infective virion. We study mainly prokaryotic viruses that are used as non-pathogenic model organisms in understanding structure, assembly and function of biological macromolecular complexes. These studies have also shed light on the evolution and origin of viruses. We propose that seemingly unrelated viruses infecting hosts in all three domains of life may have a common origin.