The synthetic biology community has implemented many logic gates in vivo using various genetic components. Two less common gates are the XOR and XNOR functions. The truth table for the XOR function is shown below:
The XOR function operates such that when both inputs are the same the output is zero. The output is only positive if one of the inputs is on. Anyone who has wired a house with an upstairs will be familiar with fact that the landing light switch or downstairs light switch will always switch the landing light in the opposite direction no matter what the position of the other switch. This is an XOR function.
How would be implement the XOR gate in a genetic circuit? We could imagine implementing the second and third rows of the truth table using two slightly different activators so that when one of the activators bind to an operator site just upstream of the promoter site RNA polymerase is recruited and gene expression begins. We can also imagine that when both activators are absent gene expression is off since the RNA polymerase is unable to bind. The problem occurs when both activators are present because in this case gene expression must be off but how can this work since if anyone of them is present it could bind to the activator site and turn on gene expression. There are at least two ways we can persuade two activators when present together to behave as repressors, one being more robust than the other. The simplest is to assume that when both activators are present they bind to each other forming a complex that cannot bind to the activator operator site. The trouble with this approach is that to be successful the concentrations of both activators must be stoichiometrically equal. Any imbalance will result in one of the activators being present in an unbound state which means it could bind to the activator side resulting in gene expression. A more robust model is to allow the complex to either bind to the promoter site or to a site downstream of the promoter. This is block the RNA polymerase and inhibit gene expression. The advantage here is that different levels of activator can be present and we’ll still get inhibition. The figure below illustrates this model: