Gene Autoregulation

from Red Blob Games
14 Feb 2022

I’ve been studying from Biological Modeling: a free course[1]. These are some of my notes for Chapter 1, about gene networks. I wanted to implement the section on autoregulation[2] myself instead of using their recommended software[3].

The context: DNA leads to RNA leads to proteins. These proteins can do a wide range of things, but the ones covered here are transcription factors, which affect the rate of protein production (gene expression). Surprisingly, some proteins affect their own rate of production, a process called autoregulation. To understand this, let’s first look at a simple model of protein production:

  1. In the book there are two proteins, X and Y. But X is constant, so I’m going to focus on Y in my code.
  2. The first reaction is XX + Y. Since X is constant, that means Y is being produced at a constant rate, which I’ll call reaction.
  3. The second reaction is Y → null. This means Y is being removed at a rate recycle proportional to the amount of Y in the system.

These two reactions lead to equilibrium for the level of Y:

Reaction rate: Recycle rate:

By playing with the sliders I can see that reaction is a pure scaling factor, and recycle is the main parameter affecting shape. The chart is afrom a simulation but this simple case also can be represented as a closed form Y(t) = reaction/recycle * (1 - e^(-recycle * t)).

Now it’s time to add autoregulation.

  1. The autoregulation reaction is 2YY. This means Y is being removed at a rate autoregulation times .

This also leads to an equilibrium, but it’s lower than the original system:

Reaction rate: Recycle rate:
Autoregulation rate:

But why would we ever want this? It seems weird to evolve a new mechanism to reach a lower equilibrium, since it can already do that without autoregulation. We can reduce the reaction parameter instead.

The way to think about it is that instead of the input parameters reaction and recycle being fixed, it’s the equilibrium value that’s fixed. Let’s set the equilibrium to always be 1.0 and see what autoregulation does:

Reaction rate set automatically; Recycle rate:
Autoregulation rate:

This explains why we want autoregulation! For any value of the reaction rate, we reach equilibrium faster if we also have autoregulation > 0.

So that’s interesting! I learned a bit by studying this and implementing the simulation.

Other notes I made while studying this section:

Read the course material[4] for a lot more detail!

Email me , or tweet @redblobgames, or comment: