ETH Zurich 2006

From 2006.igem.org

(Difference between revisions)
Jump to: navigation, search
(System Architecture)
(added link to FTD article)
 
(315 intermediate revisions not shown)
Line 1: Line 1:
-
=''CHAOS CLONING CLUB (CCC)''=
+
<center>[[Image:ETH_2006_pic_for_frontpage.jpg|ETH Team 2006]]
 +
<BR/><b>standing (L-R):</b> Marco, Alexandra, Arthur, Olga, Dimo, Marko, Robert; <b>in front (L-R):</b>
 +
Franz, Michael</center>
 +
<br><br>
-
= News =
+
<center>
-
* '''2005.10.25''' Now we know that '''Blue Heron will not be able to deliver in time'''.
+
'''>>>>>>>>>>>> [http://www.zfranz.ch.vu/iGEM/ETH-iGEM-%202006-%20presentation.pdf Download ETH iGEM presentation 2006 as PDF] <<<<<<<<<<<<'''
-
* '''2005.10.24''' We had a very intensive meeting on the overall concept and the documentation of the project. This page will change a lot in the coming days.
+
</center>
-
* '''2005.10.23''' One month after ordering, the sequences are still not ready. That means it is unlikely for us to complete the 4-State Device before the jamboree unless we find some alternative solutions (and have quite a bit of luck). See message from blue herons web page:
+
-
''IMPORTANT NOTE: Despite Blue Heron Bio's capacity expansion, record order volume has created larger than anticipated queuing, which has increased delivery times for some orders. We are reviewing Estimated Ship Dates regularly to provide you with our best estimate of when your order will ship. We are working hard to deliver your orders as quickly as possible, and we are implementing new capacity management systems to avoid this problem in the future. If you have any questions or concerns please call our Customer Service.''
+
<center>
 +
'''>>>>>>>>>>>>> [http://www.fotofranz.ch.vu/igem See pictures of the iGEM Jamboree in Boston] <<<<<<<<<<<<<'''
 +
</center>
-
* '''2005.10.18''' The parts for the actual Event Processing Device are ready, thanks to the hard work of Giorgia, Hervé, and Maartje (not all test/debugging parts though)
+
<center>
-
* '''2005.10.07''' Message from Blue Heron: Sequences for NOR are synthesized and will be verified and assembled next week.
+
'''>>>>>>>>>>>>> [http://ftd.de/forschung/154366.html Read article in Financial Times Deutschland: &quot;Eins plus eins gleich Gr&uuml;n&quot; (german only)] <<<<<<<<<<<<<'''
-
* '''2005.09.23''' Sequences for 4-State Device ordered from Blue Heron
+
</center>
 +
<br><br>
-
= Organisation =
+
<blockquote>
 +
Adding numbers is easy, isn't it? 1234 plus 5678, for example, is 6912. But how do engineers add binary numbers instead of decimal ones? And how, in the end, can this be done by a living cell?
-
== People ==
+
We, the members of the ETH Zurich 2006 iGEM team, are currently working on these questions, whereas the last one seems to be not trivial.<br><br>
-
=== Students ===
+
 
