Media:Network_Optimization_102811

advertisement
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?
Expression of Problem
Desired Network Function
D
B
C
A
Various Network States
•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
Golden Gate Combinatorial Diversity
LVA
LVA
LVA
LVA
n Promoters
t RBS
s Genes
u Degradation tags
http://2011.igem.org/Team:Washington/Magnetosomes/Background
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
Solution
• 3 x 1015 combinations is too many to search
through, even with selection
• Solution may be to conduct stages
1.
2.
3.
4.
Search for best combinations of promoters
Search for best RBSs
Search for best degradation tags
Repeat
Golden Gate Combinatorial Diversity
assemble in vitro
test and select in vivo
isolate and sequence
copy number variations via plasmids
allow for random mutations and sequence genome
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
Starting Constructs
Word1
Word2
BsaI
BsaI
Word1
Word2
BsaI
BsaI
Word1
Word2
BsaI
BsaI
Word1
BsaI
Word2
BsaI
Gene 1
LVA
Gene 2
LVA
Gene 3
LVA
Gene 4
LVA
Promoter Library
Word1
BsaI
Word1
BsaI
BsaI
Word2
BsaI
Word1
BsaI
Word2
BsaI
Word1
BsaI
Word2
Word2
BsaI
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
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
Second Stage
Word3
BsmBI
Word4
BsmBI
Gene 1
LVA
BsmBI sites are used to insert various RBS elements
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
Third Stage
Gene 1
Word3
BtsI
LVA
BtsI sites are used to insert various LVA elements
Word4
BtsI
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
Possible math connections
6
15
13
2
14
7
3
10
4
5
1
9
12
11
8
Graph Search Algorithms – Finding local maxima
Possible math connections
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).
6
15
13
2
14
7
3
10
4
5
1
9
12
11
8
Possible math connections
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).
6
15
2
13
14
7
3
10
4
5
1
9
12
11
8
Possible math connections
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?)
6
15
13
2
14
7
3
10
4
5
1
9
12
11
8
Possible math connections
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?)
6
15
13
2
14
7
3
10
4
5
1
9
12
11
8
Possible math questions
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
How many local maxima are there?
How many starting points lead to each local max?
How many starting points lead to only one max?
What is the longest path to each local max?
If steps are restricted to k steps, what are possible ending states?
Is there a node in the graph that leads to all local max (using Algorithm
2)?
What about ties?
How many starting points would need to chosen to be confident that
each local max is found for a particular graph?
What information can be gained from the unlabeled graph?
Connections to Mastermind?
Download