The lac operon

The E. coli lac operon controls the production of enzymes needed to metabolize lactose and is regulated in large part by lactose availability. This example model includes

  • LacI (I) repression of the lac operon via blocking of the operator (O),

  • lactose (L) transport by LacY (Y) permease,

  • conversion of lactose to allolactose (A) by LacZ β-galactosidase (Z),

  • and allolactose-mediated derepression of the operon.

[1]:
from pykappa import System

system = System.from_ka(
    """
    %init: 1 O(i[.])
    %init: 1 I(o[.])
    %init: 10 Y()
    %init: 10 Z()

    %obs: 'Extracellular lactose' |L(loc{out})| / 100
    %obs: 'LacY' |Y()|
    %obs: 'Free lac operon' |O(i[.])|

    I(o[.]), O(i[.]) <-> I(o[1]), O(i[1]) @ 1, 0.1   // lac repression
    Y(), L(loc{out}) -> Y(), L(loc{in}) @ 0.01       // lactose transport
    Z(), L(loc{in}) -> Z(), A(z[.], i[.]) @ 1        // lactose to allolactose
    A(i[.]), I(o[.]) <-> A(i[1]), I(o[1]) @ 1, 0.1   // derepression
    O(i[.]), ., . -> O(i[.]), Z(), Y() @ 1           // lac expression
    L(loc{in}) -> . @ 1                              // lactose metabolism

    // degradation
    A() -> . @ 0.1
    Y() -> . @ 0.5
    Z() -> . @ 0.5
    """,
    seed=42
)

The rule graph illustrates the local transformations that the rules specify. The conditions for these transformations are not detailed in the graph as they are in the Kappa string representation.

[2]:
system.rule_graph()
[2]:
../_images/examples_lac_operon_3_0.svg

We simulate the system first without lactose, then add extracellular lactose to observe the regulatory response.

[3]:
# Simulate with no lactose
while system.time < 300:
    system.update()

# Add extracellular lactose and continue simulating
system.mixture.add("L(loc{out})", 1000)
while system.time < 800:
   system.update()
[4]:
system.monitor.plot(figsize=(4.5, 4.5));
../_images/examples_lac_operon_6_0.svg

Without lactose, the operon remains mostly repressed. When extracellular lactose is added,

  • existing LacY transports some lactose into the cell,

  • intracellular lactose is converted to allolactose by LacZ,

  • allolactose inactivates the LacI repressor,

  • derepressing the operon and leading to increased LacY and LacZ production.

As lactose is metabolized the operon is again repressed.