0:19

What we are going to discuss in this lecture is illustrated on this slide.

Â We're going to continue our discussion of

Â rate-balance plots, and to understand how we

Â can predict whether or not bistability will

Â be present in a one dimensional system.

Â So we're going to show a few slides on this, on analysis of rate-balance plots.

Â But what's going to be most interesting in this

Â lecture, what's going to be the core of this, is

Â I'm going to show you some examples of how you

Â can generate rate-balance plots using the program environment MATLAB.

Â 1:03

When you have a system that's over here like this.

Â You, you have a species A that can either be in the unphosphorylated

Â form that we call A, or the phosphorylated form that we call A star.

Â If this forward rate depends on some stimulus S, and also depends on A star

Â itself such that when A star goes

Â up, it makes this phosphorylation reaction occur faster.

Â You can express the forward rate through this

Â rather complicated equation here, and you can plot several

Â different values of this forward rate for different values

Â of this hill exponent little n, that's shown here.

Â 1:40

And what we saw in the last lecture is when you

Â have this ultra-sensitive feedback, meaning n is greater than one, you

Â can get bistability because the forward rate in this case and

Â the backward rate which is the red curve intersected three places.

Â You have three steady states.

Â The left most one is stable, the right most

Â one is stable and the middle steady state is unstable.

Â And as we discussed in the last lecture, this is

Â one way you can get bistability in a one dimensional system.

Â 2:11

The other way you can get bistability in a one dimensional system

Â is if you have linear feedback, but you have a saturating back reaction.

Â What we saw before is when you have linear feedback, this equation for

Â the forward rate is a little bit simpler than what we saw before

Â 2:28

where where the rate constant depends on the stimulus, but it, it also depends

Â on a star, but it only depends on a star raised to the first power.

Â In this case, your forward rate is this parabola here that's shown in blue.

Â 2:43

In all the previous examples, we just said the

Â backward rate was equal to K minus times A star.

Â But, what if your back reaction occurred through an enzyme,

Â and what if you what if it obeyed a Michaelis

Â type equation here, where your backward reaction depended on, was

Â A star divided by A star plus some Michaelis Constant K,M.

Â And we've del, delineated this here KMB to indicate

Â that this is a Michaelis Constant, for the backwards reaction.

Â So, being in this case is for backward.

Â 3:25

and we can see that now the backward reaction,

Â and forward reaction intersect each other in three places.

Â One, two, three.

Â Further, we can go through the analysis that we

Â had last time to show that this right most

Â steady state is stable, this left most steady state

Â is stable, and this middle steady state is unstable.

Â We won't go through all three.

Â But just to review, let's go through what

Â happens if we analyze this middle steady state here.

Â How do we know this one is unstable?

Â 3:53

Well, what we do is we imagine hypothetically

Â what if we're sitting right at this steady

Â state here, and then we have a small

Â deviation either to the right or to the left.

Â So what if A star increases from this value that we have at the steady state.

Â Well, if A star moves here, our forward reaction

Â in blue is greater than our backward reaction in red.

Â Therefore the difference between the two,

Â forward rate minus backward rate is positive.

Â That's going to move the system to the right up

Â to the stable steady state here on the right.

Â 4:25

Conversely, what if you start at this steady state in the middle

Â here and you have a decrease in A star system over here.

Â Well, over here the backward reaction is greater than the forward reaction.

Â Therefore the overall rate is negative.

Â And that's going to push you to the left.

Â That's how we conclude this steady state unstable, and we do a similar

Â analysis to conclude that this steady state and this steady state are stable.

Â This is our second way that we can get bistability in a one-dimensional

Â system, is if you have linear feedback

Â plus you have a saturating backwards reaction.

Â 5:06

We showed that you can get a steady state either at a very low

Â level or you can get stable steady state at a high level of A star.

Â But we never talked about how a cell can switch between the

Â low level of A star and the high level of A star.

Â Well, one way you can change states is to vary the amount of stimulus S.

Â Most of the plots we've shown before have

Â assumed that our stimulus S is equal to zero.

Â And we've done this just to keep things simple and not confuse things.

Â 5:33

But if we look at the equations here, we see that the forward

Â rate doesn't just depend on A star, that's what we've been focusing on.

Â But the forward rate also depends on the amount of stimulus S.

Â And for the examples we showed before for this ultra

Â sensitive positive feedback, we assumed that S was equal to zero.

Â 5:56

This curve on the bottom here the one for S equals 0.

Â And then every curve here as you move up from the, the 1, to

Â 2, to 3 to 4, to 5, that's for a slightly larger increase in S.

Â 6:10