-
{| width=700
+
What the addition of numbers has to do with pattern recognition, how our model and the mathematical analysis look like, and how the experiments are realized will be explained on these wiki pages. We wish you a pleasant time with our pages. Enjoy it!
-
|[[Simon Barkow]]
+
</blockquote>
-
|[[Christophe Dessimoz]]
+
 
-
|[[User:Zladdi|Zlatko Franjcic]]
+
<br><br>
 +
 
 +
== Coordination ==
 +
 
 +
=== TODOs ===
 +
 
 +
==== Modeling ====
 +
 
 +
*'''Parts''' Model the whole System with Sensing, PoPS duplexer and Half adder (Marco and Franz) -- probably not
 +
*Model whether a different strength of input is necessary for the AND and XOR Gates (Marco)
 +
*Finish modeling the second AND Gate and find a biological way to implement it and write the DNA and order it (Marco and Robert) -- probably not
 +
* Bring model parameter up to date &amp; update simulation results/senisitivity analysis (Marco)
 +
 
 +
==== Lab ====
 +
 
 +
Responsible: Robert for the preparatory experiments, Olga for the assembly and testing of the gates.
 +
 
 +
*Read the literature on the XOR and AND Gates, check carefully for strains needed and compatibility of the parts (Who?)
 +
*Prepare a protocol for parts assembly (Olga)
 +
 
 +
==== Documentation ====
 +
 
 +
Responsible: Alexandra for the registry, Arthur for the Wiki.
 +
 
 +
* enter lab experience report to registry
 +
* Make a drawing of the DNA to have an overview of which parts will be consecutively on the same DNA piece (Alexandra) (this is part of the [[#System deployment]] section --[[User:Ajk|Ajk]])
 +
* Revise images &amp; graphics (Marco):
 +
** correct errors
 +
** unify symbols
 +
** extract missing ones from slides, see [[ETH 2006 Docs And Links|here]]
 +
 
 +
==== Presentation/Poster and PR====
 +
 
 +
Responsible: Franz for the presentation, Dimo for PR/Poster
 +
 
 +
* design and write the final presentation (with LaTex beamer class) IN PROCESS
 +
 
 +
Structure:
 +
 
 +
1. Introduction of the team and ETH Zurich and of the half-adder idea -  about 3 min
 +
 
 +
2. Engineering Part  -  about 9 min
 +
 
 +
3. Biological part  -  about 8 min
 +
 
 +
(4.) Questions from the audience  -  10min (I think, Marco (modelling) and Marko (biology) should also be ready to answer questions)
 +
 
 +
=== Schedule ===
 +
 
 +
Available as Google Calendar: [http://www.google.com/calendar/render?cid=pqi8ni6gnfj5r3o0np0h4smrr4@group.calendar.google.com iGEM 2006 ETH Zurich]
 +
 
 +
;past:see [[ETH Schedule Archive|here]]
 +
;16.11.: Jamboree wrap up (with T-Shirts!), 5pm at CNB seminar room
 +
 
 +
=== Team members ===
 +
{| cellspacing="0px" cellpadding="5px" style="border-style:solid;border-width:thin;border-color:#dddddd;" rules="all"
|-
|-
-
|[[Dominic Frutiger]]
+
| [[User:Paolo Pinkel|Michael Friedmann]] || [[User:Dimo|Dimo Brockhoff]] || [[Franz|Franz Zürcher]]
-
|[[Robin Künzler]]
+
-
|[[User:realUACM|Urs A. Müller]]
+
|-
|-
-
|[[User:Jonas|Jonas Nart]]
+
| [[Olga Nikolayeva]] || [[User:Choutkoa|Alexandra Choutko]] || [[User:Ajk|Arthur Korn]]
-
|[[Kristian Nolde]]
+
-
|[[Alexander Roth]]
+
-
|-
+
-
|[[User:Tamara|Tamara Ulrich]]
+
-
|[[Giorgia Valsesia]]
+
-
|[[Herve Vanderschuren]]
+
|-
|-
 +
| [[User:Rschuetz|Robert Schütz]] || [[User:Terzerm|Marco Terzer]] || [[Marko Jovanovic]]
|}
|}
-
=== Supervisors ===
+
== Finding a Project ==
-
{| width=650
+
-
|[[Jörg Stelling]]
+
-
|[[Sven Panke]]
+
-
|[[Eckart Zitzler]]
+
-
|}
+
-
=== Advisors ===
+
-
{| width=650
+
-
|[[Uwe Sauer]]
+
-
|[[Martin Fussenegger]]
+
-
|[[Andreas Hierlemann]]
+
-
|-
+
-
|[[Kay-Uwe Kirstein]]
+
-
|[[Ruedi Aebersold]]
+
-
|}
+
-
== Timeline ==
+
Finding a project to work on is not easy. Not because it is hard to find interesting projects but because there are too many of them. In the first weeks we did a lot of brainstorming including thoughts about the projects' feasibility. You can find a list of ideas [[ETH 2006 Ideas|here]].
-
* [[Meetings]]
+
-
* [[Classes And Talks]]
+
-
== Tasks ==
+
During the weeks, we decided to split up the whole team into two groups. Each group proposed a project after these two weeks of separated work:
-
* [[Task Assignement]]
+
-
* [[Documentation ToDo's]]
+
-
=Abstract= The project of the ETH Zurich team consists of the design and implementation [http://en.wikipedia.org/wiki/In_vivo in vivo] of a gene circuit that can count to 2. In essence, the counter uses two toggle switches, each storing 1 bit, to keep track of the 4 internal states. The design of the counter is highly modular, with the hope that it can be included as a unit in larger circuits, and also combined with further counter instances to keep track of a much larger number of states, up to 2^n with n units. To facilitate further developments and integration to other projects, the counter is available in form of [http://parts2.mit.edu| BioBricks]. Among many exciting applications, the availability of a counter enables the execution of sequential instructions, and paves the way for the execution of artificial programs inside living cells.
+
* [[ETH 2006 Meat Monitor|Meat monitor project]] (Michael, Dimo, Olga, Arthur, Marko)
 +
* [[ETH 2006 Half adder|Half adder/pattern recognition project]] (Franz, Alexandra, Robert, Marco)
-
=Introduction=
+
After the proposals, we decided to further pursue the half adder project idea.
-
The past few years have seen the emergence of the field of Synthetic Biology, in which functional units are designed and built into living cells to generate a particular behaviour, and ultimately to better understand Life's mechanisms. Previous efforts include the creation of gene circuits that generate oscillating behaviour ([[Elowitz00]]), toggle switch functionality ([[Atkinson03]]), artificial cell-cell communication ([[Bulter04]]) or pattern-forming behaviour ([[Basu2005]]). In the framework of the [http://parts2.mit.edu/wiki/index.php| iGEM2005 summer competition] we have evaluated several [[Previous_Ideas| potential novel ideas]], and decided to realize a gene circuit that counts external events to 2 - with the possibility to be [[ETH_Zurich#Outlook| extended to more complex systems]]. The present document describes the design and implementation of the device.
+
-
=Concept=
+
== Design process ==
-
The counter is a finite state machine implemented as a genetic circuit. It has 4 internal states ''R1'' to ''R4''. The transition between these states is induced by an external stimulus with values 0 and 1 - denoting whether it is absent or present, respectively. Repeated stimulus will lead to successive transitions and finally to repeated cycling through those 4 states.
+
-
Each time the state R4 is reached, an output signal is generated. This leads to a counting behavior where every second occurence of 1 (high signal) is indicated by the output signal.
+
=== System behavorial specification ===
-
[[Image:EApicture.gif]]
+
# Write something with a chemical on a petri plate (like '''ETH''' for example)
 +
# Let Bacteria grow uniformly on the plate
 +
# Expose the plate to a picture (black and white) of the same pattern
 +
# Result:
 +
#*Bacteria gets green when pattern on the plate and picture match (light and chemical)
 +
#*Bacteria does not express fluorescent protein when pattern on the plate and picture match (no light and no chemical)
 +
#*Bacteria gets red when pattern on the plate and picture do not match
-
[[FSM description| Further information on the state machine]]
+
            light  no light
 +
chemical    A        B
 +
no chemical  B        C
-
The coupling of further instances of this state machine allows to count to higher numbers, up to 2^n with n units.
+
The outputs can be reported by fluorescent proteins, the mapping of states to outputs is arbitary, our choice is:
-
=System Implementation=
+
A: green
 +
B: red
 +
C: no fluorescence
-
==System Architecture==
 
-
[[Image:Counter_SysDevParts_SysLvl.jpeg|thumb|Figure 1: System abstraction level of the counter system]]
 
-
[[Image:Counter_SysDevParts_DevLvl.jpeg|thumb|Figure 2: Device abstraction level of the counter system]]
 
-
[[Image:Counter_SysDevParts.jpeg|thumb|Figure 3: Parts abstraction level of the counter system]]
 
-
Below you find an illustration of the counter system according to the [http://partsregistry.org/cgi/htdocs/AbstractionHierarchy/index.cgi abstraction hierarchy] of the MIT Registry of Parts. Also note that all interfaces have flows described in '''Po'''lymerase '''P'''er '''S'''econd (PoPS).
+
An experiment in the lab could for instance look like this:
-
===System Level===
 
-
In [Fig 1] you can see the system abstraction level of our Counter. It takes one PoPS-encoded signal as an input from a sensing device and outputs a signal in form of high PoPS at every other detected event to a reporting device.
 
-
===Device Level===
+
[[image:ETH_Pattern_Experiment.png|center|400px|pattern experiment]]
-
The Counter system itself consists of two devices [Fig 2], serially linked:
+
-
* The [[ETH Zurich#Event Processing Device| Event Processing Device (EPD)]], which splits the input into two outputs: one feed through and one inverted signal with similar delays - which serve in turn as inputs for the 4-State Device.
 
-
* The [[ETH Zurich#4-State Device| 4-State Device (4SD)]] module, which uses these two signals to sequentially switch through the states R1, R2, R3 and R4.
 
-
For this prototype we have two additional devices to detect a test signal and to produce a reporter, respectively:
+
or like this:
-
* The '''sensing device''' to detect internal events and convert it to an input signal for the Event Processing Device
+
-
* The '''reporting device''' to make the output of the 4-State Device observable.
+
-
Because of the PoPS interface at the system boundaries, the input to the EPD can be of any nature as long as an adequate promoter is available for the sensing device (e.g. heat-shock using a sigma32 promoter, IPTG using a LacI promoter, AHL using quorum sensing promoters...). The same of course applies also to the output, i.e. the reporting device is independent of the Counter system.
 
-
===Parts Level===
+
[[image:ETH_Eth_Experiment.png|center|300px|eth experiment]]
-
[Fig 3] shows the device level and the detailed parts level (with [http://parts2.mit.edu/r/parts/htdocs/AbstractionHierarchy/index.cgi| BioBrick] symbols) and detailed protein interaction.
+
-
<br style="clear:both" /> <!-- avoid text wrapping image from now on (so the image won't overlap with the following section) -->
+
Considering the green and the red output as being separate, the logic mapping the input states to the output states is AND for the GFP and XOR for the RFP. Together they amount to a half adder logic.
-
==Devices==
+
The whole system is only considered at it's steady state, dynamic processes are only of minor interest.
-
=== [[Event Processing Device]] (EPD)===  
+
=== System structure ===
-
==== Basic Functionality ====
+
-
[[image:inputPops.png|thumb|Figure EPD.1: Schematic of the two output signals in dependence of the input signal (an external event) in the Event Processing Device]]
+
-
The Event Processing Device splits the input induced by an external event into two signals: one is basically fed through while the other is inverted. The device is best described through its system boundaries: in absence of an input signal the system is in its ground state and one of its two outputs is high while the other is low. The outputs are inverted as soon as there is an input signal S present [Fig EPD.1]. Both output signals then serve as input signals for the [[ETH_Zurich#4-State_Device| 4-State Device]] and it is thus necessary that they have approximately the same delay.
+
-
==== Biological Implementation ====
+
The whole process can be brought into a common input, logic, output form:
-
Biologically, a system has to be found and/or designed that provides two opposing outputs controlled by some regulater protein which in turn depends on a sensor system which ideally can be exchanged.
+
-
The [[Event_Processing_Device#Basic_Principle_of_Modified_.26lambda.3B-phage_system_in_EPD| unidirectional &lambda;-phage system]] from the [http://parts2.mit.edu/| MIT parts registry] seemed to be the most promising and feasable solution to this regulator problem.
+
-
As an input system to the [[Event_Processing_Device| EPD]] we chose the well known [[Event_Processing_Device#Basic_Principle_of_Modified_.26lambda.3B-phage_system_in_EPD| lac-system]] which can be triggered by IPTG to simulate an external event.
+
[light sensing]----->[       ]-->[reporter A]
-
This system is certainly not perfect, but well suited for a first prototype implementation within the framework of iGEM 2005.
+
                      [ logic ]
 +
[chemical sensing]-->[      ]-->[reporter B]
-
==== Detailed Documentation ====
+
As it turns out, a [http://en.wikipedia.org/wiki/Full_adder half-adder] can be used as logic part. To understand what a half-adder is, let us first have a brief look at how we add numbers by hand.
-
For more details, please consult the main page for the [[Event Processing Device]].
+
-
=== [[4-State Device]] (4SD) ===
+
If we add two (large) numbers, we usually start with the least significant digits and add these two digits:
-
==== Basic Functionality ====
+
-
The 4-State Device uses two inputs to sequentially switch through four states. At every second occurence of a high main input signal, the fourth state is reached. Note that this behaviour can be observed abstractly in the concept section.
+
-
To implement this behaviour, we use the idea of an electronic circuit with four NOR gates, each having three input signals. These gates are connected in such a way, that at any time one of them has high and all the others have low output. We define the gate with high output as the ''active state''. Each time the main input signal rises or drops, the active state ist changed: The next gate in the sequence becomes active.
+
  1234
 +
+ 9684
 +
------
 +
  ....8
-
==== Biological Implementation ====
+
In the example, the digit's sum is smaller than 10. Thus, we do not need to keep the carry-over in mind (it is zero in this case). For the second digit, the sum is 11 and we have to memorize the carry 1 and so forth:
-
We use Zinc Finger proteins (ZFP) as repressors. This class of proteins binds to specific base pairs sequence on the DNA. Many protein-DNA interactions for ZF domains and triplet of base pairs have been described, therefore making it possible to design artificial transcription factors by combining ZF domains in a modular fashion. The idea is to use a ZFP as a repressor by putting a binding site for a ZFP upstream of the coding DNA sequence and thereby preventing RNA polymerase from transcribing this coding sequence.
+
-
==== Detailed Documentation ====
+
  1234      1234      1234      1234
-
More details can be found in the dedicated [[4-State Device]] page.
+
+ 9684    + 9684    + 9684    + 9684
 +
    1                  1
 +
------    ------    ------    ------
 +
  ...18      ..918      .0918    10918
-
== [[Mathematical Modeling]] ==
+
In general, each addition step produces the sum, consisting of the current digit of the sum and the carry digit. The only difference between the first and the other steps are the ''inputs'': When the addition starts, there is no carry bit. The inputs are the two least significant digits of our two numbers. All further steps consider the two current digits of our numbers plus the carry-over from the previous step.
-
[[Image:ModelCounterArch.png|thumb|250px|Figure Simulation 1]]
+
-
The simulation was performed through a deterministic model using ordinary differential equations (ODEs), as this approach is commonly used in modeling gene networks. Recall the counter architecture in [Figure Simulation 1].
+
If you add two numbers with your pocket calculator or your computer, the underlying principle is the same. The only difference is that electronical devices normally work with binary numbers instead of decimal ones. The digits are then only 0 and 1 instead of 0,1,2,...,8, and 9. A half-adder device does the first addition step in an electronical adder;
 +
it can add two binary input values, the least significant bits of the two numbers. It has also two binary outputs, the sum value S and a carry out C. Two half-adders can be combined to a full-adder, which can be used for the computation of the other (higher valued) bits.
-
R1 to R4 are the zincfingers that are expressed. S is the input of the counter. Note that the work of the Event Processing Device is symbolized by the dual effect of S, once as an activator and once as a repressor. Zincfingers R1 and R3 have Pr as a promoter, R2 and R4 have Prm as a promoter. See [[Event_Processing_Device]] for more details.
+
A half adder can be constructed from two simplier well-known electronical devices: an XOR gate (the sum value S) and an AND gate (the carry out):
-
Note: This figure needs to be updated!
+
    A              A
 +
    ^              ^
 +
  1| 1 0        1 | 0 1
 +
  0| 0 1        0 | 0 0
 +
    +-----> B      +----> B
 +
      0 1            0 1
 +
 +
  S = A XOR B    C = A AND B
 +
The sum output S and the carry out C are exactly the values needed for our system. The resulting system architecture is:
 +
[[image:ETH_System_Architecture.png|center| |system architecture]]
 +
=== System modeling ===
 +
According to the system structure, we first decompose our overall system into devices:
 +
* [[ETH2006_xor| XOR Gate]]
 +
* [[ETH2006_and| AND Gate]]
 +
* [[ETH2006_iptg| IPTG (Chemical) Sensing]]
 +
* [[ETH2006_light| Light Sensing]]
 +
* [[ETH2006_copy| PoPS Duplexer]]
 +
The dynamic behavior of each device was modeled by a set of ODEs (ordinary differential equations). The steady-state we are interested in was determined by simulating the system until all the states (concentrations and rates) settled down to rather constant values. This method is not mathematically sound as systems might settle to different steady-states depending on the initial conditions, or the system might regain momentum after almost, but no completely, settling down. The first concern can be adressed by running simulations starting from varying initial conditions and verifying that there is only a single steady-state, the second issue is rather theoretical as this kind of behaviour is rarely found in real systems.
 +
==== Modular simulation ====
 +
Modular modeling allows simulation at different detail levels, e.g.
-
The 4 corresponding differential equations are:
+
* reusable complexes reoccurring in different devices, like
-
 
+
** transcription
-
dR1/dt = k_syn_R1 * rep(S) * rep(R2) * rep(R3)  -  k_deg_R1 * R1
+
** translation
-
dR2/dt = k_syn_R2 * act(S) * rep(R3) * rep(R4)  -  k_deg_R2 * R2
+
** encymatic reactions
-
dR3/dt = k_syn_R3 * rep(S) * rep(R1) * rep(R4)  -  k_deg_R3 * R3
+
* single devices, different variants of same device type, as a basis of decisionmaking
-
dR4/dt = k_syn_R4 * act(S) * rep(R1) * rep(R2)  -  k_deg_R4 * R4
+
* 2 or several connected devices &rarr; for instance to see which duplexer variant fits better with which AND/XOR gate variant
-
          \_________________ _________________/  \_______ _______/
+
* overall system &rarr; to see if everything together still works
-
                            V                            V
+
-
                    synthesis rate              degradation rate
+
-
+
-
  where  act(A) = (A/K_act)^n / (1+(A/K_act)^n)
+
-
    and  rep(R) = 1 / (1+(R/K_rep)^n)
+
-
+
-
  K are affinity constants, while k are kinetic constants.
+
-
[[Image:nominal.jpg|thumb|350px|Figure Simulation 2: Oscillating concentrations of the zincfingers]]
+
We have developed such a modular system in MATLAB:
 +
* the current implementation defines modules at device level (reusable complexes is a pending issue)
 +
* modules mainly are characterized by number/kind of input and output and can be simulated with an appropriate simulation function
 +
* input/output kind: we destiguish between ''concentration'' and ''rate (PoPS)''
 +
* the modules have 1-2 inputs/ouptus, for instance 2 inputs/1 ouptut for AND/XOR gate
-
Solving the system in Matlab using reasonable affinity and kinetic constants, the result can look as in [Figure Simulation 2].
+
==== Parameter estimation &amp; sensitivity analysis ====
 +
It is known, and we have made the same (sometimes painful) experience that parameter estimation is the most difficult and laborious part of modeling. Most parameters are simply not known, and estimating them sometimes approaches playing dice.
-
As expected, [R4] follows every second peak of [S].  
+
One way to address this problem is sensitivity analysis: if we change some parameter, what effect has it on the behavior of the model? The sensitivity matrix S at steady state can be computed with the jacobian matrices of the ODEs with respect to the states (concentrations) and parameters. To be able to compare the results, parameter and state values are normalized, that is, the changes are expressed relative to the unperturbed value.
-
By exploring the parameter space and performing [[Modeling_and_overall_design#Sensitivity_Analysis|Sensitivity Analysis]], the following conclusions could be drawn:
+
Sensitivity analysis gives clues about
-
* Changes in the affinity/cooperativity of the input signal S affect the system more strongly than changes in the affinity/cooperativity of the zincfingers.
+
* whether our models behaviour resembles the desired behavior
-
* The affinities of the zincfingers/input signal S are more sensitive than the cooperativities.
+
* which parameters have hardly any effect on the relevant states (they don't have to be considered further and can be fixed to some arbitary value)
-
* The maximum expression rate and the degradation rate of the zincfingers are the most sensitive parameters. The maximum expression rate is a bit more sensitive, but they are quite close together.
+
* which parameters influence the relevant states significantly and thus deserve further attention
-
* The affinity constants R1..R4 should be as symmetrical as possible, in particular the couples R1,R3 and R2,R4. A difference in the affinity constant up to an order of magnitude appears tolerable.
+
-
* ...
+
-
More details of the simulation work are reported on the page [[Mathematical_Modeling]].
+
-
= Results =
+
==== The role of modeling ====
-
We have ongoing experiments and the documentation is not up to date / well structured. In the meantime, please refer to the [[Experiments]] page.
+
-
= Discussion =
+
With all the uncertainties and difficulties (such as parameter estimation) the question might raise whether modeling is worthwile at all. Our answer is yes, but one has to think of modeling as an integrated process. It should not be seen as a precursor phase of experiment and synthesis, it is part of the design cycle.
-
=Outlook =
+
-
As already mentioned in the introduction the field of Synthetic Biology is still very young but shows a lot of potential. At this stage every new development can have huge effects on the general focusing of the field. During our project we came to the point where we had to decide whether we want to go for a cool and fancy behaviour or for a part that can be reused in the future for many other things (see the previous ideas). The result described in detail in the above sections show obviously that we went for the ladder. People who hear about Synthetic Biology for the first time by reading about our project might think: “Why should a bacterium be able to count to two?” A good question. In order to give an answer and also a feeling about the mightiness of our approach to the reader, we want to list a few of our ideas in the following:
+
After brainstorming and selecting a project, we started with abstract models of the necessary devices on a very schematic level. For instance, we came up with different theoretical models for the XOR and AND gates - without considering biology too much at this early stage. Then we looked for biological systems which resembled one of our models - the literature research was to some extent model driven. We refined the remaining models and simulated the devices for the first time - here, the ODEs and MATLAB joined in. These models helped a lot in deciding which gate variants should be prefered. As we gained knowledge about possible biological implementations, the models where constantly adapted.
-
One of the first things that comes to one’s mind is to add further 4SDs in series. This way you could not only count to 2 but to 2^n, where n is the number of 4SDs. You only have to change the zincfingerproteins of each 4SD in order to avoid interactions (for 3 fingers there are already about 250’000 possible combinations). With 64 of these 4SDs we would already have the instruction length of the latest computers.
+
Important is also the interaction of modeling and experiments. Modeling and sensitivity analysis can suggest where observed difficulties arise and thus guide the experiments that pin down the problem, eventually leading to a solution.
-
But our counter can’t only be seen in the common sense. You can also use it to provide a certain sequence of actions. By adding to carefully selected states an extra DNA strand coding a protein one could control a complicated sequence by only giving input signals at the event processing device. The network of 4SDs would do the rest. Such a network could also have parallel parts as the output of one state could be used as input of two or more other 4SDs.
+
=== System deployment ===
-
As in the Registry of Standard Biological Parts the inputs and outputs of the parts are defined by PoPS any imaginable input could be used for the counter (you only need to find a proper promoter). E.g. a protein which is typical for a certain state in the cell division cycle could be used to count the number of cell divisions. With a periodical input a clock is also achievable.
+
We will assemble the AND gate plus the XOR gate on two seperate plasmids (pACYC177 and pACYC184 from NEB). In order for our system to be tested we need a special strain expressing lacI and tetR. In our case we plan to use strain DH5αZ1.
-
Furthermore the different parts of the counter could be reused too: the 4SD (or just parts of it) for example as a simple NOR-gate or J-K-flip-flop.
+
=== System test procedure ===
-
Besides all these practical applications any engineer would approve that a counter is a crucial part for a finite state machine. Therefore this counter could be a part of the heart of a future biological computer. Such a computer can’t work as fast as common processors made of silicon of course. But as in a single drop millions of bacteria can exist, this drop could have the power of a huge computer network.
+
In order to test the functionality of the gates experimentally, we decided to mimic the signal inputs via two well controllable inducible promoters. This will help us to test the gates under different input conditions and help in determining the limits of our system. As inducible promoters we chose the lactose-inducible promoter (Plac) and the tetracycline-inducible promoter (Ptet). Both promoters are well described in literature and also tested extensively. However, in order to test our system with those two promoters, we will need to use a special e. coli strain, designed our whose genome encodes for the tetR and lacI gene (e.g. DH5αZ1 strain). The two promoters are flanked by unique restriction sites, so that once the gates are tested, these promoters can be easily exchanged by any promoter of interest. Consequently, our gates could be coupled to a number of other promoters that respond to a desired input signal.
-
= Appendix =  
+
== [[ETH_2006_Docs_And_Links|Useful Documents & Links]] ==
-
== References ==
+
-
[[atkinson03]],
+
-
[[basu05]],
+
-
[[bates05]],
+
-
[[Beerli00]] (Linker),
+
-
[[Beerli02]],
+
-
[[Beerli98]],
+
-
[[bulter04]],
+
-
[[cho04a-sensitivity]],
+
-
[[Chou et al.]] 1998,
+
-
[[Dreier01]] (ANN-paper),
+
-
[[Dreier05]] (CNN-paper),
+
-
[[goryachev05]],
+
-
[[Greisman97]],
+
-
[[Isalan01]],
+
-
[[keiler01]],
+
-
[[Klug05]] (Minireview),
+
-
[[Lai04]],
+
-
[[Mani05]],
+
-
[[miller01]],
+
-
[[Newman03]] (Leucine Zippers),
+
-
[[Park et al.]] 2005 (Activation of transcription),
+
-
[[römling02]],
+
-
[[ross91]],
+
-
[[Segal03]],
+
-
[[Segal99]] (GNN-paper),
+
-
[[sudesh00]],
+
-
[[suetsugu03]],
+
-
[[sutherland01]],
+
-
[[Yang95]] (Kinetics!!),
+
-
[[you04]],
+
-
[[zogaj01]]
+
-
== Glossary ==
+
[[ETH_2006_Docs_And_Links|see here]]
-
== [[Previous Ideas]] ==
+
-
This is the brainstorming and previous ideas section. In this section you will find other projects that had been pursued, as well as random ideas without too much consideration of feasibility, etc.
+

Latest revision as of 10:15, 19 February 2007

ETH Team 2006


standing (L-R): Marco, Alexandra, Arthur, Olga, Dimo, Marko, Robert; in front (L-R):

Franz, Michael



>>>>>>>>>>>> [http://www.zfranz.ch.vu/iGEM/ETH-iGEM-%202006-%20presentation.pdf Download ETH iGEM presentation 2006 as PDF] <<<<<<<<<<<<

>>>>>>>>>>>>> [http://www.fotofranz.ch.vu/igem See pictures of the iGEM Jamboree in Boston] <<<<<<<<<<<<<

>>>>>>>>>>>>> [http://ftd.de/forschung/154366.html Read article in Financial Times Deutschland: "Eins plus eins gleich Grün" (german only)] <<<<<<<<<<<<<



Adding numbers is easy, isn't it? 1234 plus 5678, for example, is 6912. But how do engineers add binary numbers instead of decimal ones? And how, in the end, can this be done by a living cell? We, the members of the ETH Zurich 2006 iGEM team, are currently working on these questions, whereas the last one seems to be not trivial.

What the addition of numbers has to do with pattern recognition, how our model and the mathematical analysis look like, and how the experiments are realized will be explained on these wiki pages. We wish you a pleasant time with our pages. Enjoy it!



Contents

Coordination

TODOs

Modeling

  • Parts Model the whole System with Sensing, PoPS duplexer and Half adder (Marco and Franz) -- probably not
  • Model whether a different strength of input is necessary for the AND and XOR Gates (Marco)
  • Finish modeling the second AND Gate and find a biological way to implement it and write the DNA and order it (Marco and Robert) -- probably not
  • Bring model parameter up to date & update simulation results/senisitivity analysis (Marco)

Lab

Responsible: Robert for the preparatory experiments, Olga for the assembly and testing of the gates.

  • Read the literature on the XOR and AND Gates, check carefully for strains needed and compatibility of the parts (Who?)
  • Prepare a protocol for parts assembly (Olga)

Documentation

Responsible: Alexandra for the registry, Arthur for the Wiki.

  • enter lab experience report to registry
  • Make a drawing of the DNA to have an overview of which parts will be consecutively on the same DNA piece (Alexandra) (this is part of the #System deployment section --Ajk)
  • Revise images & graphics (Marco):
    • correct errors
    • unify symbols
    • extract missing ones from slides, see here

Presentation/Poster and PR

Responsible: Franz for the presentation, Dimo for PR/Poster

  • design and write the final presentation (with LaTex beamer class) IN PROCESS

Structure:

1. Introduction of the team and ETH Zurich and of the half-adder idea - about 3 min

2. Engineering Part - about 9 min

3. Biological part - about 8 min

(4.) Questions from the audience - 10min (I think, Marco (modelling) and Marko (biology) should also be ready to answer questions)

Schedule

Available as Google Calendar: [http://www.google.com/calendar/render?cid=pqi8ni6gnfj5r3o0np0h4smrr4@group.calendar.google.com iGEM 2006 ETH Zurich]

past
see here
16.11.
Jamboree wrap up (with T-Shirts!), 5pm at CNB seminar room

Team members

Michael Friedmann Dimo Brockhoff Franz Zürcher
Olga Nikolayeva Alexandra Choutko Arthur Korn
Robert Schütz Marco Terzer Marko Jovanovic

Finding a Project

Finding a project to work on is not easy. Not because it is hard to find interesting projects but because there are too many of them. In the first weeks we did a lot of brainstorming including thoughts about the projects' feasibility. You can find a list of ideas here.

During the weeks, we decided to split up the whole team into two groups. Each group proposed a project after these two weeks of separated work:

After the proposals, we decided to further pursue the half adder project idea.

Design process

System behavorial specification

  1. Write something with a chemical on a petri plate (like ETH for example)
  2. Let Bacteria grow uniformly on the plate
  3. Expose the plate to a picture (black and white) of the same pattern
  4. Result:
    • Bacteria gets green when pattern on the plate and picture match (light and chemical)
    • Bacteria does not express fluorescent protein when pattern on the plate and picture match (no light and no chemical)
    • Bacteria gets red when pattern on the plate and picture do not match
           light   no light
chemical     A         B
no chemical  B         C

The outputs can be reported by fluorescent proteins, the mapping of states to outputs is arbitary, our choice is:

A: green
B: red
C: no fluorescence


An experiment in the lab could for instance look like this:


pattern experiment


or like this:


eth experiment

Considering the green and the red output as being separate, the logic mapping the input states to the output states is AND for the GFP and XOR for the RFP. Together they amount to a half adder logic.

The whole system is only considered at it's steady state, dynamic processes are only of minor interest.

System structure

The whole process can be brought into a common input, logic, output form:

[light sensing]----->[       ]-->[reporter A]
                     [ logic ]
[chemical sensing]-->[       ]-->[reporter B]

As it turns out, a [http://en.wikipedia.org/wiki/Full_adder half-adder] can be used as logic part. To understand what a half-adder is, let us first have a brief look at how we add numbers by hand.

If we add two (large) numbers, we usually start with the least significant digits and add these two digits:

  1234
+ 9684
------
 ....8

In the example, the digit's sum is smaller than 10. Thus, we do not need to keep the carry-over in mind (it is zero in this case). For the second digit, the sum is 11 and we have to memorize the carry 1 and so forth:

  1234       1234       1234      1234
+ 9684     + 9684     + 9684    + 9684
   1                   1
------     ------     ------    ------
 ...18      ..918      .0918     10918

In general, each addition step produces the sum, consisting of the current digit of the sum and the carry digit. The only difference between the first and the other steps are the inputs: When the addition starts, there is no carry bit. The inputs are the two least significant digits of our two numbers. All further steps consider the two current digits of our numbers plus the carry-over from the previous step.

If you add two numbers with your pocket calculator or your computer, the underlying principle is the same. The only difference is that electronical devices normally work with binary numbers instead of decimal ones. The digits are then only 0 and 1 instead of 0,1,2,...,8, and 9. A half-adder device does the first addition step in an electronical adder; it can add two binary input values, the least significant bits of the two numbers. It has also two binary outputs, the sum value S and a carry out C. Two half-adders can be combined to a full-adder, which can be used for the computation of the other (higher valued) bits.

A half adder can be constructed from two simplier well-known electronical devices: an XOR gate (the sum value S) and an AND gate (the carry out):

   A               A
   ^               ^
  1| 1 0         1 | 0 1
  0| 0 1         0 | 0 0
   +-----> B       +----> B
     0 1             0 1

  S = A XOR B    C = A AND B

The sum output S and the carry out C are exactly the values needed for our system. The resulting system architecture is:

system architecture

System modeling

According to the system structure, we first decompose our overall system into devices:

The dynamic behavior of each device was modeled by a set of ODEs (ordinary differential equations). The steady-state we are interested in was determined by simulating the system until all the states (concentrations and rates) settled down to rather constant values. This method is not mathematically sound as systems might settle to different steady-states depending on the initial conditions, or the system might regain momentum after almost, but no completely, settling down. The first concern can be adressed by running simulations starting from varying initial conditions and verifying that there is only a single steady-state, the second issue is rather theoretical as this kind of behaviour is rarely found in real systems.

Modular simulation

Modular modeling allows simulation at different detail levels, e.g.

  • reusable complexes reoccurring in different devices, like
    • transcription
    • translation
    • encymatic reactions
  • single devices, different variants of same device type, as a basis of decisionmaking
  • 2 or several connected devices → for instance to see which duplexer variant fits better with which AND/XOR gate variant
  • overall system → to see if everything together still works

We have developed such a modular system in MATLAB:

  • the current implementation defines modules at device level (reusable complexes is a pending issue)
  • modules mainly are characterized by number/kind of input and output and can be simulated with an appropriate simulation function
  • input/output kind: we destiguish between concentration and rate (PoPS)
  • the modules have 1-2 inputs/ouptus, for instance 2 inputs/1 ouptut for AND/XOR gate

Parameter estimation & sensitivity analysis

It is known, and we have made the same (sometimes painful) experience that parameter estimation is the most difficult and laborious part of modeling. Most parameters are simply not known, and estimating them sometimes approaches playing dice.

One way to address this problem is sensitivity analysis: if we change some parameter, what effect has it on the behavior of the model? The sensitivity matrix S at steady state can be computed with the jacobian matrices of the ODEs with respect to the states (concentrations) and parameters. To be able to compare the results, parameter and state values are normalized, that is, the changes are expressed relative to the unperturbed value.

Sensitivity analysis gives clues about

  • whether our models behaviour resembles the desired behavior
  • which parameters have hardly any effect on the relevant states (they don't have to be considered further and can be fixed to some arbitary value)
  • which parameters influence the relevant states significantly and thus deserve further attention

The role of modeling

With all the uncertainties and difficulties (such as parameter estimation) the question might raise whether modeling is worthwile at all. Our answer is yes, but one has to think of modeling as an integrated process. It should not be seen as a precursor phase of experiment and synthesis, it is part of the design cycle.

After brainstorming and selecting a project, we started with abstract models of the necessary devices on a very schematic level. For instance, we came up with different theoretical models for the XOR and AND gates - without considering biology too much at this early stage. Then we looked for biological systems which resembled one of our models - the literature research was to some extent model driven. We refined the remaining models and simulated the devices for the first time - here, the ODEs and MATLAB joined in. These models helped a lot in deciding which gate variants should be prefered. As we gained knowledge about possible biological implementations, the models where constantly adapted.

Important is also the interaction of modeling and experiments. Modeling and sensitivity analysis can suggest where observed difficulties arise and thus guide the experiments that pin down the problem, eventually leading to a solution.

System deployment

We will assemble the AND gate plus the XOR gate on two seperate plasmids (pACYC177 and pACYC184 from NEB). In order for our system to be tested we need a special strain expressing lacI and tetR. In our case we plan to use strain DH5αZ1.

System test procedure

In order to test the functionality of the gates experimentally, we decided to mimic the signal inputs via two well controllable inducible promoters. This will help us to test the gates under different input conditions and help in determining the limits of our system. As inducible promoters we chose the lactose-inducible promoter (Plac) and the tetracycline-inducible promoter (Ptet). Both promoters are well described in literature and also tested extensively. However, in order to test our system with those two promoters, we will need to use a special e. coli strain, designed our whose genome encodes for the tetR and lacI gene (e.g. DH5αZ1 strain). The two promoters are flanked by unique restriction sites, so that once the gates are tested, these promoters can be easily exchanged by any promoter of interest. Consequently, our gates could be coupled to a number of other promoters that respond to a desired input signal.

Useful Documents & Links

see here

Personal tools
Past/present/future years