BE.180:Devices

From OpenWetWare
Jump to navigationJump to search

Summary

The material on this page covers three topics. First, we briefly review how to make different sorts of gene-expression based devices. Second, we develop a simple framework for modeling the behavior of genetic devices. Third, we use the models to estimate some physical characteristics of our devices (for example, device latency).

Introduction

From before, you know that a genetically encoded inverter (i.e., a Boolean NOT gate) can be made by combining a ribosome binding site (RBS), driving expression of an open reading frame (ORF) encoding a repressor protein, followed by a transcription terminator. The signal is inverted when the repressor protein binds an operator site elsewhere on the DNA, resulting in repression of gene expression from the operator site. Click on Figures 1 and 2 below for more information (revisit the full comic if you need more background information for how genetically encoded inverters work).

Figure 1. Parts of an inverter. Click to enlarge.
Figure 2. How to make an inverter. Click to enlarge.


Genetic Devices

An inverter is one type of device. We can produce many different types of gene-expression based devices. For example, all sorts of logic gates can be implemented as gene-expression devices. We can also implement other sorts of devices such as sensors, actuators, and even cell-cell communication devices. Simple sketches and explanations of different gene-expression devices are given below. You can make many more types of genetic devices. The important concept to remember is that you want to make devices that allow subsequent hiding of the details for how the device actually works, so that other people can easily use your devices!

Figure 3a. Gene-expression OR gate. Click to enlarge. Two standard PoPS input signals enter from the left, driving independent expression of identical copies of a gene encoding an activator protein. The activator turns ON a standard PoPS output signal from the operator site on the right.
Figure 3b. Gene-expression NOR gate. Click to enlarge. Two standard PoPS input signals enter from the left, driving independent expression of identical copies of a gene encoding an repressor protein. The repressor turns OFF a standard PoPS output signal from the operator site on the right.
Figure 3c. Gene-expression AND gate. Click to enlarge. Two standard PoPS input signals enter from the left, driving independent expression of different genes each encoding one half of a heterodimeric activator protein. The heterodimeric activator protein turns ON a standard PoPS output signal from the operator site on the right.


Figure 3d. Gene-expression NAND gate. Click to enlarge. Two standard PoPS input signals enter from the left, driving independent expression of different genes each encoding one half of a heterodimeric repressor protein. The heterodimeric repressor protein turns OFF a standard PoPS output signal from the operator site on the right.
Figure 3e. Gene-expression SENDER gate. Click to enlarge. A standard PoPS input signal enters from the left driving expression of an enzyme that produces a molecule that can travel between cells. The molecule defines a cell-cell communication signal specific to the SENDER device.
Figure 3f. Gene-expression RECEIVER gate. Click to enlarge. A standard PoPS input signal enters from the left driving expression of a gene encoding a receiver protein. When a cell-cell signaling molecule is also present, the receiver protein activates a standard PoPS output signal leaving from the right. Note that the left side of this device can be connected to a BATTERY device (not shown, simply a constitutive promoter (i.e., a promoter that is always ON, providing a constant PoPS signal)) in order to provide a modified device that is always ready to receive.


Device Modeling

The above depictions of genetic devices provide qualitative descriptions of device function (for example, if the input signal to an inverter is HIGH then the output signal from the inverter will be LOW). But, in reality, each device is a physical object, which imposes constraints on its exact operation and use. Here, we will use some simple modeling to get a sense for the physical behavior of our genetic devices. To start, let's define some of the device characteristics that we might care about. We'll use an inverter device as an example. One important property of our inverter is its transfer function, which is the steady state relationship between the device input and output signals. A second property is the device latency, which is the time it takes the device output signal to change in response to a change in the device input signal. To begin to model the inverter device we'll need to revisit the physical processes that are required for device operation. Our goal will be to build a model from these details that can be used to make some simple mathematical estimates of the inverter's transfer function and latency.