And what we can see if we look here is that

Â for the lowest value of S, we have three intersections, one, two,

Â three, which are the forward rate and the backward rate, where

Â for this highest value of S, we only have one intersection, right?

Â There's no intersection between the forward rate and the

Â backward rate down here for relatively low values of S.

Â 6:30

Now we can imagine what would happen if we had if we had an

Â experiment where we had, where we started with a low level of A star.

Â We increased S gradually and then we measured what

Â would be our stay state value of A star.

Â Well, for no stimulus, we would have zero because these two curves intersect here.

Â For a slightly lower value of stimulus, we would have an intersection

Â here and therefore we'd have, have a low value of A star.

Â And then as we continue to increase A star, we get,

Â we, as we continue to increase the stimulus we get a gradual

Â increase of A star until eventually we got here and then wow,

Â obviously we would increase to this much greater value of A star.

Â What's indicate, what's happening here, is we're move, moving at this

Â place where instead of intersecting three times, these two curves intersects once.

Â In other words, the system is switching from being bistable,

Â from being monostable, sorry, from being bistable to being monostable.

Â So where the system switches between three intersections

Â and one intersection, that's where we have a bifurcation.

Â That's where we have a sudden increase in our output, A star.

Â 7:49

What you have when you have bistability is that you

Â increase your, your stimulus, you increase your trigger, and then at

Â some point, some of these switch from a low value of

Â your, of your output to a high value of your output.

Â What happens when you decrease the amount of trigger.

Â Well, when you decrease the amount of stimulus, you, you may

Â eventually come down to a low value of, of your output.

Â But when you come down to the low value of the output, that's going to

Â occur in a much lower value of the trigger than, than what you had before.

Â 8:29

You eventually switch to the, the higher value of the output.

Â But then on the way back then as you continue to decrease the

Â amount of stimulus you're decreasing the amount

Â of trigger, maybe you never come down.

Â And it's important to note that in either case the transition

Â from low level to high level going on the way up

Â is at a higher value than the transition on the way

Â down going from the high level to the low level here.

Â What we're going to do now is we're going to move

Â out power point, and we are going to move MATLAB

Â programming environment and I'm going to show you an example

Â of some rate balance plots so we can generate MATLAB.

Â And we are going to show these rate balance plots and how

Â you calculate them and how you plot them Under a couple different conditions.

Â 9:13

We're going to look at the condition of no feedback, and then we're

Â going to look at the condition of

Â ultrasensitive positive feedback that we discussed before.

Â [BLANK_AUDIO]

Â What we're going to do now is we're

Â going to demonstrate a script that I wrote in

Â MATLAB Or to generate and plot the rate

Â balance plot that we talked about in the lecture.

Â I feel like it's one thing to, to see them described

Â conceptually in a lecture, but it's gives you a different type

Â of understanding if you see how the, how this type of

Â plot is actually implemented in a programming environment such as MATLAB.

Â 9:54

And I also have the, in the Matlab Editor, I

Â have this particular script open which we call a rebalance.m.

Â So what we want to do first is we want to run this, and you'll see like we, like

Â we showed before in other Matlab demonstration, that we're

Â not in the correct Directory when I first start

Â up MATLAB, but if you have your the script that you want to run open the, in the

Â editor, and you press run, then you can change

Â to that folder and, and you can run it.

Â And now what we see is that when we run rate rate balance dot, dot

Â [UNKNOWN] it generate four plots in MATLAB There's

Â two different rate balance plots we've generated here.

Â This first rate balance plot, which are all the plots are shown

Â in figure one, and then the summary is shown in figure two.

Â This shows us rate balance plots for a very

Â simple Macallan system without any feedback in it at all.

Â And then, figure three over here, and figure four, show us the the rate

Â balance plots and the bifurcation in figure

Â three and the bifurcation diagram in figure four.

Â For the for the system with ultrasensitive positive

Â feedback, as was talked about in the lecture.

Â And, this is this bifurcation diagram here shows that

Â you have bistability over a particular range From -

Â for values up to say 0.32 we get bistability,

Â for values above that we don't have bistability anymore.

Â So now we're going to go look at the code and demonstrate

Â a little bit how - how I implemented this particular script.

Â This script is going to be provided to you.

Â And part of the homework assignment is going to

Â be to modify this script, to do something else.

Â 11:40

Now let's look at the actual code here which you can

Â see in the MATLAB editor, with the name rate balance dot m.

Â You can see that the first part here from line one down to line 26.

Â That I believe all but, is number one.

Â We system with no feedback and a forward rate

Â depends, and the forward rate depends on some stimulus S.

Â 12:16

