Enzyme Kinetics

Enzyme Kinetics preview image

2 collaborators

Uri_dolphin3 Uri Wilensky (Author)
Mike Stieff (Author)


chemical reactions 

Tagged by Reuven M. Lerner almost 11 years ago


Tagged by Reuven M. Lerner over 11 years ago

chemistry and physics 

Tagged by Reuven M. Lerner almost 11 years ago

Model group CCL | Visible to everyone | Changeable by group members (CCL)
Model was written in NetLogo 5.0.4 • Viewed 594 times • Downloaded 66 times • Run 1 time
Download the 'Enzyme Kinetics' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


This model demonstrates the kinetics of single-substrate enzyme-catalysis. The interactions between enzymes and substrates are often difficult to understand and the model allows users to visualize the complex reaction.

The standard equation for this reaction is shown below.

                  Kc          Kr
        E + S <=======> E-S ------> E + P

Here E represents Enzyme, S Substrate, E-S Enzyme-Substrate complex, and P product. The rate constants are Kc for complex formation, Kd for complex dissociation, Kr for catalysis. The first step in catalysis is the formation of the E-S complex. This can consist of either covalent or non-covalent bonding. The rates of complex formation and dissociation are very fast because they are determined by collision and separation of the molecules. The next step is for the enzyme to catalyze the conversion of substrate to product. This rate is much slower because the energy required for catalysis is much higher than that required for collision or separation.

The model demonstrates several important properties of enzyme kinetics. Enzyme catalysis is often assumed to be controlled by the rate of complex formation and dissociation, because it occurs much faster than the rate of catalysis. Thus, the reaction becomes dependent on the ratio of Kc / Kd. The efficiency of catalysis can be studied by observing catalytic behavior at different substrate concentrations.

By measuring the rate of complex formation at different substrate concentrations, a Michaelis-Menten Curve can be plotted. Analysis of the plot provides biochemists with the maximum rate (Vmax) at which the reaction can proceed. As can be seen from the model, this plot is linear at low levels of substrate, and non-linear at higher levels of substrate. By examining the model, the reasons for this relationship can be seen easily.

Enzyme catalysis can also be controlled using inhibitors. Inhibitors are molecules that are structurally similar to substrate molecules that can complex with the enzyme and interfere with the E-S complex formation. Subsequently, the shape of the Michaelis-Menten Curve will be altered. The model demonstrates the effects of inhibitors on catalysis.


Choose the values of Kc, Kd, and Kr with appropriate sliders:

  • Kc controls the rate at which substrates (green) and enzymes (red) stick together so that catalysis can occur
  • Kd controls the rate at which they come unstuck
  • Kr controls the rate of the forward reaction by which an enzyme (red) converts a substrate (green) to a product (blue)

Having chosen appropriate values of the constants, press SETUP to clear the world and create a constant initial number of enzyme (red) molecules. Play with several different values to observe variable effects on complex formation and catalysis.

Press GO to start the simulation. A constant amount of enzyme (red) will be generated. The concentrations of substrate, complex, and product are plotted in the CONCENTRATIONS window.

Experiment with using the ADD-SUBSTRATE and ADD-INHIBITOR buttons to observe the effects of adding more molecules to the system manually as it runs. The default setting for Kr is 0, which means that no product (blue) will be generated unless you change Kr to a non-zero value.

Note that when complexes form they stop moving. This isn't intended to be physically realistic; it just makes the formation of complexes easier to see. (This shouldn't affect the overall behavior of the model.)

To plot the Michaelis-Menten Curve for your reaction conditions, you will have to perform several runs at different concentrations in order to measure the velocity for each run. To do this, set the PAUSE? switch ON. When this switch is on, the model automatically stops after 30 time ticks. Begin your assay by setting the substrate volume to zero and running the simulation. When it stops, press RECORD V and a point will be plotted on the Michaelis-Menten Curve. Run another simulation with a higher concentration of substrate by changing the VOLUME slider, then hitting SETUP followed by GO, followed by RECORD V once the model stops. Continue for several values of substrate concentrations until a curve is generated. If you wish to start over hit CLEAR MM to reset the plot.


