A Self-Assembling Protein Template for Constrained Synthesis and Patterning of Nanoparticle Arrays | Synapse