First I define the variable A star.

Â A star starts at zero, ends at one, and it has

Â a step of 0.001, so we have 1001 points in A star.

Â And then stimulus starts at 0.5, has a step size of 0.5,

Â and it ends at 20, so we have 48 values of the stimulus.

Â 12:56

And we're calculating this at the beginning, because we're only

Â going to have one value of the backward rate as function.

Â One function of that backward rate is a function of A star.

Â And this is not going to change when we change the stimulus.

Â 13:11

Then we define we open up a figure.

Â We type, hold on, that's in order to plot

Â all the different rate balance plots on on one.

Â Then we plot A star versus backward rate in red with a line width of two.

Â And then this command here, I haven't really introduced this in the lecture.

Â So this is a way of taking the tick marks and setting them outward.

Â This is a set is a, is a general command

Â in MATLAB if you want to set the attributes of something.

Â GCA here stands for get current access.

Â And it's saying you can set the take directory as out.

Â So let's see what happens when we

Â 13:46

just implement these these lines here.

Â I'm going to do one more thing here.

Â I'm going to add at the beginning: close all, clear all.

Â That way we can, we know that every time we run

Â this it's going to start from scratch with all the variables cleared.

Â So now, what we can do is we can just select these lines here

Â 14:23

and paste them in here.

Â So what we've, all we've done so far is we've plotted A

Â star on the x-axis here, and then the backward rate on the y-axis.

Â Remember that, what we what we generated was for

Â forward rates, for many, many different values of the stimulus.

Â What we ended up with when we ran the whole script

Â were like 40, 40 blue lines that were decreasing blue lines.

Â How did we generate the 40 blue lines?

Â Well, that's what a for loop is for.

Â And that's a for loop is what we have here.

Â 15:01

then we have to run this 40 times.

Â Each time we go through the for loop, we compute the forward rate.

Â The forward rate is equal to the variable

Â k plus, times the current value of the stimulus.

Â That was s sub i.

Â So, the first time it'ill be the first value in s.

Â Second time it will be the second value in s, etcetera.

Â And then, we multiply this by 1 minus A star.

Â Remember that you have forward rate is conversion of A to A star.

Â So the substrate in this case is however much of a is not in the A star, or

Â however much is not [UNKNOWN], and we've, that's equal

Â to one minus however much we have in A star.

Â 15:38

Now we need to determine where the two

Â curves cross, because the summary plot that we

Â generate is steady state value of A star,

Â steady stare value of A star versus A star.

Â 15:50

In order to determine where two curves cross,

Â we need to see where the difference between

Â the two, where the absolute value of the

Â difference of the two curves is at a minimum.

Â And that's what we do here we say, mindummy

Â and dex, dex in this case stands for index.

Â Is equal to the minimum of the absolute

Â value of the forward rate minus the backward rate.

Â Sometimes when the two curves cross, forward rate

Â minus backward rate will be exactly equal to zero,

Â but other times it might very close to zero and not ex, in fact equal to zero.

Â And this is something we discussed in the early lectures.

Â We don't really care exactly what the minimum is,

Â what we care about is where does the minimum occur.

Â So that's why I call this a dummy variable, the, the dummy minimum; which

Â we're not going to use subsequently and then the index is equal to this term here.

Â 'because what we really care about is, what's the value of A when

Â we're at the steady state, when a forward rate and a backward rate cross.

Â The steady state value of A is equal to whatever value

Â you are, whatever value you have of A star at that index.

Â And then we want to plot the score grade.

Â A star on the axis and point forward rate on

Â the y axis and you plot all these in blue.

Â 16:59

This just defines the axes of the curve, and then

Â how do we plot our summary plot at the end.

Â Well, what we are going to have at the end is many different values

Â of stimulus S, and then many different steady state values of A star.

Â So we want to put stimulus on the x axis and

Â stead state value of A star on the Y axis.

Â 17:22

Tells us to plot a an open circle for each value.

Â And tells us to connect those open circles with the line, and then I made

Â the line with a little bit normal wider than usual, so its easier to visualize.

Â And again, this command here tells us to set the

Â tick set the tick marks pointed out rather than pointed in.

Â 17:43

Something I, I didn't, probably, I probably should have added to

Â these, which we'll go ahead and add now are some labels.

Â So, the for the first figure here, you want to save the X label [NOISE]

Â is equal to A Star.

Â [NOISE] And Y label is equal to the rate.

Â because the first plot is of the rate balance force [NOISE].

Â 18:31

Now let's run the, just this first part here.

Â So again, we can take this, and we can copy it, then

Â we go to the MATLAB command window, and we can paste it.

