Here we describe the production of conjugates between nanoparticles (e.g., semiconductor nanocrystals, quantum dots, nanorods) and biological molecules (e.g., proteins, DNA). In order to generate the conjugates, two separate E.coli constructs are produced. The first E. coli strain generates proteins (e.g., SpyCatcher, Pilin-C) that bind to the surface of nanocrystal shells via cysteine and histidine linkages to form stable, fluorescent nanocrystal-protein conjugates. The second E. coli strain expresses tagged (e.g., SpyTag, isopeptag) amyloid fibrils on its surface. The complementary components of the linkage protein systems (i.e., SpyTag-SpyCatcher; Pilin-C-isopeptag) bind irreversibly when mixed. As such, mixing the two E. coli strains produces conjugates of the fluorescent nanoparticle-protein complex and the tagged amyloid fibril via these molecular linkage proteins. The conjugates can be patterned into higher-order structures by manipulating the expression of the self-assembling amyloid fibrils. The organized, single-step self-assembly of chains of nanoparticles at the micron scale has the potential to expand the applications and potentials of nanoelectronic and nanophotonic devices.