ETH2006 xor
From 2006.igem.org
Contents 
XOR gate
The XOR gate's PoPS output activity should be correlated to the PoPS input activity as shown in the picture:
input A ^  H D L  D D D  L D H +> input B output: High, Low, Dont care
Implementation
Implementation alternatives
We came up with a number of concepts for the implementation of the XOR, initially without considering the existence such biological systems. Then, while our biologists started searching the literature, we modelled the variants to see which we might want to favor.
Here we pick out two variants with corresponding simulation results to give an idea of the process of development. Note that at this stage, the models still contain minor inaccuracies such as missing ribosome binding sites, which we corrected later on.
Further development of the first variant resulted in the current implementation of the XOR gate.
Current implementation
Part to be used in the prototype system: BBa_J34200
An XOR gate produces an output only if one of the two possible input signals is present. In our implementation the gene expression triggered by Signal 1 inhibits the gene expression triggered by Signal 2 and vice versa.
Signal 1 leads to the expression of a bimodular transcription factor where the DNA binding domain is separated from the transcriptional activation domain by a Tobacco Etch Virus (TEV) protease cleavage site. Moreover, Signal 1 triggers the expression of the highly sequencespecific Tobacco Vein Mottling Virus (TVMV) protease. On the other hand, Signal 2 leads to the expression of an almost identical transcription factor, but in this case the DNA binding domain is separated from the transcriptional activation domain by a TVMV protease cleavage site. In addition, Signal 2 induces the transcription of the TEV protease. Therefore, the presence of either one of the signals leads to a stable transcription factor, which can initiate the transcription of a downstream reporter, while the presence of both signals leads to the mutual cleavage of both transcription factors by the specific proteases.
Our bimodular transcription factor consists of the DNA binding domain of the bacteriophage lambda repressor protein (λcI) fused to the Nterminal domain of the RNA polymerase α subunit. Binding of this transcription factor to its cognate promoter – the λ operator – initiates the transcription of a downstream reporter (in this case mCherry).
The DNA binding domain (λcI) of the transcription factor is linked to N terminal domain of the α subunit of the RNA polymerase by a linker sequence consisting of three alanines, followed by the cognate protease cleavage sites and two alanines (AAA protease cleavage sequence AA).
References:
 Hu JC, Kornacker MG, Hochschild A. Escherichia coli one and twohybrid systems for the analysis and identification of proteinprotein interactions. Methods. 2000 Jan;20(1):8094.
 Nallamsetty S, Kapust RB, Tozser J, Cherry S, Tropea JE, Copeland TD, Waugh DS. Efficient sitespecific processing of fusion proteins by tobacco vein mottling virus protease in vivo and in vitro. Protein Expr Purif. 2004 Nov;38(1):10815.
 Kapust RB, Waugh DS. Controlled intracellular processing of fusion proteins by TEV protease. Protein Expr Purif. 2000 Jul;19(2):3128.
 Hochschild A., personal communication
Modeling
We are interested in the input/output behavior at steadystate, that is when the system has reached equilibra and the concentrations of concerned species don't change anymore. Since we have 2 inputs and 1 ouptut, simulation results will be illustrated as a surface plot, inputs on the x/y axes and output on the z axis.
Some Formulas
(general explanatory notes from this template)
To get our models into a form which can be simulated, we needed to transform the wiring diagrams into a set of ODEs (ordinary differential equations), which in our case will be nonlinear.
For every concerned species X, we write d[X]/dt = production  consumption For enzymatic transformation of substrate S into product P (catalyzed by enzyme E), we write k_{+1} k_{2} S + E <==> E•S > P + E k_{−1} d[S]/dt = −k_{+1}[S][E] + k_{−1}[E•S] _{ } − d_{S}[S] d[E]/dt = −k_{+1}[S][E] + k_{−1}[E•S] + k_{2}[E•S] − d_{E}[E] d[E•S]/dt = k_{+1}[S][E] − k_{−1}[E•S] − k_{2}[E•S] − d_{ES}[E•S] d[P]/dt = _{ } + k_{2}[E•S] − d_{P}[P] [S] : substrate concentration [E] : enzyme conc. [E•S] : concentration of enzymesubstrate complex [P] : product concentration kinetic constants: k_{k+1} : building enzymesubstrate complex (forward) k_{k−1} : resolving enzymesubstrate complex (backward) k_{2 } : product formation d_{XXX} : degradation constants For constitutive transcription, we have constant production rate and simply write d[M]/dt = k_{tr}•u − d_{M}[M] [M]_{ }: mRNA concentration k_{tr} : kinetic constant (transcription) u_{ } : system input, e.g. transcription rate (≅PoPS) d_{M } : degradation constant for mRNA A transcriptional regulatory module can be described by and ODE of the following form: 1 d[M]/dt = k_{tr} ( a + −−−−−−−−−−−−−− ) − d_{M}[M] 1 + (K/[S])^{α•n} [M]_{ }: mRNA concentration k_{tr} : kinetic constant (transcription) a_{ } : constitutive portion, 0 ≤ a < 1 [S]_{ }: inducer (α=+1) / repressor (α=−1) concentration K_{ } : hill constant n_{ } : hill coefficient α_{ } : α=+1 for induction, α=−1 for repression d_{M } : degradation constant for mRNA Finally, translation is usually modeled like this: d[P]/dt = k_{tl}[M] − d_{P}[P] [P]_{ }: product (protein) concentration [M]_{ }: mRNA concentration k_{tl} : kinetic constant (translation) d_{P } : degradation constant for protein P References:

