Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network...

22
Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization

Transcript of Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network...

Page 1: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Programming Bacterial Computers for Network Optimization

or

Using Punctuated Equilibrium for Network Optimization

Page 2: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Problem

• Given a desired network of gene expression– Magnetosome– Enzymes in a metabolic pathway– Subunits of a protein– Other examples???

• Optimal function of network sensitive to– Levels of node components– Interactions among node components– Interactions with other genome-encoded elements

• How can combinatorics be used to optimize the function of a network?

Page 3: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Expression of Problem

Des

ired

Net

wor

k Fu

nctio

n

Various Network States

D

CA

B

• The graph shows the desired network function • Starting at positions A or C, the network can be improved incrementally by

small changes, perhaps achieving the local maximum at B• If larger changes can be introduced into the network, the distant, higher

maximum at D could be found

Page 4: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Golden Gate Combinatorial Diversity

http://2011.igem.org/Team:Washington/Magnetosomes/Background

s Genesn Promoters t RBS u Degradation tags

LVA

LVA

LVA

LVA

Page 5: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Too Many Combinations

• The number of combinations for the network is given by:

N = (n x t x u)s

• Example– There are 19 promoters in the J23100 series alone– There are 5 commonly used RBSs– Consider a network that involves 6 genes– There are at least 4 degradation tags in the Registry

N = (19 x 5 x 4) 6 = 3 x 1015

Page 6: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Solution

• 3 x 1015 combinations is too many to search through, even with selection

• Solution may be to conduct stages1. Search for best combinations of promoters2. Search for best RBSs3. Search for best degradation tags4. Repeat

Page 7: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Golden Gate Combinatorial Diversity

assemble in vitro

isolate and sequence

test and select in vivo

copy number variations via plasmids

allow for random mutations and sequence genome

Page 8: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Principles

• Bacteria already are computers– They take in input, manipulate data, produce output– They have existing hardware that we can exploit

• We can learn how to program bacterial computers with living algorithms

• Gain control of existing networks and to produce new ones

• Bacteria could learn to address problems through selection of networks

• Tune the network • Determine the importance of nodes

Page 9: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Starting Constructs

Word2Word1

BsaIBsaIGene 1

Word2Word1

BsaIBsaIGene 2

Word2Word1

BsaIBsaIGene 3

Word2Word1

BsaIBsaIGene 4

LVA

LVA

LVA

LVA

Page 10: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Promoter Library

Word2Word1

BsaIBsaI

Word2Word1

BsaIBsaI

Word2Word1

BsaIBsaI

Word2Word1

BsaIBsaI

Page 11: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

First Stage Procedure

• Use BsaI GGA to generate a combinatorial library of promoters connected to one type of RBS and the network genes

• Select first layer of network based on output– Sequence members of population

• Move on to Second Stage

Page 12: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Second Stage Procedure

• Use BsmBI GGA to generate a combinatorial library of RBS elements connected to each of the network genes

• Select second layer of network based on output– Sequence members of population

• Move on to Third Stage

Page 13: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Second Stage

Gene 1

BsmBI sites are used to insert various RBS elements

Word4Word3

BsmBIBsmBILVA

Page 14: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Third Stage Procedure

• Use BtsI GGA to generate a combinatorial library of Degradation tags connected to each of the network genes

• Select third layer of network based on output– Sequence members of population

• Repeat Stages 1 and 2 or • Move on to Hypermutation Stage

Page 15: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Third Stage

Gene 1

BtsI sites are used to insert various LVA elements

Word4Word3

BtsIBtsILVA

Page 16: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Hypermutation Stage

• Find conditions under which hypermutation occurs in E. coli (????)

• Select for clones that have increased network function

• Sequence genome of interesting clones to discover mutations of various genes

• Optional: perform some type of subtraction experiment to sort out mutations that several clones have in common

Page 17: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Possible math connections

2

6

13

15

14

1

81112

10 437

9

5

Graph Search Algorithms – Finding local maxima

Page 18: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Possible math connections

2

6

13

15

14

1

81112

10 437

9

5

Algorithm 1: (Maximal improvement) Beginning at a node, move to the adjacent node with largest improvement (in absolute size or percentage). If no such node exists, then at local max. Each node will go to exactly one local max (assuming no ties).

Page 19: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Possible math connections

2

6

13

15

14

1

81112

10 437

9

5

Algorithm 1: (Maximal improvement) Beginning at a node, move to the adjacent node with largest improvement (in absolute size or percentage). If no such node exists, then at local max. Each node will go to exactly one local max (assuming no ties).

Page 20: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Possible math connections

2

6

13

15

14

1

81112

10 437

9

5

Algorithm 2: (Do no harm) Beginning at a node, move to an adjacent node with a larger number. If no such node exists, then at local max. Some nodes can go to only one local max, others can go to more than one. This leads to probabilistic questions. (Which ending more likely?)

Page 21: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Possible math connections

2

6

13

15

14

1

81112

10 437

9

5

Algorithm 2: (Do no harm) Beginning at a node, move to an adjacent node with a larger number. If no such node exists, then at local max. Some nodes can go to only one local max, others can go to more than one. This leads to probabilistic questions. (Which ending more likely?)

Page 22: Programming Bacterial Computers for Network Optimization or Using Punctuated Equilibrium for Network Optimization.

Possible math questions1. How many local maxima are there?2. How many starting points lead to each local max?3. How many starting points lead to only one max?4. What is the longest path to each local max?5. If steps are restricted to k steps, what are possible ending states?6. Is there a node in the graph that leads to all local max (using Algorithm

2)?7. What about ties?8. How many starting points would need to chosen to be confident that

each local max is found for a particular graph?9. What information can be gained from the unlabeled graph?10. Connections to Mastermind?