Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab...

20
Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco

Transcript of Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab...

Page 1: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Programming Bacterial Communities to Function as Massively Parallel Computers

Jeff Tabor Voigt Lab

University of California, San Francisco

Page 2: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Cells can perform logical computations

Page 3: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Biological computers are slow and noisy

Page 4: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

To engineer an efficientbiological computer…

• Choose a problem which is– Computationally simple– Scales well with many parallel processors

• Number of bacterial computers that can be grown inexpensively in one day:– 224(hr)/20(min)=272=4x1021

– ~1011 transistors in a PC– ~1010 PCs worth of computational power

• Image Processing– Amenable to parallel efforts (many independent variables)

c/o Zack B. Simpson

Page 5: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Bacterial edge detector

Projector

Petri dish

Page 6: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Steps to engineering a bacterial edge detector

1. Make blind E.coli ‘see’

2. Engineer a bacterial ‘film’

3. Program film to compute light/dark boundaries

Page 7: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Step1: Engineering E.coli to see light

Levskaya et al., Nature 2005

Bla

ck P

igm

en

t

Page 8: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Patterning bacterialgene expression with light

Levy, Tabor, Wong. IEEE SPM 2006

Page 9: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Step 2: Bacterial photography

ImageMask

BacterialLawn

‘Blind’E.coli

Levskaya et al., Nature 2005

Page 10: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Bacterial portraiture

Escherichia EllingtonE.coli self-portraitPhoto: Marsha Miller

Levskaya et al., Nature 2005

Page 11: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Bacterial films show continuous input-output response

Light Intensity

Outp

ut

Levskaya et al., Nature 2005

Page 12: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Continuous response allows grayscale fidelity

Page 13: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Conclusions – Bacterial Photography

• Theoretical resolution of 100 Megapixels per square inch– 10x higher than modern high-resolution printers

• Direct printing of biological materials– Spider silks– Metal precipitates

• Light offers exquisite spatiotemporal control– Spatial: Chemical inducers diffuse – Temporal: Chemical inducers must decay

Page 14: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Genetic circuit for edge detection

Only occurs at light/dark boundary

Page 15: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

LOW output from gate 1 interpreted as HIGH input at gate 2

Light inhibition isincomplete

Page 16: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Matching gates through RBS redesign

Page 17: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Step 3: Bacterial Edge Detection

Page 18: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Bacterial Edge Detection

Page 19: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Conclusions – Edge Detector

• Scale-free (size-independent) computation time – Quadratic scaling in serial computers

• Largest de novo synthetic genetic system to date– 17.7kb

• Communication facilitates transition from simple single cell logic to emergent community-level behaviors

Page 20: Programming Bacterial Communities to Function as Massively Parallel Computers Jeff Tabor Voigt Lab University of California, San Francisco.

Acknowledgements

• Zack Simpson (UT-Austin)• Aaron Chevalier (UT-Austin)• Edward Marcotte (UT-

Austin)• Andy Ellington (UT-Austin)• Anselm Levskaya• Chris Voigt