Â And let's review what we see.

Â 18:46

Figure 1 in this case are the rate balance plots

Â for 40 different values of the stimulus, that why we

Â have 40 different values, four plots of the forward rate

Â in blue, and one plot of the backward rate in red.

Â And then, in figure two what we have over here

Â is our different values of stimulus from 0.05 up to 20.

Â And then, 40 corresponding values A star.

Â And this is how we can derive this

Â hyperbolic Michaelis type equation from a rate balance plot.

Â 19:16

What we want to do next is we want to move on to the more complicated break analysis

Â plots, where we have ultra-sensitive feedback and we have variable s.

Â So now let's edit the second part of the MATLAB script here.

Â Let's take these commands, close all and clear

Â all, and put them down in the second part.

Â So that way when we run this part, we're going to start with new variables.

Â And let's take our labels that we added to this first

Â plot part, to add that to the second plot down here.

Â 20:18

parameters we need to define, those were all

Â defined here, we only need to define those ones.

Â Once again we thought the backward ray, we set up

Â the figure, and then plot the backward ray on that figure.

Â I have done something a little different here.

Â 20:32

One thing you may have remembered when we, when we ran this is that you could see

Â this screen filliping between one one figure and

Â the next figure, and it did that several times.

Â The way we're going to generate this is, is that we're going to

Â plot the we're going to plot the forward rate on the rate

Â balance plot, and then we're going to switch to the other figure

Â and we're going to plot the where they cross each other.

Â And then we're going to flip back to the rate balance plot, and plot those again.

Â How do we do that?

Â 21:00

We define one figure here and then we want to, we want to be able to tell

Â MATLAB, how do we go, how do we go back to the figure when we're gone?

Â And so, MATLAB calls the figure numbers, it calls those handles.

Â 21:14

And sometimes you know that okay, when I run this it's going to be

Â figure one, or I run this and this one's going to be figure two.

Â But other times you don't know.

Â You might already have a lot of figures already open and, and in that

Â case the next figure is going to be, you know, figure 13 or figure 14.

Â So how do you write something general so that it, it

Â knows where to go back no matter what figure number you're at.

Â Well this command here GCF says get current figure.

Â And this just tells you what figure number your on.

Â So, when, when your on figure one, and

Â you take GCF, it's going to return the value one.

Â And we define that in a variable we call handle one.

Â The reason we do that is because we're going to

Â have this second figure here thatwe're going to call handle two.

Â And this, so this first figure here is going

Â to be the one that shows the rate balance plots.

Â The second figure here is going to be the

Â one that plots the summary plot, the bifurcation diagram

Â with stimulus on the x axis and the steady

Â state value or multiple values based on the y axis.

Â And this one we'll going to handle two, and

Â by defining this two variables, handle one and handle

Â two, that's when it go allows to flip back

Â and forth between one figure and the other figure.

Â 22:25

Here's where we calculate the forward rate.

Â It's pretty straight forward compared to what we what

Â we had before, but it is certainly more complicated.

Â Something else you notice, this is a reminder of some MATLAB.

Â Using array arithmetic in MATLAB is we have these dots here.

Â 22:42

We have to take each value of A star and

Â raise each value of A star to a certain power.

Â The power is defined by H.

Â An H in this case would be defined as equal to four.

Â So, we have to take each value of A star and raise it to the fourth power.

Â 22:54

A Star remember has 1,001 elements in it, and that

Â the way you can raise each element in A star to

Â the fourth power is by doing a dot raise to the

Â fourth power, rather than just raise it to the fourth power.

Â And we have to divide that by something

Â else that's also going to have 1,001 elements in it.

Â And we have to do a dot divide there for it to do on

Â an element, by element basis, and similarly we do a dot multiply over here.

Â 23:31

Now here's where things get a little bit tricky.

Â What we saw is that the forward rate and the backward rate, when you have

Â ultra sensitive positive feedback, they can either intersect

Â one time, or they can intersect three times.

Â 24:14

The reason I set this equal to equal to being empty, is

Â we're going to add things to it, but we don't know going in

Â how many things we're going to add to it, is it going to be

Â one, is it going to be two, or is it going to be three?

Â This is a way to make it very flexible.

Â 24:27

Then I compute the difference between the for rate and the rate.

Â Why do I do that?

Â It's because for, as we go through this difference between

Â the forward rate and the backward rate, we know that these

Â two curves have crossed one another anytime we go from

Â the difference being positive to being either negative or, or zero.

Â 24:49

And this is what we're this is what we're going to, we're going to check out.

Â We say for i, i, i equals 2 to the length of the forward rate, if the sine

