Abstract :
Cell-cell communication can be harnessed to distribute tasks across different cells. Applied to biocomputation, communication enables cell populations to carry out operations too complex to be performed in a single cell. Doing so in a predictable manner requires well characterized genetic parts that can signal between cells and process those signals. In this work, we develop a set of 12 logic gates encoded on the E.coli genome based on phage repressors with superior characteristics to previous sets of transcriptional logic gates. We additionally develop a set of four cell-cell communication devices compatible with the newly designed logic gates. To engineer large circuits, we introduce a method to partition a large genetic circuit across different cells while considering the size of the circuit that can be placed in a single cell and communication between cells. Together, these tools were used to implement a recoded version of the MD5 hashing function, a historically widely used cryptography algorithm. The circuit requires 110 logic gates partitioned across 65 E. coli strains, requiring a total of 0.66 Mb of recombinant DNA introduced onto their genomes with the most complex strain carrying a total of 40 recombinant genes. For each unique strain we constructed, we experimentally verified the strains can sense the appropriate input signals and compute the correct logic function, as indicated by a fluorescent output. To validate each cell communicates the correct signal to signal to the next cell, we use reporter cells to measure the signal from the sender and show the reporter cells respond correctly. This work demonstrates the behavioral complexity that can be achieved with synthetic cellular populations.