To make our analysis simpler let's split (decouple) an inverter into two sub-devices (Figure 4). The first sub-device is a "protein generator" (a protein generator takes a generic PoPS input signal and produces a specific protein as output). The second sub-device is a "PoPS regulator" (a PoPS regulator takes a specific regulatory protein as input and produces a generic PoPS signal as output). We'll model the transfer function and latency of each device individually and then combine the results in order to produce an overall model for our inverter.

Figure 4. A decoupled genetic inverter. Click to enlarge.


Protein Generator Modeling

We need to develop a model that lets us estimate the transfer function (input:output relationship) and latency of the protein generator. The input to the protein generator is a PoPS input signal (let's call this P_in). The output is the concentration of the repressor protein (let's call this R). The transfer function should describe R as a function of P_in.

We can get started by writing down the physical processes that take place between arrival of a RNA polymerase molecule and the production of a repressor protein. First, the RNA polymerase enters the device and carries out transcription, producing a messenger RNA (mRNA) molecule. The RNA polymerase molecules will move basepair-by-basepair down the DNA encoding our protein generator device until they arrive at the terminator part (at which point they will stop transcription). Then, ribosomes will bind the newly produced mRNA molecules at the ribosome binding site (RBS) and start the process of protein synthesis (translation). The ribosomes will move nucleotide-by-nucleotide down the mRNA molecule until they arrive at a stop codon (in bacteria the triplets UAA, UGA & UAG can act as stop codons). To complete our model we should also account for the loss of mRNA and protein via mRNA and protein degradation, respectively. Furthermore, if the cell in which our device is operating is itself growing, then we may also need to account for the dilution of mRNA and protein levels via cell division. Phew! This is a lot of stuff to remember and pay attention to. How are we going to estimate transfer function and latency? Let's make a big simplification by writing down a differential equation that describes how the concentration of R changes over time:

Equation 1: [math]\displaystyle{ \frac{d[R]}{dt} = f(P_{in}) - k_d*[R] }[/math]

We've introduced two new variables, [math]\displaystyle{ f(P_{in}) }[/math] and [math]\displaystyle{ k_d }[/math]. Here, [math]\displaystyle{ f(P_{in}) }[/math] is a placeholder function that describes the relationship between P_in, the PoPS input signal, and the rate of repressor protein synthesis. [math]\displaystyle{ k_d }[/math] is just a first-order decay rate for the loss of R. The first term in this equation makes a big leap directly from PoPS to protein synthesis (we're hiding all the details of transcription and translation). The second term in this equation captures the rate of destruction of R due to degradation (and dilution due to growth, if we want to include that too). If we can come up with some values for these terms in then we can estimate how R will change as a function of P_in and how quickly these changes will happen.

Let's start with [math]\displaystyle{ k_d }[/math]. [math]\displaystyle{ k_d }[/math] is the rate constant for protein degradation. The exact value of [math]\displaystyle{ k_d }[/math] will depend on the particular protein used in our device. Some proteins are incredibly stable and for all practical purposes don't degrade (for example, green fluorescent protein). Other proteins are actively degraded by the cell and will disappear quickly if they are not continuously being synthesized. Protein stability is typically reported in terms of a "half-life" (half-life, [math]\displaystyle{ t_{1/2} }[/math], is the amount of time it takes for one half of something, repressor protein in this case, to be degraded). So, a stable protein will have [math]\displaystyle{ t_{1/2} \approx \infty }[/math] whereas an unstable protein will have [math]\displaystyle{ t_{1/2} \approx 10 }[/math]minutes. You can quickly convert between a [math]\displaystyle{ t_{1/2} }[/math] and first-order [math]\displaystyle{ k_d }[/math] value via the following formula: [math]\displaystyle{ k_d = 0.69 / t_{1/2} }[/math]. Click here if you don't know where this formula comes from.

