ETH Zurich 2006

From 2006.igem.org

(Difference between revisions)
Jump to: navigation, search
(Additional Comments:)
(added link to FTD article)
 
(567 intermediate revisions not shown)
Line 1: Line 1:
-
== Introduction ==
+
<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>
-
* [[About us]]
+
<center>
 +
'''>>>>>>>>>>>> [http://www.zfranz.ch.vu/iGEM/ETH-iGEM-%202006-%20presentation.pdf Download ETH iGEM presentation 2006 as PDF] <<<<<<<<<<<<'''
 +
</center>
-
== People ==
+
<center>
 +
'''>>>>>>>>>>>>> [http://www.fotofranz.ch.vu/igem See pictures of the iGEM Jamboree in Boston] <<<<<<<<<<<<<'''
 +
</center>
-
=== Students ===
+
<center>
-
{| width=700
+
'''>>>>>>>>>>>>> [http://ftd.de/forschung/154366.html Read article in Financial Times Deutschland: &quot;Eins plus eins gleich Gr&uuml;n&quot; (german only)] <<<<<<<<<<<<<'''
-
|[[Simon Barkow]]
+
</center>
-
|[[Christophe Dessimoz]]
+
<br><br>
-
|[[User:Zladdi|Zlatko Franjcic]]
+
 
-
|-
+
<blockquote>
-
|[[Dominic Frutiger]]
+
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?
-
|[[Robin Künzler]]
+
 
-
|[[User:realUACM|Urs A. Müller]]
+
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>
 +
 
 +
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!
 +
</blockquote>
 +
 
 +
<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"
|-
|-
-
|[[User:Jonas|Jonas Nart]]
+
| [[User:Paolo Pinkel|Michael Friedmann]] || [[User:Dimo|Dimo Brockhoff]] || [[Franz|Franz Zürcher]]
-
|[[Kristian Nolde]]
+
-
|[[Alexander Roth]]
+
|-
|-
-
|[[User:Tamara|Tamara Ulrich]]
+
| [[Olga Nikolayeva]] || [[User:Choutkoa|Alexandra Choutko]] || [[User:Ajk|Arthur Korn]]
-
|[[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]]
+
-
|}
+
-
== Events & 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]].
-
* [[Upcoming Talks]]
+
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:
-
* [[Meetings]]
+
* [[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)
-
* [[Timeline]]
+
After the proposals, we decided to further pursue the half adder project idea.
 +
== Design process ==
-
== Project Ideas ==
+
=== System behavorial specification ===
-
This is the brainstorming section. In this section you will find random ideas and comments without too much consideration of feasability etc. Crazy ideas and wild dreams are welcome!
+
-
=== Individual Phenomena ===
+
-
Designing and tweaking so that the individual behaves in a desired way.
+
-
* [[Buffer Bacteria]]
+
-
* [[Random Number Generator]]
+
-
* [[Linear Amplifier]]
+
-
=== Oscillator-based Phenomena ===
+
# Write something with a chemical on a petri plate (like '''ETH''' for example)
-
Some clocking behaviors, such as counters and integrators etc.
+
# Let Bacteria grow uniformly on the plate
-
* [[Generation Counter]]
+
# Expose the plate to a picture (black and white) of the same pattern
-
* [[Oscillation Counter]]
+
# Result:
-
* [[Swiss Watch]]
+
#*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
-
=== Collaborative Phenomena ===
+
            light  no light
-
Some of us have a great interest in some form of emergent phenomena and group dynamics based on simple local rules and external stimulae. Examples would be behaviors like sorting, pattern detections, flocking etc.
+
chemical    A        B
-
* [[Edge Detection]]
+
no chemical  B        C
-
* [[Constructor Bacteria]]
+
-
* [[Sorting Bacteria]]
+
-
* [[Predator-Prey Behavior]]
+
-
* [[Pulser]]
+
 +
The outputs can be reported by fluorescent proteins, the mapping of states to outputs is arbitary, our choice is:
-
== Development Groups ==
+
A: green
-
We decided to cluster related projects and to form groups which will dedicate their time to this cluster. The goal is to converge to some single preferred solution based on these project ideas while keeping an eye on feasability, coolness, usefulness, and modular architecture on the way.
+
B: red
 +
C: no fluorescence
-
If you are in no group yet, please choose one.
 
-
===[[Quorum Sensing based]] (Dominic, Giorgia, Herve)===
+
An experiment in the lab could for instance look like this:
-
*[[Sorting Bacteria]]
+
-
*[[Pulser]]
+
-
*[[Constructor Bacteria]]
+
-
*[[Controlled Cell Division]]
+
-
*[[Predator-Prey Behavior]]
+
-
===[[Oscillator based]] (Urs, Christophe, Jonas)===
 
-
*[[Generation Counter]]
 
-
*[[Oscillation Counter]]
 
-
*[[Swiss Watch]]
 
-
===[[Generation based]] (-)===
+
[[image:ETH_Pattern_Experiment.png|center|400px|pattern experiment]]
-
*[[Generation Counter]]
+
-
*[[Changing Generation Colors]]
+
-
===[[Other projects]] (Jonas, Simon, Dominic)===
 
-
*[[Edge Detection]]
 
-
*[[Buffer Bacteria]]
 
-
== Merged Projects ==
+
or like this:
-
The two projects below are the outcome of the work of our two remaining development groups. They both have their pros and cons and the discussion continues until at least Monday evening.
+
 +
[[image:ETH_Eth_Experiment.png|center|300px|eth experiment]]
-
* [[Project X| Project X aka "SO-Constructor"]] by the development group for the [[Quorum_Sensing_based]] projects.
+
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.
-
* [[Oscillator_based| Counter aka "The Thing"]] by the corresponding development group for [[Oscillator_based]] projects.
+
 +
The whole system is only considered at it's steady state, dynamic processes are only of minor interest.
-
== Ballot ==
+
=== System structure ===
-
Please everybody make your vote (1 means "forget it" and 10 means "definitely a Nature paper") on the four criteria.
+
-
=== Constructor (aka Project X) ===
+
The whole process can be brought into a common input, logic, output form:
-
<table width="252" border="1" cellspacing="2" cellpadding="1">
+
[light sensing]----->[      ]-->[reporter A]
-
<tr>
+
                      [ logic ]
-
<td><b>CONSTRUCTOR</b></td>
+
[chemical sensing]-->[      ]-->[reporter B]
-
<td><b>Urs </b></td>
+
-
<td><b>Tamara </b></td>
+
-
<td><b>Jonas </b></td>
+
-
<td><b>Zlatko </b></td>
+
-
<td><b>Giorgia </b></td>
+
-
<td><b>Simon </b></td>
+
-
<td><b>Kristian </b></td>
+
-
<td><b>Herve </b></td>
+
-
<td><b>Dominic </b></td>
+
-
<td><b>Alexander </b></td>
+
-
<td><b>Christophe </b></td>
+
-
<td><b>Robin </b></td>
+
-
</tr>
+
-
<tr>
+
-
<td><b>Usefulness </b></td>
+
-
<td>6</td>
+
-
<td>4</td>
+
-
<td>-</td>
+
-
<td>7</td>
+
-
<td>-</td>
+
-
<td>6</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
</tr>
+
-
<tr>
+
-
<td><b>Feasability </b></td>
+
-
<td>4</td>
+
-
<td>8</td>
+
-
<td>-</td>
+
-
<td>6?</td>
+
-
<td>-</td>
+
-
<td>5</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
</tr>
+
-
<tr>
+
-
<td><b>Modularity </b></td>
+
-
<td>10</td>
+
-
<td>8</td>
+
-
<td>-</td>
+
-
<td>10</td>
+
-
<td>-</td>
+
-
<td>9</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
</tr>
+
-
<tr>
+
-
<td><b>Coolness </b></td>
+
-
<td>9</td>
+
-
<td>7</td>
+
-
<td>-</td>
+
-
<td>10</td>
+
-
<td>-</td>
+
-
<td>9</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
</tr>
+
-
</table>
+
-
<p>
+
 +
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.
-
=====Additional Comments:=====
+
If we add two (large) numbers, we usually start with the least significant digits and add these two digits:
-
'''Tamara:'''
+
  1234
-
  As an engineer, I think the counter is completely useful and totally cool as well. I'm really
+
  + 9684
-
  excited at the prospect that it might actually work (which I frankly still doubt a little bit at
+
  ------
-
the moment). The SO-Constructor definitely is cool as well, but I don't see it's usefulness yet,
+
  ....8
-
but as I'm no bilogist, it is not mine to judge.
+
-
Talking about modularity, I see that the SO-Constructor has a lot of modules, but they are not
+
-
'parallel' modules, but 'serial' modules, i.e. if one module fails, the overlaying modules won't
+
-
work as well. They strongly depend on each other. I also see the problem of tuning, because there
+
-
is a real lot of tuning to do and nearly everything needs to be tuned. For me, some questions
+
-
arise like: Can you simply change the threshold for a certain protein in quorum sensing? Anyway,
+
-
the probability that we have some results to present in the end is still relatively high.
+
-
I don't think the counter is really modular, altough it is a combination of one basic part (the
+
-
'thing'). The point is, if that basic part works, the whole counter probably works as well. If it
+
-
doesn't, then we don't have anything at all. But shouldn't we just take the risk and try it? No
+
-
risk, no fun :-)
+
-
Conclusion: The SO-Constructor is in my opinion the 'safer' option, meaning that we are much more 
+
-
probable to get something that actually works. Whereas the Counter is much more useful and
+
-
revolutionary, at least when we get to work it somehow.
+
-
'''Dominic:'''
+
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:
-
As I already have said during the meeting, I am a little bit concerned about the effects of the
+
-
different presentation styles and levels of detail: it is hard to judge the feasability of one or
+
-
the other, since for the SO-Constructor I can see a clear stepwise approach with controllable
+
-
biological units to implement, but I am doubtful about the tuning and proper interplay of all these
+
-
components - although I am confident that to some degree this can be achieved.  
+
-
As for the Counter I am also not sure about the basic biological assumptions, e.g. whether the
+
-
toggle switch units are available and will work as well as the symmetric repression/activation
+
-
that is necessary, although the modeling part suggests everything is straightforward - but this
+
-
might be deceiving.
+
-
It is hard for me to judge the biological unpredictabilites and risks, but from an engineering
+
-
point of view the Counter building block is of the more useful thing to do, since it has a broad
+
-
application range thanks to the clear interfaces.
+
-
Last but not least such a technical unit seems more suitable in the context of Synthetic Biology.
+
-
'''Urs:'''
+
  1234      1234      1234      1234
-
  I think if the whole thing works this project is astonishing. But I'm in doubt about it. The fact
+
  + 9684    + 9684    + 9684    + 9684
-
that you could model each step seperatly is of course a big advantage of this project. The
+
    1                  1
-
  probability that at least a few of the steps work is quite high and so you will see some results at
+
  ------    ------    ------    ------
-
the end. I'm not so sure about the usefulness. To encapsulate some bacterias which produce a
+
  ...18      ..918      .0918    10918
-
certain substance could be usefull but I'm not an expert in this stuff.
+
-
'''Zlatko:'''
+
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.
-
I like the general idea and concept of the SO-Constructor project very much, even if many team members
+
-
expressed their doubts about the practical benefits (as Urs mentioned above it could be used for
+
-
substance (e.g. drug) encapsulation. I'm not sure, but I think that one may also use the whole thing
+
-
for detection and localization purposes (e.g. of toxic substances)). As others pointed out already,
+
-
overall feasibility, especially the expected difficulties in connecting the different modules, could
+
-
be a drawback here. Dominic, Giorgia and Herve have really elaborated an excellent model, but to me it
+
-
seems to be very complex and I don't know if we could manage to set the whole thing up in time (on the
+
-
other hand this does not seem to be a general concern because of the "intermediate results"). But
+
-
since my knowledge of (applied) molecular biology is very limited and I don't know how (non-)volatile
+
-
the counter circuit is, my personal feasibility estimation stands on thin soil.
+
-
'''Hervé:'''
+
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;
-
The presentations made on Thursday had a different profile in terms of details and analysis.
+
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.
-
It is obvious that the constructor group had focused its energy on the feasibility and the
+
-
options available to circumvent the problems that will arise during the debelopment of this project.  
+
-
It is also clear that we refused to present the details about all these options because we wanted
+
-
to discuss about the concept only. I would recommend people having some doubts about the feasibility
+
-
to check the detailed information available on website. Concerning the usefulness, I do think that
+
-
both projects are extremely useful and I have some problems to understand that people are questioning
+
-
the usefulness of the constructor bacteria project (sorting and purification is a key issue for biotech
+
-
companies).In order to make the appropriate choice, I would still need more information about
+
-
the availability of the modules involved in the "thing" project. Do we really have the repressors and
+
-
activators required for this project? Which ones are we gonna use? Considering that it is dificult to
+
-
have activators and repressors with the same "strenght", how much could this affect the model and the
+
-
feasibility of the thing project? It is really interesting to notice that people have better feeling
+
-
about the feasibility of this project (compared to the constructor bacteria) even though the biology
+
-
part (which is, in the end, the core and working part of the project)has been more or less skipped
+
-
during the "thing" presentation.Regarding the concept of the synthetic biology, I have to agree
+
-
that the "thing" project sounds much more appropriate for this kind of competition. This would be
+
-
in the end the criteria that would push my vote into this project (after a deeper analysis of the
+
-
feasibility and availability of the needed activators and repressors).
+
-
=== Counter (aka The Thing)===
+
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):
-
<table width="252" border="1" cellspacing="2" cellpadding="1">
+
    A              A