Watch the rate at which the enzyme and substrate stick together. How does this affect the conversion of substrate into product? What would happen if Kd is very high and Kc is very low? If Kr were the same order of magnitude as Kd and Kc?

Watch the Michaelis-Menten Curve. Does it match up with the discussion of enzyme kinetics discussed above? Why does the plot initially slope upward, then flatten out?

Which variables can alter the magnitude of v?

How does the magnitude of Kd and Kr affect the smoothness of the Michaelis-Menten Curve?


Run the simulation with VOLUME set to various amounts. How does this affect the curve?

If Kr is MUCH greater than Kd, what affect does this have on the reaction? How important does complex formation become in this situation?

If Kc is MUCH less than Kd, what does this mean in the real-world? How are the enzyme and substrate related under these conditions?

What effect does adding inhibitor to the model have on the plot? Is Vmax affected?


What would happen if yellow inhibitor molecules could react to form a product? How would this affect the plot?

Inhibitors can be irreversible or reversible. That is, they can bind to an enzyme and never let go, or they can stick and fall off. Currently, the model simulates irreversible inhibitors. Modify the code so that the yellow molecules reversibly bind to the enzyme. How does this affect catalysis?

Often, the product of catalysis is an inhibitor of the enzyme. This is called a feedback mechanism. In this model, product cannot complex with enzyme. Modify the procedures so that the product is a reversible inhibitor. How does this affect catalysis with and without yellow inhibitor?

Include a slider that allows you to change the concentration of enzyme. What affect does this have on the plot? Vmax? Look closely!


It is a little difficult to ensure that a reactant never participates in two reactions simultaneously. In the future, a primitive called GRAB may be added to NetLogo; then the code in the FORM-COMPLEX procedure wouldn't need to be quite so tricky.


Thanks to Mike Stieff for his work on this model.


If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:

  • Stieff, M. and Wilensky, U. (2001). NetLogo Enzyme Kinetics model. http://ccl.northwestern.edu/netlogo/models/EnzymeKinetics. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
  • Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.


Copyright 2001 Uri Wilensky.


This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at uri@northwestern.edu.

This model was created as part of the projects: PARTICIPATORY SIMULATIONS: NETWORK-BASED DESIGN FOR SYSTEMS LEARNING IN CLASSROOMS and/or INTEGRATED SIMULATION AND MODELING ENVIRONMENT. The project gratefully acknowledges the support of the National Science Foundation (REPP & ROLE programs) -- grant numbers REC #9814682 and REC-0126227.

Comments and Questions

Click to Run Model

breed [ enzymes enzyme]      ;; red turtles that bind with and catalyze substrate
breed [ substrates substrate ]   ;; green turtles that bind with enzyme
breed [ inhibitors inhibitor ]   ;; yellow turtle that binds to enzyme, but does not react
breed [ products product ]     ;; blue turtle generated from enzyme catalysis