Â of the current value of difference is not equal

Â to the sine of the previous value of difference.

Â But then that means that we've, we've the two curves have crossed one another.

Â So in other words if the current value

Â is either, is positive and the previous value is

Â either zero or negative, then we know that we

Â have that the two curves have crossed one another.

Â And so this is our way of going through this, this long vector called difference.

Â And seeing every place that we, that we cross zero on this one vector.

Â And when we're done, this variable crossings might have one element in it.

Â It might have three elements in it.

Â We have extreme calculations here.

Â It might have zero elements in it.

Â But in, in this case we know that it's always going to have either one or three.

Â So then what we want to do is we're going to go to

Â figure handle 2, this is the one that plots our summary plot.

Â And plot the stimulus on the x axis and then all of our values of A

Â star at these crossing points on the, on the y axis.

Â So what we care about are not the values that are in crossing,

Â because crossings is just going to tell us which element are you at.

Â 26:12

right?

Â What we do is we take whatever, however

Â many things we already have in crossings and

Â then add to that i, i, i, which is the, which is whatever element that we're at.

Â So that could say that, okay, these two curves cross

Â one another at the 50th point, at the 200th point, and

Â at the 700th point and, but what we want to

Â plot whatever the val, the corresponding values are of A star.

Â So that's why we plot A star sub crossings on the y axis.

Â 26:53

go to the MATLAB command window, and we're going to paste.

Â So now you can see that it generates these 40 different values of the the

Â forward rate, as, as a function of, for the 40 different values of the stimulus.

Â And over here we have stimulus on the x-axis and

Â we have the corresponding values of A star on the y-axis.

Â And what we can see is that for these low values of stimulus the, so

Â that would be like this curve here, two curves cross three times.

Â That's why we have that's a, a low stable steady state.

Â This failure here that is the intermediate unstable steady state,

Â and this failure here that is the high stable steady state.

Â But then as our stimulus gets larger and larger

Â 27:43

we only cross at this height, steady, stable steady state.

Â So over here we don't have bistability, we have monostability.

Â But over this range here, we have bistability.

Â Let's actually go ahead and, and visualize this more

Â clearly by not plotting 40 different values of stimulus.

Â But it's just by a few, so you can visualize these these curves.

Â It's good to have very dense, packing of stimulus values here

Â to generate this nice bifurcation diagram that has many points in it.

Â If we want to look at these rate balance

Â plots, it's better to have fewer rather than 40.

Â So the way that you do that

Â 28:19

is just by changing our, our stimulus step.

Â Instead of starting at zero and having a step

Â at 0.02 and going to 0.5, we're going to

Â start at zero, and we're going to have a step

Â at 0.1, and then we're going to go to 0.5.

Â So now we're only going to have six values to

Â the stimulus, rather than many more values to the stimulus.

Â 28:41

So again, we copy this, we got to our MATLAB

Â editor, we go to our command window, and we paste it.

Â Okay, so now you can see you only have six values of stimulus.

Â And now, if we look at figure one, and we maximize this, we can see

Â 28:57

clearly when the the two curves cross either one time or three times.

Â For the lowest value of stimulus, we have three crossings, three

Â crossings, three crossings, and then somewhere

Â here, between the fourth value of

Â stimulus and the fifth value of stimulus, is where you move

Â from, to the two curves crossing three times to crossing one time.

Â And remember from the lectures, that's where we get a bifurcation.

Â This bifurcation between the fourth and the fifth points.

Â 29:22

We can see over here one, two, three,

Â four, we have three crossings, somewhere here is

Â where we get the bifurcation and, and we

Â move from a bistable system to a monostable system.

Â 29:34

As I mentioned, this script that we've been working on,

Â ratebalance.m, is going to be provided to you, and part of

Â your homework assignment is going to be to modify this

Â to generate bistability in a one-dimensional system in a different way.

Â So I hope that this has been a helpful exercise to go through.

Â The logic of ,of how I wrote this program to show

Â you how you can do these test of analyses using MATLAB.

Â Now,

Â 30:01

let's summarize this lecture, our third lecture on bistability.

Â In a one variable system, we saw

Â two different ways that bistability could be produced.

Â It can be produced when you have a ultrasensitive positive feedback or

Â you can get bistability if you have a back reaction that saturates.

Â Another thing we've learned is that when you analyze rate-balance plots, you can

Â from these generate bifurcation diagram that

Â shows a transition from monostability to bistability.

Â And finally, a third thing we saw is that array arithmetic in MATLAB can be used

Â to produce rate balance plots that are helpful

Â for understanding the dynamical behavior of a biochemical system.

Â