Without going through all the details, the value for [math]\displaystyle{ f(P_{in}) }[/math] might range from 0 to 100 proteins per minute (for a device that is present at single "copy number" per cell; copy number is the number of DNA molecules inside the cell carrying a particular gene, part, device or system). For this first example, let's use [math]\displaystyle{ t_{1/2} = 10 }[/math] minutes and an input range of [math]\displaystyle{ f(P_{in}) = }[/math] 0 to 70 proteins per minute. From [math]\displaystyle{ t_{1/2} = 10 }[/math] minutes we get [math]\displaystyle{ k_d \approx 0.07 }[/math] per minute. We can solve for the low and high steady state values of R by using the above equation. For example, at the low input value we get:

[math]\displaystyle{ \frac{d[R]}{dt} = 0 - 0.07*[R] }[/math]
which at steady state reduces to [math]\displaystyle{ 0 = 0 - 0.07*[R_{ss}] }[/math] or [math]\displaystyle{ [R_{ss}] = 0 }[/math] proteins per cell.

This shouldn't be surprising. Since we are not producing any R the steady state value of R is zero.

Next, at the high input value we get:

[math]\displaystyle{ \frac{d[R]}{dt} = 70 - 0.07*[R] }[/math]
which at steady state reduces to [math]\displaystyle{ 0 = 70 - 0.07*[R_{ss}] }[/math] or [math]\displaystyle{ [R_{ss}] = 1000 }[/math] proteins per cell.

Thus, we now know the low and high range of the output signal R from our protein generator device. Furthermore, by setting the left side of equation 1 (above) to zero, we can provide a general formula for the steady-state output level of R as a function of P_in (Figure 5):

Equation 2: [math]\displaystyle{ R_{ss} = \frac{f(P_{in})}{k_d} }[/math]
Figure 5. Steady state transfer function for protein generator device. Click to enlarge.


The next (last) thing to estimate using our model is the latency of the protein generator device. Again, latency is defined as the time it takes for the output signal of a device to reach a new level in response to a change in the input signal level. Because gene expression is a slow process (when compared, for example, to silicon-based computers) we'll need to pay close attention to issues of latency. Figure 6 below details the two types of latency we are interested in, low->high and high->low.

Figure 6. Latency is the time it takes for the output signal of a device to reach a new level given a change in the level of the input signal. The green curve shows the input signal as a function of time; the red curve is the output signal as a function of time. Note that as the input signal level changes that it takes some time (L) for the output signal to reach its new level. Click to enlarge.


To estimate the latency during a LOW-to-HIGH transition ([math]\displaystyle{ L_{LH} }[/math]) we can again return to Equation 1 above. Imagine that there is no R present in the cell. How long does it take for the R level to reach its steady state concentration [math]\displaystyle{ [R_ss]=1000 }[/math] in response to a change in P_in from 0 to 70? One rough estimate is 1000/70 or ~14 minutes. However, this will be an underestimate because as the R level increases the newly produced R molecules will be subject to degradation. For now, we'll simply increase our [math]\displaystyle{ L_{LH} }[/math] estimate to ~20 minutes. To estimate the latency during a HIGH-to-LOW transition ([math]\displaystyle{ L_{HL} }[/math]) start by imagining a cell in which there are 1000 R molecules when, suddenly, the value of P_in drops from 70 to 0. How long will it take the level of R to drop to zero? From above we know that the level of R will drop by a factor of two every 10 minutes. For example, in 20 minutes the R level will drop to ~250 molecules per cell.

Thus, we've already been able to make a simple model and use it to estimate the transfer function and latency of our protein generator:
f(P_in) ranges from 0 to 70 proteins per minute.
R ranges from 0 to 1000 proteins per cell.
The full relationship between input and output can be expressed via Equation 2 (above).
It takes ~20 minutes for the output signal to respond to an increase in the input signal from 0 to 70 proteins per minute.
It also takes ~20 minutes for the output signal to respond to a decrease in the output signal from 70 to 0.

PoPS Regulator Modeling

Now we'll develop a model that lets us estimate the transfer function and latency of the right half of our inverter, the PoPS Regulator. The input to the PoPS regulator is the concentratration of repressor protein, R. The output is a standard PoPS (let's call this P_out).

Combining Models

We'll describe how to combine the two models to make a full inverter model here.