Ideal xor gate
The expected input/output behavior of an ideal xor gate looks like this (better with less green and steeper flanks):
top view  3d surface plot 
behavior of an ideal XOR gate (x/y: inputs, z: output) 
Note that the anterior low (blue) part has low inputs, the rear one has high inputs.
Early simulation results of variants
The following figures show early simulation results of the implementation variants 1 and 2. Note that also the models contain inaccuracies and even defects at this stage.
Variant 1  Variant 2 
surface plot of simulation results for XOR variants 1 and 2 (x/y: inputs, z: output) 
Both plots show behaviors far from that of the ideal XOR gate, but the first variant at least has high output if one or the other, but not both inputs are high. Further on, the first variant seemed to be less sensitive to parameter changes. In fact, it was very hard to find any parameter values for model 2 at all which showed XORlike behavior at least in the broadest sense.
Not only because of these results (biology also had a voice in this chapter), but definitely backing the decision, we went for variant 1 from here on.
Current simulation results
top view, ht_{Prot}=2h  3d surface plot, ht_{Prot}=2h  3d surface plot, ht_{Prot}=5h 
simulation results for XOR gate, different protein halflife periods top / bottom: output (z axis) is mRNA rate (∼PoPS) / reporter concentration (x/y: inputs, z: output, ht_{Prot}: protein halflife period) 
For every plot, 25 (left) / 100 (middle, right) ODE simulations were performed, simulating a time period of 12h. Simulations with 2h / 5h halflife period for proteins have been run, showing little difference in the qualitative outcome, though. Complete parameter allocation can be found in the matlab scripts as well as the system of ordinary differential equations (ODEs).
About input rates (general explanatory notes from this template)
The input rates (PoPS) have been chosen in the range of mRNA transcription rate, which was estimated according to the following assumptions:
Amplifying/damping the input rates by small constant factors has influence on the qualitative outcome of the simulation.
We accounted for this by adding restriction enzyme sites to the DNA, so that we can cut out current RBS to replace it by another of different strength. 
In order to find out about other important, say sensitive parameters, we wanted to do this more systematically. The keyword has already been given: sensitivity analisys.
Sensitivity analysis
Sensitivity matrices (general explanatory notes from this template)
To analyze the sensitivity of the system for all concerned parameters, we compute the sensitivity matrix S:
S = (∂x/x) / (∂p/p) = (∂x/∂p) * (p/x) S : sensitivity matrix, #x rows, #p columns x : states (concentrations) p : parameters We use jacobian matrices of the system equations to compute the sensitivity matrix S. We therefore augment the set of differential equations by dS(t)/dt = J_{x}(t) S(t) + J_{p}(t) J_{x}(t) = ∂f(x,p,t)/∂x J_{p}(t) = ∂f(x,p,t)/∂p Since we are interested in the output sensitivities at steady state, we set dS(t)/dt = 0 and can solve for S: S = − J_{x} \ J_{p} \ : matrix left division 
We computed sensitivity matrices for different input combinations. The results for the XOR gate are illustrated in the following bar3 plot:
XOR: Sensitivity Analysis  
Normalized Sensitivity of the parameters for XOR gate 
The z axis shows the absolute normalized sensitivities, the other axes correspond to different input combinations (shorter axis) and the parameters. The left most series show inputs, not sensitivities (3x3 inputs, each [low, medium, high]). The unlabeled series is a placeholder for aesthetic purposes only. Detailed explanation of the parameter abbreviations can be found here. Parameters are postfixed with the state variable they belong to:
I1/I2 : Transcription factors TF1/TF2 I1p/I2p : Proteases P1/P2 I1inact/I2inact : Unfunctional cleaved transcription factors T+F1 / T+F2 Out : Reporter protein, here RFP (mCherry) mOut : mRNA for Out
The figure shows
 Insensitivity with respect to the parameters dI1inact/dI2inact, and indeed degredation rate of the unfunctional cleaved transcription factors has no influence on the system ouput
 No sensitivity to various k parameters involved in the cleavage reactions if either one or the other input is 0. This makes sense since 0 rate on one input means no action on both cleavage reactions, and thus the concerned parameters just don't matter.
 Relatively high sensitivity to changes in the input rates, which is actually what we want!
 High sensifivity regarding the kI1 / kI2 values for the transcription factors, and lower sensivitity for kI1p / kI2p. These k values act as amplification factors for protein synthesis, and indeed it is important that transcription factor concentration is high enough, where already little protease concentrations are sufficient. By the way, we can affect these k values by using ribosome binding sites of different strengths.
 ...
More (old) simulation results
simulation results / sensitivity analysis