MATH 1180: Calculus for Biologists II (Spring 2011) Lab Meets: February 2, 2011 Report due date: February 9, 2011 Section 002: Wednesday 9:40-10:30am Section 003: Wednesday 10:45-11:35am Lab location - LCB 115 Lab instructor - Erica Graham, graham@math.utah.edu Lab webpage - www.math.utah.edu/~graham/Math1180.html Lab office hours - Monday, 9:00 - 10:30 a.m., LCB 115 Lab 04 General Lab Instructions In-class Exploration Review: In the last lab, we analyzed the stability and existence of equilibrium points for one-dimensional differential equations, which we observed could be summarized with a bifurcation diagram. 0.7 E* 0 0 1 2 3 4 5 b Aside: Recall from last time the bifurcation diagram we created, pictured above. Let's disuss its implications, keeping in mind that the parameter b was the rate at which susceptible people were infected and E* was the equilibrium fraction of infected individuals. Background: This time, we are going to look at two-dimensional systems of differential equations (ODEs from here on) and the information we can gain regarding the stability of equilibrium points and the behavior of the solutions. The system of ODEs we will explore is a simplified version of the glucose-insulin regulatory system. Glucose is the major source of energy for many cells in the body. The concentration of glucose in the blood needs to be tightly regulated because too much or too little can lead to many problems. In general, normal blood glucose levels are maintained in the 4.5 - 5.5 mmol/l (millimoles per liter) range. Insulin is the most effective inhibitor of glucose concentration in the blood, so it makes sure that glucose levels are not too high. Each time we eat, our glucose levels increase, and we need insulin to lower them. So, the cells that produce insulin do so in response to glucose concentration. Then insulin will do the work of lowering the concentration of glucose in the bloodstream, by talking to the appropriate cells to take up glucose from the blood for energy purposes. If there's something wrong within this regulatory system, glucose levels can become really high, leading to diabetes. This disease affects millions of people in the US and often leads to serious complications, including heart disease, kidney disease and nerve damage. O restart; with(DEtools): The ODE system is given by two separate equations: ode1 and ode2, describing glucose and insulin behavior, respectively. It's called a two-dimensional system because there are two dependent variables for which we need to find solutions. Notice that these ODEs are not only autonomous, but also coupled, meaning that glucose changes depend on insulin and/or vice versa. O f:=unapply(p-k1*g-k2*g*i,[g,i]); ## so that dg/dt=f(g,i) h:=unapply(q*g-k3*i,[g,i]); ## so that di/dt=h(g,i) ode1:=diff(g(t),t)=f(g(t),i(t)); ode2:=diff(i(t),t)=h(g(t),i(t)); f := g, i /p K k1 g K k2 g i h := g, i /q g K k3 i d ode1 := g t = p K k1 g t K k2 g t i t dt d ode2 := i t = q g t K k3 i t (2.1) dt We'll define some parameters corresponding to the ODEs we just created. O par1:=p=2.75,k1=0.05,k2=0.05; # f parameters (2.2) O par2:=q=.05,k3=0.025; # h parameters par1 := p = 2.75, k1 = 0.05, k2 = 0.05 par2 := q = 0.05, k3 = 0.025 (2.2) A good place to start in analyzing any system of ODEs is finding the equilibrium points and nullclines. To find equilibrium points, we simply need to solve the system of algebraic equations f(g,i) = 0 and h(g,i) = 0. To solve a system of equations simultaneously using solve( ), we use the following form: solve({eqn1,eqn2},{var1,var2}). O solve({f(g,i)=0,h(g,i)=0},{g,i}); q RootOf Kp k3 C k1 _Z k3 C k2 _Z 2 q g = RootOf Kp k3 C k1 _Z k3 C k2 _Z 2 q , i = (2.3) k3 Of course, this doesn't really tell us much, so we will put in our parameter values to get actual numbers. The output, like dsolve, gives us a sequence of equations, with variables on the left and answer on the right. Using eval( ), we need to put par1 and par2 in [ ] because there are multiple values being applied to the same expression. O solve({eval(f(g,i),[par1])=0,eval(h(g,i),[par2])=0},{g,i}); g = K5.500000000, i = K11. , g = 5., i = 10. (2.4) Notice that we only have one biologically relevant equilibrium point, at g=5 and i=10, since negative concentrations make no sense. Now for the nullclines. Recall that nullclines tell us when the corresponding variable is not changing. So, the gnullcline tells us when dg/dt = 0, and the i-nullcline when di/dt = 0. We will solve both of these equations (separately! ) for i. Keep in mind: Intersections of the nullclines occur at the equilibrium point(s)! O gnull:=unapply(solve(f(g,i)=0,g),i); inull:=unapply(solve(h(g,i)=0,g),i); p gnull := i/ k1 C k2 i k3 i inull := i/ (2.5) q Let's plot our nullclines and the equilibrium point we found above. This creates a phase plane. O p1:=plot([eval(gnull(i),[par1]),eval(inull(i),[par2])],i=0..25,0..25, legend=["g-nullcline","i-nullcline1"],labels=["insulin","glucose"],color= ["LimeGreen","Black"],thickness=3); eqplot:=plot([[10,5]],style=point,symbol=solidcircle,symbolsize=20,title= "i-g phase plane"); plots[display](p1,eqplot); p1 := PLOT ... eqplot := PLOT ... i-g phase plane glucose 20 0 0 5 g-nullcline 10 15 insulin 20 25 i-nullcline1 Phase planes are useful because we can determine how solutions would behave within them. They're slightly less straightforward than having solutions plotted as functions of t, but they are equally as useful. From the DEtools package, we can get an idea of where solutions tend to go as time increases by using the new dfieldplot( ) command, which is also part of a general phase plane. We will input our ODEs, along with the dependent variables of interest and some other information the command requires to run. O fieldplot:=dfieldplot([eval(ode1,[par1]),eval(ode2,[par2])],[i(t),g(t)],t= 0..25,i=0..25,g=0..25,color=gray); plots[display](fieldplot,p1,eqplot); fieldplot := PLOT ... i-g phase plane 20 g 10 0 0 5 10 g-nullcline i 15 20 25 i-nullcline1 The previous graph tells us the trajectories of the solutions based on the initial conditions. Looking at the arrows, it would appear that all solutions tend toward the equilibrium point, indicating that it's stable. Now we can combine the plots to get a phase portrait, which includes a variety of solutions with different initial conditions. First, we'll redefine our nullcline plot, excluding the legend. O nullplot:=plot([eval(gnull(i),[par1]),eval(inull(i),[par2])],i=0..25,0..25, color=["LimeGreen","Black"],thickness=3); Then, we will use 6 initial conditions and DEplot( ) to obtain solution curves in the i-g plane. O i0:=[2,10,1,20,5,10]: g0:=[3,25,10,25,1,1]: ics:=seq([i(0)=i0[m],g(0)=g0[m]],m=1..6); ## plot solutions using ics solplot:=DEplot([eval(ode1,[par1]),eval(ode2,[par2])],[i(t),g(t)],t=0..60, [ics],i=0..25,g=0..25,linecolor=black,stepsize=0.2,linecolor=magenta, arrows=none,thickness=1); nullplot := PLOT ... ics := i 0 = 2, g 0 = 3 , i 0 = 10, g 0 = 25 , i 0 = 1, g 0 = 10 , i 0 = 20, g 0 = 25 , i 0 = 5, g 0 = 1 , i 0 = 10, g 0 = 1 solplot := PLOT ... (2.6) Finally, we'll complete the phase portrait by combining the 4 separate pieces. O plots[display](fieldplot,nullplot,solplot,eqplot,labels=["insulin", "glucose"]); i-g phase plane glucose 20 0 0 5 10 15 insulin 20 25 The above graph says that regardless of where you start out, you will always reach the healthy equilibrium point at i=10 and g=5 eventually. We can also plot g(t) and i(t) as functions of time given our initial conditions. Here, we will plot the solution for the first initial condition, (2,3). To see our solutions against time, we need to include the DEplot( ) option scene=[t, function(t)]. This tells Maple which dependent variable to plot as a function of time. We need to create two separate plots to distinguish between the g(t) and i(t) solutions. O gplot:=DEplot([eval(ode1,[par1]),eval(ode2,[par2])],[i(t),g(t)],t=0..120, [ics[1]],i=0..15,g=0..15,linecolor=black,stepsize=0.2,scene=[t,g(t)], linecolor=cyan,linestyle=1); iplot:=DEplot([eval(ode1,[par1]),eval(ode2,[par2])],[i(t),g(t)],t=0..120, [ics[1]],i=0..15,g=0..15,linecolor=black,stepsize=0.2,scene=[t,i(t)], linecolor=navy,linestyle=3); plots[display](gplot,iplot,labels=["t (minutes)","g(t)=cyan, i(t)=navy"]); gplot := PLOT ... iplot := PLOT ... 15 g(t)=cyan, i(t)=navy 10 5 0 0 20 40 60 80 100 120 t (minutes) Please copy the entire section below into a new worksheet, and save it as something you'll remember. Lab 04 Homework Problems Your Full Name: Your (registered) Lab Section: Useful Tip #1: Read each problem carefully, and be sure to follow the directions specified for each question! I will take a vow of silence if you ask me a question that is clearly stated in a problem. Useful Tip #2: Don't be afraid to troubleshoot! Does your answer make sense to you? If not, explore why. If you're still unsure, ask me. Useful Tip #3: When in doubt, restart! Paper-saving tip: Make the size of your output graphs smaller to save paper when you print them. Please ask me if you're unsure of how to do this. (You can see how much paper you'd use beforehand by going to File / Print Preview.) Also, please DO NOT attach printer header sheets (usually yellow, pink or blue) to your assignment. Recycle them instead! NOTE: For this assignment, you should re-define/assign any parameters or functions we used in class, as needed. This will require an understanding of what's being asked of you. Again, everything that we did in class does not necessarily need to be done here. (0) Read the paper-saving tip (the new part...in orange). (1)(a) Suppose the value of q is varied. Which nullcline from the in-class exploration would be affected? (b) What does q represent biologically? (2) Use the following values of q to create a new composite i-g phase plane: q = 0.05, 0.03, 0.02, 0.01 and 0.005. To do this, plot all g- and i-nullclines on the same set of axes for i=0..25 and g=0..55. Your code does not have to be fancy, as long as your graph comes out correctly. OMIT the (red) equilibrium point we plotted in class. Required: [1] Specify a different line style for each value of q. [2] Specify a different color for i- and g-nullclines. Your graph should only have two colors total. [3] Use a thickness of 3 for all lines. Note: The above requirements must be included within your plot command. O ## Make a graph. (3)(a) What happens to the default equilibrium point when q gets smaller, i.e. to where do glucose and insulin equilibrium values shift? (b) Is it better to have a larger or a smaller q value? Explain why this is the case. (4)(a) Add to your plot above a shaded rectangle that indicates the region between the default equilibrium glucose level we found in class and the diabetic threshold of 7mmol/l glucose. Required: [1] Replace g1 and g2 appropriately. [2] Save your rectangle to a useful name. [3] Use plots[display]( ) as necessary; be sure to list the rectangular plot first in your list. (Thing about why you would need to do this.) O ## Make another graph. (b) Which is the smallest q value in the list that leads to an equilibrium point above the diabetic threshold? Using just this q value, determine what you could do to the value of k2 to reverse this affect. That is, identify the k2 value that would shift the glucose equilibrium level back to where it was with the original parameter set by following the next 2 steps. (5)(a) Step 1: Identify what k2 represents biologically. (b) Step 2: Test your guess by plotting a new set of nullclines along with those using the original q=0.05 and k2= 0.05 values. Stop testing when your new nullclines cross at the default glucose equilibrium (insulin may not be the same). Your new set should include curves for an appropriately determined k2 and the q you found in the previous problem. Plot these 4 curves (2 new + 2 old) on the same set of axes. Required: [1] Use the same color scheme you used above. [2] Specify two different line styles: one for your modifed nullclines and one for the default ones. O ## Make the last graph. (c) Given your result in the previous exercise, what is the k2 value that "worked" for you, and how does this compare to the original value? (6) Solely based on the parameter interactions (new and old) you studied above, what biological aspects contribute to a healthy state in which diabetes is avoided over a lifetime? (7) What information does a phase plane give you? (8) List and describe the 2 new commands/command options we used in class today. Did you remember to save paper?