-
<tr>
+
    ^              ^
-
<td><b>COUNTER</b></td>
+
  1| 1 0        1 | 0 1
-
<td><b>Urs </b></td>
+
  0| 0 1        0 | 0 0
-
<td><b>Tamara </b></td>
+
    +-----> B      +----> B
-
<td><b>Jonas </b></td>
+
      0 1            0 1
-
<td><b>Zlatko </b></td>
+
-
<td><b>Giorgia </b></td>
+
  S = A XOR B    C = A AND B
-
<td><b>Simon </b></td>
+
-
<td><b>Kristian </b></td>
+
-
<td><b>Herve </b></td>
+
-
<td><b>Dominic </b></td>
+
-
<td><b>Alexander </b></td>
+
-
<td><b>Christophe </b></td>
+
-
<td><b>Robin </b></td>
+
-
</tr>
+
-
<tr>
+
-
<td><b>Usefulness </b></td>
+
-
<td>10</td>
+
-
<td>10</td>
+
-
<td>-</td>
+
-
<td>9</td>
+
-
<td>-</td>
+
-
<td>8</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
</tr>
+
-
<tr>
+
-
<td><b>Feasability </b></td>
+
-
<td>6</td>
+
-
<td>7</td>
+
-
<td>-</td>
+
-
<td>7?</td>
+
-
<td>-</td>
+
-
<td>7</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
</tr>
+
-
<tr>
+
-
<td><b>Modularity </b></td>
+
-
<td>7</td>
+
-
<td>5</td>
+
-
<td>-</td>
+
-
<td>5</td>
+
-
<td>-</td>
+
-
<td>8</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
</tr>
+
-
<tr>
+
-
<td><b>Coolness </b></td>
+
-
<td>8</td>
+
-
<td>10</td>
+
-
<td>-</td>
+
-
<td>9</td>
+
-
<td>-</td>
+
-
<td>9</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
<td>-</td>
+
-
</tr>
+
-
</table>
+
-
=====Additional Comments:=====
+
The sum output S and the carry out C are exactly the values needed for our system. The resulting system architecture is:
-
'''Urs:'''
+
-
From the engineer's point of few a counter like this is of course a crucial brick. As you can take
+
-
the concentration of any substance you like (by transforming it to our input S) and also add for
+
-
every single counter step a specific gene needed for an application this counter can be used
+
-
whereever you want. The big disadvantage is of course that if the counter doesn't work there will be
+
-
no result you can see.
+
-
'''Christophe:'''
+
[[image:ETH_System_Architecture.png|center| |system architecture]]
-
About feasibility: i don't agree with much of what has been said here. The counter is made of two
+
-
toggle switches. These switches exist in the nature (lambda repressor) and have also been synthetized
+
-
(Gardner et al., partly also on MIT registry). Now, the only things we need to come up with are A) a way
+
-
of having 4 different types of road blocks, which is, as Sven said, possible using zinc-fingers that
+
-
target different dna seqs, and B) a way to have S working as an inducer and as a repressor, in a
+
-
roughly symmetrical manner. And that's all. I am not saying that it is trivial, but seriously, it is
+
-
really doable. And even if we don't manage it to do it for the jamboree, finishing it later could 
+
-
still be academically very rewarding.
+
-
+
-
Bottom line: The difference between the two projects, i guess, is that most of the work in the QS project
+
-
would be at the assembling/tuning of existing parts for a very cool final effect, while in the the counter,
+
-
we would focus the energy of the whole group into realizing a little module that is reliable and reusable. Both
+
-
projects are cool, both teams have done an increadible amount of preparatory work until now and so at this
+
-
point, i would be very excited working on either projects.
+
-
'''Zlatko:'''
+
=== System modeling ===
-
A stable counter would be a very nice thing to have. In my eyes this project seems to be a bit more feasible,
+
 