turtles-own [
  partner      ;; holds the turtle this turtle is complexed with,
               ;; or nobody if not complexed

globals [
  substrate-added ;; keeps track of how much substrate has been added
  v               ;; rate of complex formation at each time step

to startup

;; observer procedure to set up model

to setup
  clear-turtles                    ;; clears view -- don't use clear-all so MM plot doesn't clear
  set substrate-added 0
  set v 0
  add enzymes 150                   ;; starts with constant number of enzymes
  add substrates volume             ;; add substrate based on slider

;; observer procedure to add molecules to reaction

to add [kind amount]
  crt amount
    [ set breed kind
      setxy random-xcor random-ycor
      set partner nobody
      setshape ]
  if kind = substrates
    [ set substrate-added substrate-added + amount ]

;; procedure that assigns a specific shape to a turtle, and shows
;; or hides it, depending on its state

to setshape
  ifelse breed = enzymes
    [ set color red
      ifelse partner = nobody
        [ set shape "enzyme" ]
        [ ifelse ([breed] of (partner) = substrates)
            [ set shape "complex" ]
            [ set shape "inhib complex" ] ] ]
    [ ifelse breed = substrates
        [ set color green
          set shape "substrate"
          set hidden? (partner != nobody) ]
        [ ifelse breed = inhibitors
            [ set color yellow
              set shape "inhibitor"
              set hidden? (partner != nobody) ]
            [ if breed = products
                [ set color blue
                  set shape "substrate"
                  set hidden? false ] ] ] ]

;; main procedure

to go
  if pause? and (ticks >= 30)
    [ stop ]
  ask turtles [ move ]                ;; only non-complexed turtles will move
  ask enzymes [ form-complex ]         ;; enzyme may form complexes with substrate or inhibitor
  ask substrates [ react-forward ]     ;; complexed substrate may turn into product
  ask enzymes [ dissociate ]           ;; or complexes may just split apart
  calculate-velocity                  ;; calculate V for use in the Michaelis-Menten curve

to move  ;; turtle procedure
  if partner = nobody
    [ fd 1
      rt random-float 360 ]

;; An enzyme forms a complex by colliding on a patch with a substrate
;; or inhibitor.  If it collides with an inhibitor, it always forms
;; a complex.  If it collides with a substrate, Kc is its percent chance
;; of forming a complex.

to form-complex  ;; enzyme procedure
  if partner != nobody [ stop ]
  set partner one-of (other turtles-here with [partner = nobody])
  if partner = nobody [ stop ]
  if [partner] of partner != nobody [ set partner nobody stop ]  ;; just in case two enzymes grab the same partner
  ifelse ((([breed] of partner) = substrates) and ((random-float 100) < Kc))
     or (([breed] of partner) = inhibitors)
    [ ask partner [ set partner myself ]
      ask partner [ setshape ] ]
    [ set partner nobody ]

;; substrate procedure that controls the rate at which complexed substrates
;; are converted into products and released from the complex

to react-forward
  if (partner != nobody) and (random-float 1000 < Kr)
    [ set breed products
      ask partner [ set partner nobody ]
      let old-partner partner
      set partner nobody
      ask old-partner [ setshape ] ]

;; enzyme procedure that controls the rate at which complexed turtles break apart

to dissociate
  if partner != nobody
    [ if ([breed] of partner = substrates) and (random-float 1000 < Kd)
      [ ask partner [ set partner nobody ]
        let old-partner partner
        set partner nobody
        ask old-partner [ setshape ] ] ]

to calculate-velocity
  let initial-conc substrate-added
  let current-conc count substrates with [partner = nobody]
  if ticks > 0
    [ set v (initial-conc - current-conc) / ticks ]

;;; plotting procedures

to setup-mm-plot
  set-current-plot "Michaelis-Menten Curve"

;; allows user to plot the concentration versus the velocity on the Michaelis-Menten Curve

to do-mm-plot
  set-current-plot "Michaelis-Menten Curve"
  plotxy substrate-added v

; Copyright 2001 Uri Wilensky.
; See Info tab for full copyright and license.

There are 10 versions of this model.

Uploaded by When Description Download
Uri Wilensky about 11 years ago Updated to NetLogo 5.0.4 Download this version
Uri Wilensky over 11 years ago Updated version tag Download this version
Uri Wilensky over 11 years ago Updated to version from NetLogo 5.0.3 distribution Download this version
Uri Wilensky over 12 years ago Updated to NetLogo 5.0 Download this version
Uri Wilensky almost 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky almost 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky almost 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky almost 14 years ago Updated from NetLogo 4.1 Download this version
Uri Wilensky about 14 years ago Model from NetLogo distribution Download this version
Uri Wilensky about 14 years ago Enzyme Kinetics Download this version

Attached files

File Type Description Last updated
Enzyme Kinetics.png preview Preview for 'Enzyme Kinetics' about 11 years ago, by Uri Wilensky Download

This model does not have any ancestors.

This model does not have any descendants.