;; these lines define the breed of turtles we are going to use breed [substrates1 substrate1] breed [substrates2 substrate2] breed [enzymes enzyme] breed [S1-E-complexes S1-E-complex] breed [S1-E-S2-complexes S1-E-S2-complex] breed [products product] ;;we have to define globals variables we will use in all parts of the program globals [ substrate1_number substrate2_number enzyme_number S1-E-complex_number S1-E-S2-complex_number product_number do_we_plot_Cooperativity ;;enable to plot the Cooperativity curve only one time V ;;max velocity a velocity K.O.5 ;; K in the hill equation h ;;the hill constant ] ;; this constant will enable us to create an enzyme for each product produced products-own [ has_to_release_an_enzyme ] ;;defines the instructions to perform when the user will press the setup button: definitions of the value of variables and creation of the turtles on the screen to setup reset-ticks ;;reset the time system clear-turtles ;;reset all the turtles clear-patches ;; reset all the patches clear-drawing ;;..... clear-output set substrate1_number substrate1_units set substrate2_number substrate2_units set enzyme_number enzyme_units set S1-E-complex_number 0 set S1-E-S2-complex_number 0 set product_number 0 set-default-shape substrates1 "substrate1" set do_we_plot_Cooperativity true create-substrates1 substrate1_number ;;put x=substrate1_number turtles of substrate1 [ setxy random-xcor random-ycor ;;put the substrate1 turtles randomly on the screen ] set-default-shape substrates2 "substrate2" create-substrates2 substrate2_number ;;put x=substrate2_number turtles of substrate2 [ setxy random-xcor random-ycor ;;put the substrate2 turtles randomly on the screen ] set-default-shape enzymes "enzyme" create-enzymes enzyme_number [ setxy random-xcor random-ycor ] end ;;#1: explanations of the ask enzymes[...] syntax ;; set enzyme_number: we are going to modify this number because when the enzyme is complexing with the substrate the number of enzyme decreases obviously. ;;the function "form-complex-with-substrate" will return the value "enzyme_number" ;; the names after "form-complex-with-substrate" are the paramaters of the function: ;; substrates1: allows to know which kind of substrates we are going to complex with ;;enzyme_number is hence the number we are going to modify ;; S1-E-complexes will be the new breed of our element ;; and "s1-e-complex" will be the new shape of our element ;;to go procedure tells what to do for each kind of turtles to go ask turtles [move] ;;only non complexed turtles will move ask enzymes [set enzyme_number form-complex-with-substrate substrates1 enzyme_number S1-E-complexes "s1-e-complex"] ;; the first step of the allosteric enzymes: form complexes with substrate1 to change of conformation ;;explanations: see #1 above ask substrates1 [form-complex-with-enzyme] ask S1-E-complexes [set S1-E-complex_number form-complex-with-substrate substrates2 S1-E-complex_number S1-E-S2-complexes "s1-e-s2-complex"] ;;line calls a to-report procedure ask substrates2 [form-complex-with-S1-E-complex] ;; substrate2 will bind the S1-E-complex if substrate1 has already complexed with the enzyme ask S1-E-S2-complexes [form-product] if(one-of products with [has_to_release_an_enzyme = true] != nobody) [ ask one-of products with [has_to_release_an_enzyme = true] [set has_to_release_an_enzyme false] create-enzymes 1 [ setxy random-xcor random-ycor ] set enzyme_number (enzyme_number + 1) ] update-rate-plot if(do_we_plot_Cooperativity = true) [ update-Cooperativity-plot ] end ;; this procedure make the turtles moving except for S1-E-complex turtles and S1-E-S2-complex turtles to move ask turtles with [ count link-neighbors = 0] [ if ( (breed != S1-E-complexes) and (breed != S1-E-S2-complexes)) [ fd 1 ;;move forward rt random-float 360 ;; random rotation from 0 to 360° ] ] end ;;this procedure enables the enzymes and the S1-E-complexes to complex with substrates1 and substrates2 to-report form-complex-with-substrate [kind-of-substrate number-to-change breed-to-set shape-to-set] if (count link-neighbors = 0) ;;if the enzyme is free ie not complexed [ if(kind-of-substrate = substrates1) [ if(((one-of kind-of-substrate with [count link-neighbors = 0 and (distance myself) < 3]) != nobody) and (random-float 55 < enzyme-substrate1-affinity)) [ create-link-with (one-of kind-of-substrate with [count link-neighbors = 0 and (distance myself) < 3]) ;;complex with a substrate which is free set number-to-change (number-to-change - 1) ;;complex changes of conformation and disappears, so number of substrates decreases set breed breed-to-set ;; after complexification we have a new "product" (reagent) set shape shape-to-set ;; modelises the change of conformation on the screen report number-to-change ;; enables to conserve the change of number-to-change value ] ] if(kind-of-substrate = substrates2) [ if(((one-of kind-of-substrate with [count link-neighbors = 0 and (distance myself) < 3]) != nobody) and (random-float 100 < enzyme-substrate2-affinity)) [ create-link-with (one-of kind-of-substrate with [count link-neighbors = 0 and (distance myself) < 3]) ;;complex with a substrate which is free set number-to-change (number-to-change - 1) ;;complex changes of conformation and disappears, so number of substrates decreases set breed breed-to-set ;; after complexification we have a new "product" (reagent) set shape shape-to-set ;; modelises the change of conformation on the screen report number-to-change ;; enables to conserve the change of number-to-change value ] ] ] report number-to-change ;; the to-report structure needs to have a "report" at the end of the procedure end ;;this procedure transforms substrates1 when it is complexed to an enzyme to form-complex-with-enzyme if (count link-neighbors = 1) [ set substrate1_number (substrate1_number - 1) ;;decrease the number of substrate1 set S1-E-complex_number (S1-E-complex_number + 1) ;; increase the number of S1-E-complex ask my-links [die] ;;delete the link between enzyme and substrate1 because they do not exist anymore die ;;substrate is consumed so it has to disappear ] end ;;this procedure enables substrates2 to complexed to S1-E complex and to form a S1-E-S2-complex to form-complex-with-S1-E-complex if (count link-neighbors = 1) [ set substrate2_number (substrate2_number - 1) ;;substrate2 will disappear and S1-E-S2-complex will be created set S1-E-S2-complex_number (S1-E-S2-complex_number + 1) ask my-links [die] die ;; destroys the substrate2 turtle ] end ;;this procedure transforms S1-E-S2-complex into product (final substance) to form-product if(random-float 4 < product-formation-constant) [ set breed products set shape "product" set product_number (product_number + 1) ;;one S1-E-S2-complex transformes in product set S1-E-S2-complex_number (S1-E-S2-complex_number - 1) set has_to_release_an_enzyme true ;;because when a product is produced the enzyme linked with is released ] end to update-rate-plot set-current-plot "rate" ;;define which plot screen we are going to use if(frame-number = 1) [ set-current-plot-pen "substrate1" ;;define which curve we want to use plot count substrates1 ;; define what the curve will represent set-current-plot-pen "substrate2" plot count substrates2 set-current-plot-pen "enzyme/4" plot count enzymes / 4 set-current-plot-pen "S1-E-complex" plot count S1-E-complexes set-current-plot-pen "S1-E-S2-complex" plot count S1-E-S2-complexes set-current-plot-pen "product/4" plot count products / 4 ] if(frame-number = 2) [ set-current-plot-pen "substrate1-2" ;;define which curve we want to use plot count substrates1 ;; define what the curve will represent set-current-plot-pen "substrate2-2" plot count substrates2 set-current-plot-pen "enzyme/4-2" plot count enzymes / 4 set-current-plot-pen "S1-E-complex-2" plot count S1-E-complexes set-current-plot-pen "S1-E-S2-complex-2" plot count S1-E-S2-complexes set-current-plot-pen "product/4-2" plot count products / 4 ] if(frame-number = 3) [ set-current-plot-pen "substrate1-3" ;;define which curve we want to use plot count substrates1 ;; define what the curve will represent set-current-plot-pen "substrate2-3" plot count substrates2 set-current-plot-pen "enzyme/4-3" plot count enzymes / 4 set-current-plot-pen "S1-E-complex-3" plot count S1-E-complexes set-current-plot-pen "S1-E-S2-complex-3" plot count S1-E-S2-complexes set-current-plot-pen "product/4-3" plot count products / 4 ] end ;; The Hill equation is: v = ((V*a^h)/(K.0.5^h+a^h)) and enables to calculate the Cooperativity. ;; Because our model is theoritical we can fix V, let's say V=10. V fulfils the same role as the limiting rate in the Michaelis-Menten equation. ;; h = 2 because in our theoretical model enzymes have two subunits. the number of subunits is a good approximation of h. ;; a is the substrate concentration ;; K.O.5 can be calculated with the Michaelis-Menten equation. ;; this function has two parts ;; The first one selects the pen, defined by the user, to use. The second one is using a loop increasing the substrate concentration ;; and calculating each time the velocity of reaction by using the Hill equation. to update-Cooperativity-plot set-current-plot "the_Cooperativity_Plot" if(pen-number = 1) [ set-current-plot-pen "Cooperativity-pen-1" ] if(pen-number = 2) [ set-current-plot-pen "Cooperativity-pen-2" ] if(pen-number = 3) [ set-current-plot-pen "Cooperativity-pen-3" ] set do_we_plot_Cooperativity false set V 10 set K.O.5 K-value set a 0 set h cooperativity set velocity 0 while[a < 100] [ set velocity ((V * (a ^ h)) / ((K.O.5 ^ h) + (a ^ h))) ;;this equation is valid because K.0.5 will be at least equals to 1 so the denominator will not be equals to 0 plotxy a velocity set a (a + 1) ] end ;;enables to clear the rate-plot and cooperativity-plot in one click to clear-every-plot clear-all-plots end to clear-rate-plot set-current-plot "rate" clear-plot end to clear-the-Cooperativity-plot set-current-plot "the_Cooperativity_plot" clear-plot end ;;----------------COPYRIGHTS------------------------------ ;;• ------------> This model has been created within the framework of the project of Honors Year in Biology with Information Technologies at the University of the West of Scotland. ;;It has been headed by Doctor Peter Birch. I want to thank him for his advices and his time spent to explain me the mechanisms of allostery. ;;• ------------> To refer to this model, please use: Descostes, N. (2008). NetLogo Allosteric Enzymes Kinetics model. University of the West of Scotland, Scotland. ;;• ------------> Please contact me for using at: nicolas_descostes@hotmail.com @#$#@#$#@ GRAPHICS-WINDOW 377 10 874 528 16 16 14.76 1 10 1 1 1 0 1 1 1 -16 16 -16 16 0 0 1 ticks CC-WINDOW 5 552 1242 647 Command Center 0 SLIDER -3 10 183 43 enzyme-substrate1-affinity enzyme-substrate1-affinity 40 55 50.6 0.1 1 NIL HORIZONTAL PLOT 874 10 1232 208 the_Cooperativity_Plot [a] velocity 0.0 10.0 0.0 10.0 true true PENS "Cooperativity-pen-1" 1.0 0 -2674135 true "Cooperativity-pen-2" 1.0 0 -13345367 true "Cooperativity-pen-3" 1.0 0 -10899396 true PLOT 5 356 380 506 rate time concentration 0.0 10.0 0.0 10.0 true true PENS "substrate1" 1.0 0 -10899396 true "substrate2" 1.0 0 -1184463 true "enzyme/4" 1.0 0 -2674135 true "S1-E-complex" 1.0 0 -2064490 true "S1-E-S2-complex" 1.0 0 -16777216 true "product/4" 1.0 0 -13345367 true "substrate1-2" 1.0 0 -10899396 false "substrate1-3" 1.0 0 -10899396 false "substrate2-2" 1.0 0 -1184463 false "substrate2-3" 1.0 0 -1184463 false "enzyme/4-2" 1.0 0 -2674135 false "enzyme/4-3" 1.0 0 -2674135 false "S1-E-complex-2" 1.0 0 -2064490 false "S1-E-complex-3" 1.0 0 -2064490 false "S1-E-S2-complex-2" 1.0 0 -16777216 false "S1-E-S2-complex-3" 1.0 0 -16777216 false "product/4-2" 1.0 0 -13345367 false "product/4-3" 1.0 0 -13345367 false MONITOR 2 186 105 231 substrate1_rate substrate1_number\n 17 1 11 MONITOR 103 186 206 231 substrate2_rate substrate2_number\n 17 1 11 MONITOR 205 186 291 231 enzyme_rate enzyme_number 17 1 11 MONITOR 2 230 143 275 S1-E-complex_rate S1-E-complex_number 17 1 11 MONITOR 141 230 291 275 S1-E-S2-complex_rate S1-E-S2-complex_number 17 1 11 MONITOR 2 272 291 317 product_rate product_number 17 1 11 BUTTON 382 36 570 69 setup setup NIL 1 T OBSERVER NIL NIL NIL NIL BUTTON 706 36 870 69 go go T 1 T OBSERVER NIL NIL NIL NIL SLIDER -3 42 183 75 enzyme-substrate2-affinity enzyme-substrate2-affinity 40 100 53.7 0.1 1 NIL HORIZONTAL SLIDER -3 75 183 108 product-formation-constant product-formation-constant 0 4 3.6 0.1 1 NIL HORIZONTAL BUTTON 6 505 381 538 NIL clear-rate-plot NIL 1 T OBSERVER NIL NIL NIL NIL BUTTON 875 206 1233 239 clear-the-hill-plot clear-the-Cooperativity-plot NIL 1 T OBSERVER NIL NIL NIL NIL BUTTON 568 36 706 69 clear-every-plot clear-every-plot NIL 1 T OBSERVER NIL NIL NIL NIL SLIDER 995 254 1167 287 pen-number pen-number 1 3 2 1 1 NIL HORIZONTAL SLIDER 996 298 1168 331 K-value K-value 5 70 17 1 1 NIL HORIZONTAL SLIDER 997 342 1169 375 cooperativity cooperativity 0 15 5.8 0.1 1 NIL HORIZONTAL SLIDER 5 324 177 357 frame-number frame-number 1 3 2 1 1 NIL HORIZONTAL SLIDER 202 86 374 119 substrate1_units substrate1_units 0 500 111 1 1 NIL HORIZONTAL SLIDER 202 118 374 151 substrate2_units substrate2_units 0 500 299 1 1 NIL HORIZONTAL SLIDER 202 150 374 183 enzyme_units enzyme_units 0 500 223 1 1 NIL HORIZONTAL @#$#@#$#@ WHAT IS IT? ----------- ‘The enzymes are important and essential components of biological systems, their function being to catalyse the chemical reactions that are essential to life. Without the efficient aid of the enzymes these chemical processes would occur at greatly diminished rates, or not at all’ (by Keith J. Laidler and Peter S. Bunting, 1973). Basic mechanism of non allosteric enzymes: | E+S <-> ES -> P | with E = enzyme | S = substrate | -> binding of the enzyme with the substrate | ES = enzyme/substrate complex | p = product This model is simulating action of ALLOSTERIC enzymes. Allosteric enzymes bind small and physiologically important molecules by non covalent binding. These small regulatory molecules are called effectors. The binding of these effectors will lead to a change in the catalytic function of the enzyme and in its structural conformation. This will modify the affinity of the enzyme for the substrate; it will have a higher or lower affinity for the substrate. There are different types of effectors: The first one is the heterotropic effectors: There are two kinds of heterotropic effectors; activators and inhibitors. Activators will bind the enzyme and increase the affinity for the substrate whereas the inhibitors, still by changing the enzyme conformation, will decrease the affinity for the substrate. The second kind of effector is said homotrophic; the substrate itself induces change in affinity and conformation of the enzyme: we talk about negative or positive cooperativity with the substrate. The first part of the model is simulating the kinetics of allosteric enzymes with homotrophic effectors. Mechanism: The first line is describing the action of allosteric enzymes by underlying how it has been represented in the model. The second line is closer from reality because of the conformation change induced by the binding of substrates. | E+S1 <-> ES1 + S2 <-> ES1S2 -> P | E+S1 <-> C1 + S2 <-> C2 -> P | With E = enzyme | S1 = substrate1 | S2 = substrate2 | ES1 = enzyme-substrate1 complex or C1 | ES1S2 = enzyme-substrate1-substrate2 complex or C2. | P = product Each reaction: | <-> is regulated by an affinity constant K, which enables to represent the change of affinity. Each combination induces also a change of conformation as it has been said before. The second part of the model is simulating the action of effectors (inhibitors/activators) on the model (see cooperativity area). WARNING ----------- The first part of the model is a theoretical one. It does not correspond to any "validated" models (Monod-Wyman-Changeux, Koshland-Némethy-Filmer, Association-dissociation model). The aim of this model is to make the user understand the main principles of allosteric enzymes kinetics by looking at different parameters. This 'non conventional' representation has been chosen because of the complexity of the models named above, but it represents most of ideas of these ones. --------------- The model must be think in two parts wich are indepant. The first part enables to understand how an allosteric enzyme is working, the second enables to study the effect on effectors (activators/inhibitors) on the cooperativity. HOW TO USE IT ------------- The interface contains three main parts: THE SCREEN (in the center), THE RATE (on the left) AND THE AFFINITY (on the right) AREA. As it has been said before, the first one enables to setup, run and display the model. The second one enables to follow the evolution of the system, and the third one enables to display the variation of cooperativity between enzymes and substrates. ------------------ ________________________________The Screen Area________________________________: ---------------> Setup Button: Enables to initialize the system by taking into account the values chosen on each slide bars. ---------------> Go Button and the Screen: The Go button enables to run the model. substrate1 turtles (in green) are going to combine with free enzymes (in red), a new element will be created: the substrate1-enzyme complex (in pink). Substrate2 (in yellow) will combine a free substrate1-enzyme complex, the substrate1-enzyme-substrate2 complex will be created (in black). Then, substrate1-enzyme-substrate2 complex will be transformed into product (in blue). ---------------> Clear-every-plot: Enables to clear the rate plot and the cooperativity plot. These plots can also be cleared separately with the buttons situated under each plot screen. ---------------- ________________________________The Rate Area________________________________: ---------------> enzyme-substrate1 affinity slide: Enables to chose the constant of the first reaction seen in the first part of this manual. | E + S1 <-> ES1 ---------------> enzyme-substrate2 affinity slide: Enables to chose the constant of the second reaction seen in the first part of this manual. | ES1 + S2 <-> ES1S2 ---------------> product-formation-constant slide: Enables to chose the constant of the third reaction seen in the first part of this manual. | ES1S2 -> P ---------------> substrate1_units slide: Enables to fix the initial rate of substrate1. ---------------> substrate2_units slide: Enables to fix the initial rate of substrate2. ---------------> enzyme_units slide: Enables to fix the initial rate of enzyme. ---------------> Monitors: Enable to follow the rate of each element of the system. ---------------> Frame number: It ranges from 1 to 3. This enables to plot several times the rate curves without deleting the previous values. Hence, the user would be able to compare the rate variations when the paramaters are changed. WARNING: It is not possible to plot two (or more) times (by resetup) using the same frame. ---------------> The Rate Plot: Enables to visualize the different rate values using a graph. It is possible to clear it at any time using the "clear-rate-plot" button. ---------------- ________________________________The Affinity Area________________________________ ---------------> The Cooperativity plot: Enables to visualize the variation of cooperativity between enzymes and substrates. It is plot thanks to the Hill Equation. ---------------> pen-number slide: Has the same role than the 'frame-number' slide. It enables to compare the variation of cooperativity directly on the same screen and, a same pen could not be used several times without clearing the plot. ---------------> K value slide: Regarding the Hill Equation | ((V * (a ^ h)) / ((K.O.5 ^ h) + (a ^ h))) K is the value of the substrate concentration 'a' at which v = 0.5*V ie the velocity v is the half of the maximum velocity V. ---------------> Cooperativity slide: Here Cooperativity is in fact the 'h' element in the equation. Cooperativity can be well estimated by the number of subunits the enzyme has. The slide enables to choose a positive or negative (between 0 and 1) cooperativity. THINGS TO NOTICE/ THINGS TO TRY ---------------- ->Enzymes/substrates, complex/substrate2 can combine only if they are close in space. ------------------------ -> Notice the change of shape of each elements on the screen. -------------------------- -> Notice S1-E-complex turtles and S1-E-S2-complex turtles are not moving on the screen to explicit transformations -------------------------- -> Look at the different rates of each element at the beginning and at the end of the run. Try to pause the model at different moments to understand how an allosteric enzyme is working, by looking at the rate of each element. ------------------------------ -> Look at the rate plot. Link each curve with its rate monitor. --------------------------------- ->Change the affinity slides and product formation values and look at the effect on the plot (Do not forget to not use the same frame two times). What is the relation between affinity constant and power of binding? Does a high affinity constant mean a strong binding? --------------------------- -> Look at the values of the slides in the 'Rate Area', minimum and maximum. What does it means on a biological range? --------------------------- ->Change the initial rate of substrate1, substrate2 and enzyme. What are the effects? How the enzyme/substrate1/substrate2 concentration determines the speed of product formation? Look at it on the plot. -------------------------- -> Start with only one substrate1, one substrate2 and one enzyme. Slow down the speed of the model and look at the mechanism of allostery. ---------------------------------- -> An enzyme is made free each time a product is produced. --------------------------- -> The cooperativity area is independant. The Rate and the Screen Area are linked. ----------------------------------- -> The cooperativity study is a K-system. All curves are heading towards the same Vmax which has been set to 10. A V-system contains effectors that are changing the Vmax, that system has not been chosen because the modification of Vmax corresponds to a change of scale; hence, the information we would be able to obtain on the plot is not interesting. ------------------------------ -> Try to change the K value and cooperativity value. What are the difference between positive and negative cooperativity? What does a cooperativity of 1 mean? How does the plot look like with a such cooperativity? Could we use a cooperativity of 0? ----------------- EXTENDING THE MODEL ------------------- The main improvement we can do with this model is to adapt it to an existing theoretical one: the Monod, Wyman and Changeux model; the Koshland, Némethy and Filmer model; or the Association-dissociation model. -------------------- --------------> What could we do to create a Monod, Wyman and Changeux model? ------------------ ********* What is this model? The Monod, Wyman and Changeux model is often called the 'allosteric model' but the term of 'symmetry model' is more accurate because 'it emphasizes the principal difference between it and alternative models' (by Athel Cornish-Bowden, 1995). The symmetry model is based on the following postulates: 1) Each subunit can be: - In the R conformation: when the protein is relaxed it can bind the substrate. - In the T conformation: when the protein is tensed it cannot bind the substrate. 2) All the subunits have to be in the same conformation. 3) The two states of the protein are in equilibrium. 4) A ligand can bind to a subunit in either conformation but the dissociation constants are different ----------------- Without any substrate or effectors, the enzyme tends to be in the conformation T. We can say that there is something like 99% of T-shaped enzymes at time 0. There are two ways of thinking the model of Monod-Wyman-Changeux: with the substrate and with the effectors. The most important thing is to think in mass attraction law and equilibrium: The binding of the substrate will put the equilibrium on the high affinity side (R shape) because of the mass attraction law; thereby this model is often used to explain a positive cooperativity. We can reproach this model to not explain the negative cooperativity. On the other side, an activator will bind and put the enzyme in its high affinity conformation and an inhibitor will obviously put it in the T shape (low affinity). ------------------ ********* What do we have to change in the current model? First and foremost, we can model the R and T state by using the S1-E complex. As we have seen, the enzyme is in T shape at time 0 and the binding of substrate lead to the R shape. So the element 'enzyme' becomes the T-shaped enzyme, and the 'S1-E complex' becomes the R-shaped enzyme. The S1-E-S2 complex element has to be deleted. A product can be formed only if all subunits are associated with a substrate. ----------------------- Two possibilities: - A simple one: An improvement would be to still use the homotrophic effectors (substrate) and thus, the only part of programming would be to switch from a monomeric enzyme to a multimeric enzyme. You just have to integrate a structure in each function recording the number of subunits bound. When all of them are bound you can release a product and an enzyme. - A complex one: Effectors can be added to the system, both type (activators/inhibitors), hence, the binding of an inhibitor will lead to the T shape and the binding of an activator will lead to the R shape. This have to be integrated in the program. ----------------- NETLOGO FEATURES ---------------- Note the use of the 'frame-number system' and the 'pen-number system' makes the two functions 'update-rate-plot' and 'update-cooperativity-plot' not very efficient in the way of programming. A smarter solution could maybe be found to enable to plot several curves on the same screen. ------------------ Note the use of links and destruction of turtles with the 'die' procedure. The destruction/creation of turtles might consume more memory but the code is more efficient then with the use of hidden turtles. -------------------- RELATED MODELS -------------- -> Enzyme Kinetics -> Simple Kinetics 1 -> Simple Kinetics 2 -> Simple kinetics 3 CREDITS AND REFERENCES ---------------------- • Keith J. Laidler and Peter S. Bunting, the chemical kinetics of enzyme action, clarendon press, Oxford, 1973, P1. • Robert K.Murray, Daryl K. Granner, Peter A. Mayes and Victor W. Rodwell, Harper’s Biochemistry, International edition, 24 edition, Prentice Hall International, p66 • Keitaro Hiromi, Kinetics of fast enzyme reactions theory and practice, A Halsted press book, Tokyo, 1979, p ix, p 3 • Athel Cornish-Bowden, fundamentals of enzyme kinetics, Portland Press Ltd, London, 1995, p 2, p 223, p228, p234 • B. I. Kurganov, Allosteric Enzymes, A Wiley-Interscience Publication, 1982, p4, p128 • http://web.indstate.edu/thcme/mwking/enzyme-kinetics.html#allosteric • http://www-biol.paisley.ac.uk/kinetics/Chapter_5/contents_chap5.html • Netlogo user manual, p1, p 34 • Brian Harvey, computer science logo style volume 1: intermediate programming, The MIT Press, Cambridge, Massachusetts, London, England, 1985 • http://el.media.mit.edu/Logo-foundation/logo/index.html COPYRIGHTS ---------------- • ------------> This model has been created within the framework of the projet of Honors Year in Biology with Information Technologies at the University of the West of Scotland. It has been headed by Doctor Peter Birch. I want to thank him for his advices and his time spent to explain me the mechanisms of allostery. • ------------> To refer to this model, please use: Descostes, N. (2008). NetLogo Allosteric Enzymes Kinetics model. University of the West of Scotland, Scotland. • ------------> I will be very pleased if you could email-me if you are using this model for academic purposes. contact: nicolas_descostes@hotmail.com @#$#@#$#@ default true 0 Polygon -7500403 true true 150 5 40 250 150 205 260 250 airplane true 0 Polygon -7500403 true true 150 0 135 15 120 60 120 105 15 165 15 195 120 180 135 240 105 270 120 285 150 270 180 285 210 270 165 240 180 180 285 195 285 165 180 105 180 60 165 15 arrow true 0 Polygon -7500403 true true 150 0 0 150 105 150 105 293 195 293 195 150 300 150 box false 0 Polygon -7500403 true true 150 285 285 225 285 75 150 135 Polygon -7500403 true true 150 135 15 75 150 15 285 75 Polygon -7500403 true true 15 75 15 225 150 285 150 135 Line -16777216 false 150 285 150 135 Line -16777216 false 150 135 15 75 Line -16777216 false 150 135 285 75 bug true 0 Circle -7500403 true true 96 182 108 Circle -7500403 true true 110 127 80 Circle -7500403 true true 110 75 80 Line -7500403 true 150 100 80 30 Line -7500403 true 150 100 220 30 butterfly true 0 Polygon -7500403 true true 150 165 209 199 225 225 225 255 195 270 165 255 150 240 Polygon -7500403 true true 150 165 89 198 75 225 75 255 105 270 135 255 150 240 Polygon -7500403 true true 139 148 100 105 55 90 25 90 10 105 10 135 25 180 40 195 85 194 139 163 Polygon -7500403 true true 162 150 200 105 245 90 275 90 290 105 290 135 275 180 260 195 215 195 162 165 Polygon -16777216 true false 150 255 135 225 120 150 135 120 150 105 165 120 180 150 165 225 Circle -16777216 true false 135 90 30 Line -16777216 false 150 105 195 60 Line -16777216 false 150 105 105 60 car false 0 Polygon -7500403 true true 300 180 279 164 261 144 240 135 226 132 213 106 203 84 185 63 159 50 135 50 75 60 0 150 0 165 0 225 300 225 300 180 Circle -16777216 true false 180 180 90 Circle -16777216 true false 30 180 90 Polygon -16777216 true false 162 80 132 78 134 135 209 135 194 105 189 96 180 89 Circle -7500403 true true 47 195 58 Circle -7500403 true true 195 195 58 circle false 0 Circle -7500403 true true 0 0 300 circle 2 false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 cow false 0 Polygon -7500403 true true 200 193 197 249 179 249 177 196 166 187 140 189 93 191 78 179 72 211 49 209 48 181 37 149 25 120 25 89 45 72 103 84 179 75 198 76 252 64 272 81 293 103 285 121 255 121 242 118 224 167 Polygon -7500403 true true 73 210 86 251 62 249 48 208 Polygon -7500403 true true 25 114 16 195 9 204 23 213 25 200 39 123 cylinder false 0 Circle -7500403 true true 0 0 300 dot false 0 Circle -7500403 true true 90 90 120 enzyme true 0 Polygon -2674135 true false 45 45 45 255 225 255 60 150 210 45 45 45 face happy false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 255 90 239 62 213 47 191 67 179 90 203 109 218 150 225 192 218 210 203 227 181 251 194 236 217 212 240 face neutral false 0 Circle -7500403 true true 8 7 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Rectangle -16777216 true false 60 195 240 225 face sad false 0 Circle -7500403 true true 8 8 285 Circle -16777216 true false 60 75 60 Circle -16777216 true false 180 75 60 Polygon -16777216 true false 150 168 90 184 62 210 47 232 67 244 90 220 109 205 150 198 192 205 210 220 227 242 251 229 236 206 212 183 fish false 0 Polygon -1 true false 44 131 21 87 15 86 0 120 15 150 0 180 13 214 20 212 45 166 Polygon -1 true false 135 195 119 235 95 218 76 210 46 204 60 165 Polygon -1 true false 75 45 83 77 71 103 86 114 166 78 135 60 Polygon -7500403 true true 30 136 151 77 226 81 280 119 292 146 292 160 287 170 270 195 195 210 151 212 30 166 Circle -16777216 true false 215 106 30 flag false 0 Rectangle -7500403 true true 60 15 75 300 Polygon -7500403 true true 90 150 270 90 90 30 Line -7500403 true 75 135 90 135 Line -7500403 true 75 45 90 45 flower false 0 Polygon -10899396 true false 135 120 165 165 180 210 180 240 150 300 165 300 195 240 195 195 165 135 Circle -7500403 true true 85 132 38 Circle -7500403 true true 130 147 38 Circle -7500403 true true 192 85 38 Circle -7500403 true true 85 40 38 Circle -7500403 true true 177 40 38 Circle -7500403 true true 177 132 38 Circle -7500403 true true 70 85 38 Circle -7500403 true true 130 25 38 Circle -7500403 true true 96 51 108 Circle -16777216 true false 113 68 74 Polygon -10899396 true false 189 233 219 188 249 173 279 188 234 218 Polygon -10899396 true false 180 255 150 210 105 210 75 240 135 240 house false 0 Rectangle -7500403 true true 45 120 255 285 Rectangle -16777216 true false 120 210 180 285 Polygon -7500403 true true 15 120 150 15 285 120 Line -16777216 false 30 120 270 120 leaf false 0 Polygon -7500403 true true 150 210 135 195 120 210 60 210 30 195 60 180 60 165 15 135 30 120 15 105 40 104 45 90 60 90 90 105 105 120 120 120 105 60 120 60 135 30 150 15 165 30 180 60 195 60 180 120 195 120 210 105 240 90 255 90 263 104 285 105 270 120 285 135 240 165 240 180 270 195 240 210 180 210 165 195 Polygon -7500403 true true 135 195 135 240 120 255 105 255 105 285 135 285 165 240 165 195 line true 0 Line -7500403 true 150 0 150 300 line half true 0 Line -7500403 true 150 0 150 150 pentagon false 0 Polygon -7500403 true true 150 15 15 120 60 285 240 285 285 120 person false 0 Circle -7500403 true true 110 5 80 Polygon -7500403 true true 105 90 120 195 90 285 105 300 135 300 150 225 165 300 195 300 210 285 180 195 195 90 Rectangle -7500403 true true 127 79 172 94 Polygon -7500403 true true 195 90 240 150 225 180 165 105 Polygon -7500403 true true 105 90 60 150 75 180 135 105 plant false 0 Rectangle -7500403 true true 135 90 165 300 Polygon -7500403 true true 135 255 90 210 45 195 75 255 135 285 Polygon -7500403 true true 165 255 210 210 255 195 225 255 165 285 Polygon -7500403 true true 135 180 90 135 45 120 75 180 135 210 Polygon -7500403 true true 165 180 165 210 225 180 255 120 210 135 Polygon -7500403 true true 135 105 90 60 45 45 75 105 135 135 Polygon -7500403 true true 165 105 165 135 225 105 255 45 210 60 Polygon -7500403 true true 135 90 120 45 150 15 180 45 165 90 product true 0 Circle -13345367 true false 8 8 285 s1-e-complex true 0 Polygon -2064490 true false 15 105 15 150 30 180 45 210 60 225 120 270 210 270 255 225 285 180 285 105 240 105 150 255 60 105 15 105 s1-e-s2-complex true 0 Polygon -1 true false 45 45 45 255 255 255 255 45 45 45 Polygon -1184463 true false 90 90 210 90 150 150 90 90 Polygon -2064490 true false 90 90 90 120 105 150 120 165 195 165 210 135 210 90 150 150 90 90 square false 0 Rectangle -7500403 true true 30 30 270 270 square 2 false 0 Rectangle -7500403 true true 30 30 270 270 Rectangle -16777216 true false 60 60 240 240 star false 0 Polygon -7500403 true true 151 1 185 108 298 108 207 175 242 282 151 216 59 282 94 175 3 108 116 108 substrate1 true 0 Polygon -13840069 true false 60 30 60 255 270 150 60 30 substrate2 true 0 Polygon -1184463 true false 30 60 270 60 150 285 30 60 target false 0 Circle -7500403 true true 0 0 300 Circle -16777216 true false 30 30 240 Circle -7500403 true true 60 60 180 Circle -16777216 true false 90 90 120 Circle -7500403 true true 120 120 60 tree false 0 Circle -7500403 true true 118 3 94 Rectangle -6459832 true false 120 195 180 300 Circle -7500403 true true 65 21 108 Circle -7500403 true true 116 41 127 Circle -7500403 true true 45 90 120 Circle -7500403 true true 104 74 152 triangle false 0 Polygon -7500403 true true 150 30 15 255 285 255 triangle 2 false 0 Polygon -7500403 true true 150 30 15 255 285 255 Polygon -16777216 true false 151 99 225 223 75 224 truck false 0 Rectangle -7500403 true true 4 45 195 187 Polygon -7500403 true true 296 193 296 150 259 134 244 104 208 104 207 194 Rectangle -1 true false 195 60 195 105 Polygon -16777216 true false 238 112 252 141 219 141 218 112 Circle -16777216 true false 234 174 42 Rectangle -7500403 true true 181 185 214 194 Circle -16777216 true false 144 174 42 Circle -16777216 true false 24 174 42 Circle -7500403 false true 24 174 42 Circle -7500403 false true 144 174 42 Circle -7500403 false true 234 174 42 turtle true 0 Polygon -10899396 true false 215 204 240 233 246 254 228 266 215 252 193 210 Polygon -10899396 true false 195 90 225 75 245 75 260 89 269 108 261 124 240 105 225 105 210 105 Polygon -10899396 true false 105 90 75 75 55 75 40 89 31 108 39 124 60 105 75 105 90 105 Polygon -10899396 true false 132 85 134 64 107 51 108 17 150 2 192 18 192 52 169 65 172 87 Polygon -10899396 true false 85 204 60 233 54 254 72 266 85 252 107 210 Polygon -7500403 true true 119 75 179 75 209 101 224 135 220 225 175 261 128 261 81 224 74 135 88 99 wheel false 0 Circle -7500403 true true 3 3 294 Circle -16777216 true false 30 30 240 Line -7500403 true 150 285 150 15 Line -7500403 true 15 150 285 150 Circle -7500403 true true 120 120 60 Line -7500403 true 216 40 79 269 Line -7500403 true 40 84 269 221 Line -7500403 true 40 216 269 79 Line -7500403 true 84 40 221 269 x false 0 Polygon -7500403 true true 270 75 225 30 30 225 75 270 Polygon -7500403 true true 30 75 75 30 270 225 225 270 @#$#@#$#@ NetLogo 4.0.2 @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ default 0.0 -0.2 0 0.0 1.0 0.0 1 1.0 0.0 0.2 0 0.0 1.0 link direction true 0 Line -7500403 true 150 150 90 180 Line -7500403 true 150 150 210 180 @#$#@#$#@