-
but maybe that's a misjudgement. The model as elaborated by the group is detailed and the simulation seems to
+
According to the system structure, we first decompose our overall system into devices:
-
be quite promising. On the other hand the "all-or-nothing" scenario makes it a bit risky.
+
* [[ETH2006_xor| XOR Gate]]
-
+
* [[ETH2006_and| AND Gate]]
-
PS: even though I didn't give a 10 for coolness, I do believe that it's a Nature candidate.
+
* [[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.
 +
 
 +
* 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 &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
 +
 
 +
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 &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.
 +
 
 +
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.
-
== External Information ==
+
=== System test procedure ===
-
=== Links ===
+
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.
-
* [[Modeling and illustration tools]]
+
== [[ETH_2006_Docs_And_Links|Useful Documents & Links]] ==
-
=== Papers ===
+
[[ETH_2006_Docs_And_Links|see here]]
-
[[bulter04]],
+
-
[[atkinson03]],
+
-
[[bates05]],
+
-
[[keiler01]],
+
-
[[suetsugu03]],
+
-
[[sudesh00]],
+
-
[[römling02]],
+
-
[[ross91]],
+
-
[[sutherland01]],
+
-
[[Lai04]],
+
-
[[zogaj01]],
+
-
[[miller01]],
+
-
[[basu05]],
+
-
[[goryachev05]],
+
-
[[you04]],
+

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