Cellular Respiration: Mitochondrial Electron Transport Chain

Cellular Respiration: Mitochondrial Electron Transport Chain preview image

1 collaborator

Screen_shot_2018-02-02_at_12.53.50_pm lin xiang (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 6.2.0 • Viewed 586 times • Downloaded 37 times • Run 0 times
Download the 'Cellular Respiration: Mitochondrial Electron Transport Chain' modelDownload this modelEmbed this model

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

  1. Click on the "setup/reset" button to initiate or reset the model.
  2. 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.
  3. 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.
  4. Use switches to explore/test the impacts of ETC inhibitors, ATP synthase inhibitors, uncoupling proteins, or absence of oxygen on the production of ATP.
  5. 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

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

;; 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.

Uploaded by When Description Download
lin xiang almost 3 years ago fix info Download this version
lin xiang about 3 years ago update the existing settings Download this version
lin xiang about 3 years ago adjust the interface Download this version
lin xiang over 4 years ago Remove "no-display" Download this version
lin xiang over 4 years ago Initial upload Download this version

Attached files

File Type Description Last updated
Cellular Respiration: Mitochondrial Electron Transport Chain.png preview Preview for 'Cellular Respiration: Mitochondrial Electron Transport Chain' over 4 years ago, by lin xiang Download

This model does not have any ancestors.

This model does not have any descendants.