"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Design principle**\n",
"\n",
"- Bursty gene expression enables cells to regulate the mean and cell-cell variability of protein levels by controlling burst frequency and burst size.\n",
"\n",
"**Concepts**\n",
"\n",
"- Master equations as gain-loss equations for probability.\n",
"- Master equations can equivalently be defined in terms of a set of moves and associated propensities and updates.\n",
"- Sampling out of probability distributions is a useful way to computationally determine their properties.\n",
"- The Gillespie algorithm enables sampling out of probability distributions described by master equations.\n",
"- Gene expression occurs in bursts.\n",
"\n",
"**Techniques**\n",
"\n",
"- Manipulating master equations\n",
"- Probability stories (Poisson, Geometric, and Negative Binomial)\n",
"- Gillespie algorithm, a.k.a. stochastic simulation algorithm\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the last lesson, we laid out two objectives. First, we aimed to identify the sources of noise and how to characterize them. We summarized statistics about the probability distribution of copy numbers by considering the mean and coefficient of variation. The mean ends up following the same deterministic dynamics we have been considering thus far in the course. The coefficient of variation is a measure of noise, or relative departure from the mean behavior. Now, we will look at the dynamics of the entire probability distribution of copy number, $P(n;t)$, the probability of having $n$ molecules at time $t$.\n",
"\n",
"The formalism we develop will enable us to assess temporal dynamics of expressions of individual genes in individual cells and reason quantitatively about the experimental observation that gene expression occurs in **bursts**, where many copies of gene product are made followed by periods of quiescence."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Master equations\n",
"\n",
"We will use **master equations** to describe the dynamics of $P(n;t)$. Generally, a master equation is a loss-gain equation for probabilities of states governed by a Markov process. (To see where it gets its name, you can read [this amusing blog post by Nicole Yunger Halpern](https://quantumfrontiers.com/2015/06/21/hello-my-name-is-quantum-master-equation/).) In our case, the \"state\" is the set of copy numbers of molecular species of interest. The values of $n$ are discrete, so we have a separate differential equation for each $P(n;t)$. Specifically,\n",
"\n",
"\\begin{align}\n",
"\\frac{\\mathrm{d}P(n;t)}{\\mathrm{d}t} = \\sum_{n'}\\left[W(n\\mid n') P(n';t) - W(n'\\mid n)P(n;t)\\right].\n",
"\\end{align}\n",
"\n",
"Here, $W(n\\mid n')$ is the transition probability per unit time of going from $n'$ to $n$.\n",
"\n",
"The master equation makes sense by inspection and appears simple. The nuance lies in the definition of the transition rates, $W(n\\mid n')$. There is also the computational difficulty that $n$ can be very large. In general, solving the master equation is difficult and is usually intractable analytically and often also numerically. Therefore, we *sample* out of the distribution $P(n;t)$ that is defined by the master equation. That is, we can draw many samples of values of $n$ at time points $t$ that are distributed according to the probability distribution that solves the master equation. We can then plot histograms or ECDFs to get an approximate plot of the probability distribution. We can also use the samples to compute moments, giving us estimates of the mean and variance. Generating the samples from the *differential* master equation is done using a **Gillespie algorithm**, also known as a **stochastic simulation algorithm**, or SSA, which we will in [Technical Appendix 16a](../technical_appendices/16a_gillespie.ipynb).\n",
"\n",
"Note that in using a master equation we are assuming that events that change state (that is, that change the copy number of one or more species) are **Poisson processes**. In this context, a [Poisson process](https://en.wikipedia.org/wiki/Poisson_point_process) may be thought of as a series of well-defined, separate events that occur randomly, without memory of what has occurred before. (In the context of Poisson processes, these events are called \"arrivals.\") This is often the case for things like molecular collisions. Implicit in the assumption that state changes are modeled as Poisson processes is that the binding or dissociation (or any other event) happens essentially instantaneously with pauses between them. This is yet another instance of where a separation of time scales is important."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The Master equation for unregulated gene expression\n",
"\n",
"As we have seen, unregulated gene expression is described by the macroscale equation\n",
"\n",
"\\begin{align}\n",
"\\frac{\\mathrm{d}x}{\\mathrm{d}t} = \\beta - \\gamma x,\n",
"\\end{align}\n",
"\n",
"where $x$ is the concentration of the species of interest. Multiplying both sides of this ODE by the volume $V$ of the cells (or whatever the system of interest is) gives\n",
"\n",
"\\begin{align}\n",
"\\frac{\\mathrm{d}n}{\\mathrm{d}t} = \\beta V - \\gamma n,\n",
"\\end{align}\n",
"\n",
"where $n$ is the number of copies of the species of interest. For the rest of this chapter, we will redefine $\\beta \\leftarrow \\beta V$ for notational convenience, knowing that we can convert back as desired. So, we have\n",
"\n",
"\\begin{align}\n",
"\\frac{\\mathrm{d}n}{\\mathrm{d}t} = \\beta - \\gamma n.\n",
"\\end{align}\n",
"\n",
"To translate this into stochastic dynamics, we write the production rate as\n",
"\n",
"\\begin{align}\n",
"\\text{production rate} = \\beta \\delta_{n',n-1},\n",
"\\end{align}\n",
"\n",
"where we have used the Kronecker delta,\n",
"\n",
"\\begin{align}\n",
"\\delta_{ij} = \\left\\{\\begin{array}{lll}\n",
"1 && i = j \\\\\n",
"0 && i\\ne j.\n",
"\\end{array} \\right.\n",
"\\end{align}\n",
"\n",
"This says that if our current copy number is $n-1$, the probability that it moves to $n$ in unit time is $\\beta$. Similarly, the decay rate is\n",
"\n",
"\\begin{align}\n",
"\\text{decay rate} = \\gamma (n+1) \\delta_{n',n+1}.\n",
"\\end{align}\n",
"\n",
"This says that if we have $n+1$ molecules, the probability that the copy number moves to $n$ in unit time is $\\gamma(n+1)$. Thus, we have\n",
"\n",
"\\begin{align}\n",
"W(n\\mid n') = \\beta \\delta_{n',n-1} + \\gamma (n+1)\\delta_{n',n+1}.\n",
"\\end{align}\n",
"\n",
"We can then write our master equation as\n",
"\n",
"\\begin{align}\n",
"\\frac{\\mathrm{d}P(n;t)}{\\mathrm{d}t} = \\beta P(n-1;t) + \\gamma(n+1)P(n+1;t)\n",
"- \\beta P(n;t) - \\gamma n P(n;t),\n",
"\\end{align}\n",
"\n",
"where we define $P(n<0;t) = 0$. This is actually a large set of ODEs, one for each $n$.\n",
"\n",
"Solving for $P(n;t)$ is nontrivial and often impossible. Instead, let's look for a steady state solution of this system of ODEs; i.e., let's find $P(n)$ that satisfies\n",
"\n",
"\\begin{align}\n",
"\\frac{\\mathrm{d}P}{\\mathrm{d}t} = 0.\n",
"\\end{align}\n",
"\n",
"To solve this, we will start with the case where $n=0$, noting that $P(n<0) = 0$.\n",
"\n",
"\\begin{align}\n",
"\\gamma P(1) - \\beta P(0) = 0 \\; \\Rightarrow \\; P(1) = \\frac{\\beta}{\\gamma}P(0).\n",
"\\end{align}\n",
"\n",
"For the case where $n=1$, we have\n",
"\n",
"\\begin{align}\n",
"\\beta P(0) + 2 \\gamma P(2) - \\beta P(1) - \\gamma P(1) = 0 \\;\\;\\Rightarrow\\;\\; P(2) = \\frac{1}{2\\gamma}\\left(\\beta P(1) + \\gamma P(1) - \\beta P(0)\\right).\n",
"\\end{align}\n",
"\n",
"We can use the fact that $P(1) = \\beta P(0) / \\gamma$ to simplify this expression to\n",
"\n",
"\\begin{align}\n",
"P(2) = \\frac{1}{2}\\left(\\frac{\\beta}{\\gamma}\\right)^2\\,P(0).\n",
"\\end{align}\n",
"\n",
"We do it again for $n = 2$.\n",
"\n",
"\\begin{align}\n",
"\\beta P(1) + 3 \\gamma P(3) - \\beta P(2) - 2\\gamma P(2) = 0 \\;\\;\\Rightarrow\\;\\; P(3) = \\frac{1}{3\\gamma}\\left(\\beta P(2) + 2\\gamma P(2) - \\beta P(1)\\right).\n",
"\\end{align}\n",
"\n",
"Using our expressions for $P(1)$ and $P(2)$, we can rearrange this expression to write $P(3)$ in terms of $P(0)$, giving\n",
"\n",
"\\begin{align}\n",
"P(3) = \\frac{1}{6}\\left(\\frac{\\beta}{\\gamma}\\right)^3\\,P(0).\n",
"\\end{align}\n",
"\n",
"We recognize a pattern such that for any $n$, we have\n",
"\n",
"\\begin{align}\n",
"P(n) = \\frac{1}{n!}\\left(\\frac{\\beta}{\\gamma}\\right)^n P(0).\n",
"\\end{align}\n",
"\n",
"We can verify that this indeed solves for the steady state by substitution into the master equation with $\\mathrm{d}P(n;t)/\\mathrm{d}t = 0$. To complete the solution we need to find $P(0)$. We can use the fact that the probability distribution must be normalized;\n",
"\n",
"\\begin{align}\n",
"\\sum_{n=0}^\\infty P(n) = P(0) \\sum_{n=0}^\\infty \\frac{1}{n!}\\left(\\frac{\\beta}{\\gamma}\\right)^n = P(0)\\mathrm{e}^{\\beta/\\gamma} = 1,\n",
"\\end{align}\n",
"\n",
"where we have noted that the sum is the [Taylor series](https://en.wikipedia.org/wiki/Taylor_series) expansion of the exponential function. Thus, we have $P(0) = \\mathrm{e}^{-\\beta/\\gamma}$, and we have our steady state probability mass function,\n",
"\n",
"\\begin{align}\n",
"P(n) = \\frac{1}{n!}\\left(\\frac{\\beta}{\\gamma}\\right)^n \\mathrm{e}^{-\\beta/\\gamma}.\n",
"\\end{align}\n",
"\n",
"We recognize this as the probability mass function of the [Poisson distribution](https://en.wikipedia.org/wiki/Poisson_distribution). We could perhaps have guessed this from the \"story\" of the Poisson distribution.\n",
"\n",
">The probability that $k$ Poisson processes arrive in unit time is Poisson distributed.\n",
"\n",
"The story of mRNA production matches this story. The \"arrival\" here is the production of a gene product. We need these events to happen before decay. Apparently, the rate $\\lambda$ is in this case $\\beta/\\gamma$.\n",
"\n",
"It is useful also to consider the moments of the Poisson distribution and compute useful summary statistics of the distribution.\n",
"\n",
"\\begin{align}\n",
"&\\text{mean} = \\langle n \\rangle = \\frac{\\beta}{\\gamma}, \\\\[1em]\n",
"&\\text{variance} = \\sigma^2 = \\langle n^2 \\rangle - \\langle n \\rangle^2 = \\frac{\\beta}{\\gamma}, \\\\[1em]\n",
"&\\text{noise} = \\text{coefficient of variation} = \\eta = \\frac{\\sigma}{\\langle n \\rangle} = \\sqrt{\\frac{\\gamma}{\\beta}}, \\\\[1em]\n",
"&\\text{Fano factor} = F = \\frac{\\sigma^2}{\\langle n \\rangle} = 1.\n",
"\\end{align}\n",
"\n",
"The **Fano factor** is a parameter you may not be familiar with. It is the ratio of the variance to mean, and is widely used as a measure of \"Poisson-ness\" of a distribution. Poisson distributions have a Fano factor of one, indicating a light tail to the distribution, while heavier-tailed distributions have larger Fano factors."
]
},
{
"cell_type": "markdown",
"metadata": {
"jp-MarkdownHeadingCollapsed": true,
"tags": []
},
"source": [
"## Dynamics of the moments\n",
"\n",
"From the master equation, we can derive an ODE describing the dynamics of the mean copy number of time, $\\langle n(t) \\rangle$. To do this, we multiply both sides of the master equations by $n$ and then sum over $n$.\n",
"\n",
"\\begin{align}\n",
"&\\sum_{n=0}^\\infty n \\left[\n",
"\\frac{\\mathrm{d}P(n;t)}{\\mathrm{d}t} = \\beta P(n-1;t) + \\gamma(n+1)P(n+1;t)\n",
"- \\beta P(n;t) - \\gamma n P(n;t)\\right] \\nonumber \\\\[1em]\n",
"&= \\frac{d\\langle n \\rangle}{\\mathrm{d}t} = \\beta \\sum_{n=0}^\\infty n P(n-1;t) + \\gamma \\sum_{n=0}^\\infty n(n+1)P(n+1;t) - \\beta\\langle n \\rangle - \\gamma \\langle n^2 \\rangle,\n",
"\\end{align}\n",
"\n",
"where we have used the facts that\n",
"\n",
"\\begin{align}\n",
"\\langle n \\rangle &= \\sum_{n=0}^\\infty n P(n;t), \\\\[1em]\n",
"\\langle n^2 \\rangle &= \\sum_{n=0}^\\infty n^2 P(n;t).\n",
"\\end{align}\n",
"\n",
"We have two sums left to evaluate.\n",
"\n",
"\\begin{align}\n",
"\\sum_{n=0}^\\infty n P(n-1;t) = \\sum_{n=0}^\\infty (n+1)P(n;t) = \\langle n \\rangle + 1,\n",
"\\end{align}\n",
"\n",
"and\n",
"\n",
"\\begin{align}\n",
"\\sum_{n=0}^\\infty n(n+1)P(n+1;t) = \\sum_{n=0}^\\infty n(n-1)P(n;t)\n",
"= \\langle n^2 \\rangle - \\langle n\\rangle.\n",
"\\end{align}\n",
"\n",
"Thus, we have\n",
"\n",
"\\begin{align}\n",
"\\frac{d\\langle n \\rangle}{\\mathrm{d}t} &= \\beta(\\langle n \\rangle + 1) + \\gamma (\\langle n^2 \\rangle - \\langle n\\rangle) - \\beta\\langle n \\rangle - \\gamma \\langle n^2 \\rangle \\nonumber \\\\[1em]\n",
"&= \\beta - \\gamma \\langle n \\rangle,\n",
"\\end{align}\n",
"\n",
"which is precisely the macroscale ODE we are used to. It is now clear that it describes the mean of the full probability distribution. The assumptions behind our ODE models are now also clear. They describe the dynamics of the expectation value of copy number (or concentration when divided by the total volume) whose probability distribution is described by a master equation."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Sampling out of master equations\n",
"\n",
"We have managed to derive the steady state solution to a master equation, but we would like to know the full dynamics. In nearly all cases we may come across in modeling biological circuits, an exact analytical expression for $P(n;t)$ is not accessible. We therefore turn to **sampling** out of $P(n;t)$. This is achieved via a **Gillespie algorithm**, otherwise known as a **stochastic simulation algorithm (SSA)**. A discussion and demonstration of this algorithm is in [Technical Appendix 16a](../technical_appendices/16a_gillespie.ipynb). This is a very widely used technique, and we will put it to use repeatedly in future chapters."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Experimental Fano factors are greater than one\n",
"\n",
"Both or theoretical analysis and the Gillespie simulation (at least of the mRNA) showed us that the Fano factor for simple gene expression is one. So, if we see Fano factors of unity in experiment, we know our model for gene transcription is at least plausible.\n",
"\n",
"Gene expression in individual cells typically results in a Fano factor greater than one! There are many ways this could come about, such as explicitly considering the multiple steps involved in making a protein, or by having a switchable promoter, as you can explore in an end-of-chapter problem in forthcoming chapters. Today, we will focus on a key experimental result: **gene expression occurs in bursts.**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Observations of bursty gene expression\n",
"In a beautiful set of experiments, [Cai, Friedman, and Xie](https://doi.org/10.1038/nature04599) discovered that gene expression is bursty. (We will come to understand what we mean by \"bursty\" in a moment.)\n",
"\n",
"Through a clever experimental setup (we encourage you to read the paper), Cai, Friedman, and Xie were able to get accurate counts of the number of β-galactosidase molecules in individual cells over time. They found that the number of molecules was constant over long stretches of time, and then the number suddenly increased. The figure below, taken from the paper, shows the number of β-galactosidase molecules present in a single cell over time (black) and a blank background (red). This shows that expression of the β-*gal* gene happens in bursts. In each burst, many molecules are made, and then there is a period between bursts where no molecules are made.\n",
"\n",
"
\n",
"\n",
"Cai and coworkers also found that the number of molecules produced per burst was geometrically distributed, as shown in the figure below. \n",
"\n",
"
\n",
"\n",
"\n",
"Recall, the \"story\" behind the Geometric distribution. \n",
"\n",
">We perform a series of Bernoulli trials with success probability $p_0$ until we get a success. We have $k$ failures before the success. The probability distribution for $k$ is Geometric.\n",
"\n",
"The probability mass function for the Geometric distribution is\n",
"\n",
"\\begin{align}\n",
"P(k;p_0) = (1-p_0)^k p_0.\n",
"\\end{align}\n",
"\n",
"Considering this story, this implies that a burst is turned on, and then it turns off by a random process after some time."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Master equation for bursty gene expression\n",
"\n",
"We also see from the experimental results tracking β-galactosidase copy number that the time scale of the bursty gene expression is much shorter than the typical decay time. So, per unit time, we can have many gene products made, not just a single gene product as we have considered thus far. So, we can re-write our transition probabilities per unit time as\n",
"\n",
"\\begin{align}\n",
"W(n\\mid n') &= \\beta' \\xi_{n-n'} + \\gamma (n+1) \\delta_{n+1,n'},\n",
"\\end{align}\n",
"\n",
"where $\\xi_{j}$ is the probability of making $j$ molecules in a burst and $\\beta'$ is the probability per unit time of initiating production of molecules. If $\\xi_{j} = 0$ for all $j\\ne 1$, then $\\beta' = \\beta$, and we have the same equations as before. So, our model is only slightly changed; we just allow for more transitions in and out of state $n$.\n",
"\n",
"We just have to specify $\\xi_{j}$. We can reason that the number of molecules per burst is geometrically distributed by matching the story. We can imagine that once a burst starts, \n",
"\n",
"We know that the number of molecules produced per burst is geometrically distributed, so\n",
"\n",
"\\begin{align}\n",
"\\xi_j = p_0(1-p_0)^j.\n",
"\\end{align}\n",
"\n",
"Now, our master equation is\n",
"\n",
"\\begin{align}\n",
"\\frac{\\mathrm{d}P(n;t)}{\\mathrm{d}t} &= \\beta'\\sum_{n'=0}^{n-1}p_0(1-p_0)^{n-n'} P(n';t) + \\gamma(n+1)P(n+1;t) \\nonumber \\\\[1em]\n",
"&\\;\\;\\;\\;- \\beta'\\sum_{n'=n+1}^\\infty p_0(1-p_0)^{n'-n}P(n;t) - \\gamma n P(n;t).\n",
"\\end{align}\n",
"\n",
"We can simplify the second sum by noting that it can be written as a geometric series,\n",
"\n",
"\\begin{align}\n",
"\\sum_{n'=n+1}^\\infty p_0(1-p_0)^{n'-n} = p_0\\sum_{j=1}^\\infty (1-p_0)^j\n",
"= p_0\\left(\\frac{1-p_0}{1-(1-p_0)}\\right) = 1-p_0.\n",
"\\end{align}\n",
"\n",
"Thus, we have,\n",
"\n",
"\\begin{align}\n",
"\\frac{\\mathrm{d}P(n;t)}{\\mathrm{d}t} &= \\beta'\\sum_{n'=0}^{n-1}p_0(1-p_0)^{n-n'} P(n';t) + \\gamma(n+1)P(n+1;t) \\nonumber \\\\[1em]\n",
"&\\;\\;\\;\\;- \\beta'(1-p_0)P(n;t) - \\gamma n P(n;t).\n",
"\\end{align}\n",
"\n",
"As we might expect, an analytical solution for this master equation is difficult. We are left to simulate it using SSA."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The steady state distribution for bursty expression is Negative Binomial\n",
"\n",
"We could derive the steady state distribution of copy numbers under the bursty master equation, but we will instead take a story matching approach to guess the solution. The story of the [Negative Binomial distribution](https://en.wikipedia.org/wiki/Negative_binomial_distribution) is as follows.\n",
"\n",
"> We perform a series of Bernoulli trials with a success rate $p_0$ until we get $r$ successes. The number of failures, $n$, before we get $r$ successes is Negative Binomially distributed.\n",
"\n",
"Bursty gene expression can give mRNA count distributions that are Negative Binomially distributed. Here, the Bernoulli trial is that a \"failure\" is production of an mRNA molecule and a \"success\" is that a burst in gene expression stops. So, the parameter $p_0$ is related to the length of a burst in expression (lower $p_0$ means a longer burst). The parameter $r$ is related to the frequency of the bursts. If multiple bursts are possible within the lifetime of mRNA, then $r > 1$. Then, the number of \"failures\" is the number of mRNA transcripts that are made in the characteristic lifetime of mRNA.\n",
"\n",
"The Negative Binomial distribution is equivalent to the sum of $r$ Geometric distributions. So, the number of copies will be given by how many bursts we get before degradation. This suggests that $r = \\beta'/\\gamma$. We can then write the Negative Binomial probability mass function as\n",
"\n",
"\\begin{align}\n",
"P(n;r,p_0) = \\frac{(n+r-1)!}{n!(r-1)!} p_0^r(1-p_0)^n,\n",
"\\end{align}\n",
"\n",
"where $r = \\beta'/\\gamma$. You can plug this in to the master equation to verify that this is indeed a steady state.\n",
"\n",
"We can put this in more convenient form. Instead of using $p_0$ to parametrize the distribution, we can instead define the **burst size** $b$ as the mean of the geometric distribution describing the number transcripts in a burst,\n",
"\n",
"\\begin{align}\n",
"b = \\frac{1-p_0}{p_0}.\n",
"\\end{align}\n",
"\n",
"Recall that $r$ is the typical number of bursts before degradation (or dilution), so $r$ is a **burst frequency**. So, for convenience, we write the steady state distribution as\n",
"\n",
"\\begin{align}\n",
"P(n;r,b) = \\frac{(n+r-1)!}{n!(r-1)!}\\,\\frac{b^n}{(1+b)^{n+r}}.\n",
"\\end{align}\n",
"\n",
"Strictly speaking, $r$ can be non-integer, so\n",
"\n",
"\\begin{align}\n",
"P(n;r,b) = \\frac{\\Gamma(n+r)}{n!\\Gamma(r)}\\,\\frac{b^n}{(1+b)^{n+r}},\n",
"\\end{align}\n",
"\n",
"where $\\Gamma(x)$ is the gamma function.\n",
"\n",
"The Negative Binomial is interesting because it can be peaked for $r > 1$, but has a maximum at $n=0$ for $r < 1$. So, for a low burst frequency, we get several cells with zero copies, but we can also get cells with many. This might have interesting implications on the response of a group of cells to a rise in lactose concentration and also drop in other food sources. If $r < 1$, we then have a simple explanation for the \"all-or-none\" phenomenon of induction observed many decades ago in *E. coli* by [Novick and Weiner](https://doi.org/10.1073/pnas.43.7.553). Cells are either fully induced or not at all; with $r < 1$, many cells have no $\\beta$-galactosidase at all.\n",
"\n",
"The known summary statistics of the Negative Binomial distribution are also useful.\n",
"\n",
"\\begin{align}\n",
"\\langle n \\rangle &= rb \\\\[1em]\n",
"\\langle n^2 \\rangle &= rb(1+b+rb) \\\\[1em]\n",
"\\sigma^2 &= rb(1+b) \\\\[1em]\n",
"\\text{Fano factor} = F &= 1+b \\\\[1em]\n",
"\\text{noise} = \\eta &= \\sqrt{\\frac{1+b}{rb}}.\n",
"\\end{align}\n",
"\n",
"So, we can tune the burst frequency and burst size to control variability. For example, we could keep $\\langle n \\rangle$ constant by increasing the burst size $b$ while decreasing the burst frequency $r$ (big, intermittent bursts), which would result in increased noise. If, instead, we decreased the burst size while increasing the burst frequency (short, frequent bursts), we get reduced noise. This gives a design principle, **bursty gene expression enables cells to regulate the mean and cell-to-cell variability of protein levels by controlling burst frequency and burst size.**\n",
"\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"## References\n",
"\n",
"- Cai, L., Friedman, N, Xie, X. S., Stochastic protein expression in individual cells at the single molecule level, _Nature_, 440, 358–362, 2006. ([link](https://doi.org/10.1038/nature04599))\n",
"- Novick, A. and Weiner, M., Enxyme induction as an all-or-none phenomenon. _Proc. Natl. Acad. Sci. USA_, 43, 553–566, 1957. ([link](https://doi.org/10.1073/pnas.43.7.553))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"\n",
"## Technical Appendices"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbsphinx-toctree": {
"maxdepth": 1
},
"tags": []
},
"source": [
"- [16a. Stochastic (Gillespie) simulation](../technical_appendices/16a_gillespie.ipynb)\n",
"- [16b. Profiling code for speed and an application of the Gillespie algorithm](../technical_appendices/16b_profiling_for_speed.ipynb)"
]
},
{
"cell_type": "markdown",
"metadata": {
"tags": []
},
"source": [
"\n",
"\n",
"## Problems"
]
},
{
"cell_type": "markdown",
"metadata": {
"nbsphinx-toctree": {},
"tags": []
},
"source": [
"- [16.1: Dynamics of noise](../problems/16/problem_16.1.ipynb)\n",
"- [16.2: Noise in a switchable promoter](../problems/16/problem_16.2.ipynb)\n",
"- [16.3: A possible mechanism for bursty gene expression](../problems/16/problem_16.3.ipynb)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.10"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {},
"toc_section_display": true,
"toc_window_display": false
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 4
}