Cellular Respiration: Mitochondrial Electron Transport Chain
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model simulates the processes of proton transport and ATP formation in a mitochondrion. Students may observe the processes and explore the impacts of ETC inhibitors, ATP synthase inhibitors, uncoupling proteins, or the absence of oxygen on these processes. This model is modified from a NetLogo simulation developed by Steven Brewer (2004). Detailed membrane structures, rules of proton movement and regulation, and oxygen impacts are constructed in this model to provide a powerful dynamic visualization to support NGSS-aligned active learning at 6-12 levels.
HOW IT WORKS
Components---
ETCs: purple patch areas ATP synthases: green patch areas uncoupling proteins: pink patch area lipid bilayer:yellow patch area with lipids
NADH: orange flat hexagons NAD: gray flat hollow hexagons Protons: orange circles containing a plus Oxygens: white double circles Water: white and red molecules ATP: invisible in the model but can be tracked in the plot of "ATP Yields".
Rules:---
NADH molecules in the matrix pass a proton (H+) to an electron transport chain (ETC).
A functional ETCs transports H+ into the inter membrane space. An ETCs will not function if 1) it is poisoned (e.g., by an inhabitor), 2) oxygen is blocked, or 3) H+ gradient is too high (arbitrarily set as 200 times higher in this simulation).
A functional ATP synthase allows H+ to move into matrix. If oxygens are present, water and ATP will be produced. An ATP synthase will not function if 1) it is inhabited, or 2) H+ gradient is too low (there must be ten more protons in intermembrane space than in the matrix).
An uncoupling protein allows H+ to move into the matrix if activated. If oxygens are present, water will be produced, but no ATP will be produced.
HOW TO USE IT
- Click on the "setup/reset" button to initiate or reset the model.
- Put down the time you want to model to run. For a preliminary investigation, put down a big number (e.g., 1000000) to get a sufficient observation time.
- Click on the "Run/pause" button to run or pause the model. Click on the "Run a tick" button to run the model for just one tick.
- Use switches to explore/test the impacts of ETC inhibitors, ATP synthase inhibitors, uncoupling proteins, or absence of oxygen on the production of ATP.
- Use sliders to adjust the formation rate of NADH and the consumption rate of ATP.
Run the model at a lower speed to get a better visual effect.
THINGS TO NOTICE AND TRY
When using the model, pay attention to how protons move. Can you infer which side of the model represents the matrix and which side represents the intermembrane space? What is the evidence in the model?
What happens when oxygen is blocked? The absence of oxygen first affect the ETCs or ATP synthases? What is the evidence in the model?
What happens when ETCs are poisoned? How does it affect the proton gradient and formation of ATP? Will it also affect ATP synthases? How and what is your evidence?
What happens when ATP synthases are poisoned? How does it affect the proton gradient and formation of ATP? Will it also affect ETCs? How and what is your evidence?
What happens when uncoupling proteins are activated? How does it affect the proton gradient and formation of ATP? Will it also affect ETCs and/or ATP synthases? How and what is your evidence?
How do NADH affect the proton gradient and formation of ATP? What is your evidence?
What are the real-life examples of the simulated scenarios above?
RELATED MODELS
Check 3dsciencemodeling.com for related models and other resources.
CREDITS AND REFERENCES
This model is made by Dr. Lin Xiang at the University of Kentucky.If you mention this model in a publication, we ask that you include the citations below.
Xiang, L. (2019). Cellular Respiration: Mitochondrial Electron Transport Chain. Department of STEM Education, University of Kentucky, Lexington, KY.
This model is modified based on the ElectronTransport model initially developed by Steven Brewer.
Brewer, S.D. (2004). Electron Transport: Simulating Proton Gradient, ADP-ATP, and NADH-NAD+ Interactions. http://bcrc.bio.umass.edu/netlogo/models/ElectronTransport/Biology Computer Resource Center.
Comments and Questions
;; Cellular Respiration: Mitochondrial Electron Transport Chain ;; ;; Coded in 2019 by Lin Xiang (lin.xiang@uky.edu), based on the ElectronTransport model initially developed by Steven Brewer. ;; ;; Brewer, S.D. (2004). Electron Transport: Simulating Proton Gradient, ADP-ATP, and NADH-NAD+ Interactions. ;; http://bcrc.bio.umass.edu/netlogo/models/ElectronTransport/Biology Computer Resource Center. (lxiang75@gmail.com; lin.xiang@uky.edu) ;; ;; If you mention this model in a publication, we ask that you include the citations below. ;; ;; Xiang, L. (2019). Cellular Respiration: Mitochondrial Electron Transport Chain. Department of STEM Education, University of Kentucky, Lexington, KY. ;; ;;----------------------------------------- ;;CREATIVE COMMONS LICENSE ;;This code is distributed by Lin Xiang under a Creative Commons License: ;;Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) ;;https://creativecommons.org/licenses/by-sa/4.0/ ;; ;;----------------------------------------- breed [enzymes enzyme] breed [hs h] breed [adps adp] breed [nads nad] breed [water a-water] breed [oxygens oxygen] breed [lipids lipid] breed [poison1s poison1] breed [poison2s poison2] patches-own[protein] hs-own [pass] globals [n n1 atp] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Main Procedures (SETUP and GO) ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to setup ca set atp 100 ;have some ATPs to survive setup-membrane setup-NADH setup-oxygen setup-protons reset-ticks end to go tick nad-nadh-action H-movement H-gradient-inhabitor-uncoupler ATP-water-formation oxygen-water-move NADH-formation ATP-consumption ;no-display plot-levels ;display if ATP <= 0 [user-message "The cell runs our of ATPs and dies." stop] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Sub-procedures of SETUP ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to setup-membrane ;make the inner membrane ask patches with [abs pycor <= 3] [set pcolor 49 ] ; make boundary for the system ask patches with [abs pxcor = max-pxcor or abs pycor = max-pycor] [set pcolor 2] ;add enzymes into the membrane ask patches with [pcolor = 49] [ if pxcor >= -10 and pxcor <= -8 or pxcor >= -2 and pxcor <= 0 or pxcor >= 6 and pxcor <= 8 [set pcolor 115 set protein 2] ;set up ETS. if pxcor = -6 or pxcor = 2 or pxcor = 10 [set pcolor 72 set protein 1] ;set up ATP synthase if pxcor = -12 or pxcor = -4 or pxcor = 4 or pxcor = 12 [set pcolor 138 set protein 3] ;set up leak proteins (such as ANT or UCP) ] ask patches with [ pycor = 3 and pcolor = 49] [sprout-lipids 1 [set color 7 set shape "lipid" set size 4 set heading 0 set ycor ycor - 1.5]] ask patches with [ pycor = -3 and pcolor = 49] [sprout-lipids 1 [set color 7 set shape "lipid" set size 4 set heading 180 set ycor ycor + 1.5]] ;setup the bilayer end to setup-protons create-hs 30 [set color 25 set shape "proton1" set size 0.6 setup-position] end to setup-oxygen create-oxygens 5 + random 3 [set size 2 set color white set shape "oxygen" setup-position-1] end to setup-position ;random positions in both up and bottom black areas setxy random-xcor random-ycor if pcolor != 0 [setup-position] end to setup-position-1 ;random positions in the bottom black area setxy random-xcor random-ycor if pcolor != 0 or ycor >= -4 [setup-position-1] end to setup-NADH ;make 100 NADH molecules at the beginning create-nads 100 [set color 25 set shape "nadh" set size 2.5 setup-position-1] end to setup-poison1s ask patches with [pcolor = 113 and pycor = -3] [sprout-poison1s 1[ set size 1 set color yellow set shape "p-1" ]] end to setup-poison2s create-poison2s 8 [set size 1 set color yellow set shape "p-2" setup-position] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Sub-procedures of GO ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to nad-nadh-action ask nads [right random 90 left random 90 ; ask NADHs ifelse [pcolor] of patch-at dx dy != 0 [ifelse [pcolor] of patch-at dx dy != 115 [set heading heading - 180] ; Turn back if approching to a structure but not an ETC, [if shape = "nadh" [set shape "nad" set color 3 set size 2 hatch-hs 1 [set color 25 set shape "proton1" set size 0.6 fd 1 set pass 0]]]] ;if approaching to an ETC, change to NAD+ and release one H+ [fd 1] ] end to H-gradient-inhabitor-uncoupler ;;Activate or deactivate ETC based on H+ gradient, inhabitor and uncouplers ask patches with [protein = 1] [ ;ask ATP synthase ifelse Poison_ATP_synthase = true ;If poisoned [set pcolor 72] ;change pcolor to deactivate ATP synthase [ifelse count hs with [ycor > 3] - count hs with [ycor < -3] >= 10 [set pcolor 75][set pcolor 72]] ; if not poisoned, stay activated if H+ gradient is established, deactivated if H+ gradient is too low. ] ask patches with [protein = 2] [ ;ask ETC ifelse Poison_ETC = true or block-oxygen = true ;If poisoned or oxygen is blocked [set pcolor 113] ;change pcolor to deactivate ETC [ifelse count hs with [ycor > 3] / (1 + count hs with [ycor < -3]) >= 200 [set pcolor 113][set pcolor 115]]]; if not poisoned, stay activated if H+ gradient is not too high, deactivated if H+ gradient is too high. ask patches with [protein = 3] [ ;ask leak proteins ifelse Uncouplers = true ;If uncoupled [set pcolor 137] ;change pcolor to activate uncouplers [set pcolor 138] ; change color to deavtiate uncouplers ] oxygen-factor end to H-movement ask hs [ if pcolor = 0 [right random 90 left random 90 ;wiggle if [pcolor] of patch-at dx dy = 0 [fd 0.3] ;If nothing is aheadm, move forward if [pcolor] of patch-at dx dy = 75 [ifelse heading > 90 or heading < 270 [fd 1][set heading heading - 180]] ;if an H+ gets close to an ATP synthase and if it is in the intermembrane space, bound with the ATP synthase if [pcolor] of patch-at dx dy = 115 [ifelse heading < 90 or heading > -90 [fd 1][set heading heading - 180]] ;if an H+ gets close to an ETC and it is in the matrix, bound with ETC complex if [pcolor] of patch-at dx dy = 137 [if heading > 90 or heading < 270 [ifelse uncouplers = true [fd 1][set heading heading - 180]]] ;if an H+ gets close to an leak protein and it is in the intermembrane space, if uncouples are true, bound to the protein. ] if pcolor = 75 [set heading 180 fd 0.1 ;if a H+ has entered in an ATP synthase, move down into the matrix if ycor < -3 and pass = 1 [set pass 2]] ;if a H+ go DOWN through the inner membrane, label its pass as 2 if pcolor = 115 [set heading 0 fd 0.1 ;if a H+ has entered in an ETC complex, move up to the inter membrane space if ycor > 3 and pass = 0 [set pass 1]] ;if a H+ go UP through the inner membrane, label its pass as 1 if pcolor = 137 [set heading 180 fd 0.05 ;if a H+ has entered the bilayer, move down into the matrix if ycor < -3 and pass = 1 [set pass 2]] ;if a H+ go DOWN through the inner membrane, label its pass as 2 if ycor > 0 and pass = 2 [set pass 1] ;some Hs may go back to inter membrane space, label the pass as 1 so it will not form water in the wrong place. ] end to ATP-water-formation ask hs with [pass = 2 and pcolor = 75] [ if count oxygens > 0 ;ask Hs that pass through ATP synthase, if oxygens are present [hatch-water 1 [set shape "water" set color red set size 1.5 ] ;mostly of Hs form water molecule. Note Hs assumption and water formation are not in the ratio of 4:1. set atp atp + 3 die ]] ;Each H makes 3 ATPs ask hs with [pass = 2 and pcolor = 137] [ if count oxygens > 0 ;ask Hs that pass uncouplers, if oxygens are present [hatch-water 1 [set shape "water" set color red set size 1.5 ] ;mostly of Hs form water molecule. Note Hs assumption and water formation are not in the ratio of 4:1. die ]] ;No ATPs are produced end to oxygen-water-move ;make water and oxygen only move within the matrix ask water [right random 90 left random 90 ifelse [pcolor] of patch-at dx dy != 0 [set heading heading - 180] [fd 0.3]] ask water [if [pcolor] of patch-at dx dy = 2 [die]] ;if water gets to the boundary, disappears ask oxygens [right random 90 left random 90 ifelse [pcolor] of patch-at dx dy != 0 [set heading heading - 180] [fd 0.3]] end to NADH-formation ;reform NADH at an ajustable rate ask nads with [color = 3] [ if random 1000 < formation-of-NADH [ ;if random-float 1 < (formation-of-NADH * 0.005) [ set color 25 set shape "nadh" set size 2.5]] end to ATP-consumption if random 100 < ATP-consumption-rate [set atp atp - 1] end to oxygen-factor if block-oxygen = true [ask oxygens [die]] if block-oxygen = false [ if count oxygens <= 0 [create-oxygens 5 + random 3 [set size 2 set color white set shape "oxygen" setup-position-1]]] end ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; ;; Supporting-procedures ;; ;; ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; to plot-levels ;; this creates creates the bar graph set-current-plot "Proton Gradient" clear-plot plot-pen-down set-current-plot-pen "matrix" plotxy 1 count hs with [ycor <= -3] set-current-plot-pen "intermembrane" plotxy 2 count hs with [ycor >= 3] end ; Copyright 2019 by Lin Xiang. All rights reserved. ; ; This model is modified based on the ElectronTransport model initially developed by Steven Brewer. ; ; Brewer, S.D. (2004). Electron Transport: Simulating Proton Gradient, ; ADP-ATP, and NADH-NAD+ Interactions. ; http://bcrc.bio.umass.edu/netlogo/models/ElectronTransport/ ; Biology Computer Resource Center
There are 5 versions of this model.
This model does not have any ancestors.
This model does not have any descendants.