Team:Duke/Modeling/Codes/Kinetic1
From 2013.igem.org
(Difference between revisions)
Hyunsoo kim (Talk | contribs) (→Mathematical Modeling of Bistable Toggle Switch) |
Hyunsoo kim (Talk | contribs) |
||
(7 intermediate revisions not shown) | |||
Line 2: | Line 2: | ||
<div class="right_box"> | <div class="right_box"> | ||
- | + | Clear["Global`*"] | |
- | + | k1 = 100; | |
- | Clear["Global`*"] | + | d1 = 0.007; |
- | k1 = 100; | + | k2 = 100; |
- | d1 = 0.007; | + | d2 = 0.007; |
- | k2 = 100; | + | K1 = k1/d1; |
- | d2 = 0.007; | + | K2 = k2/d2; |
- | K1 = k1/d1; | + | Nns = 5*10^6; |
- | K2 = k2/d2; | + | delEpd = -1.0421*10^-19; |
- | Nns = 5*10^6; | + | kb = 1.3806*10^-23; |
- | delEpd = -1.0421*10^-19; | + | T = 298; |
- | kb = 1.3806*10^-23; | + | P = 3000; |
- | T = 298; | + | \[Alpha] = Nns*E^(delEpd/(kb*T))/P; |
- | P = 3000; | + | n = 5; |
- | \[Alpha] = Nns*E^(delEpd/(kb*T))/P; | + | (*Ksrd=;*) |
- | n = 5; | + | Knsrd = 10000; |
- | (*Ksrd=;*) | + | Stable1 = 0; |
- | Knsrd = 10000; | + | Saddle1 = 0; |
- | Stable1 = 0; | + | Unstable1 = 0; |
- | Saddle1 = 0; | + | matUp = {}; |
- | Unstable1 = 0; | + | matDown = {}; |
- | matUp = {}; | + | RangeUp = {}; |
- | matDown = {}; | + | RangeDown = {}; |
- | RangeUp = {}; | + | For[Ksud = 0.01*10^-9, Ksud <= 7000*10^-9, Ksud = Ksud*1.1, |
- | RangeDown = {}; | + | Print[Ksud] |
- | + | For[Ksvd = 0.01*10^-9, Ksvd <= 7000*10^-9, Ksvd = Ksvd*1.1, | |
- | + | Stable2 = 0; | |
- | + | Saddle2 = 0; | |
- | + | Unstable2 = 0; | |
- | + | delEud = kb*T*Log[10, Ksud/Knsrd]; | |
- | + | delEvd = kb*T*Log[10, Ksvd/Knsrd]; | |
- | + | xdot[x_, y_] := | |
- | + | K1/(1 + \[Alpha] (1 + (y/Nns)*E^(-delEvd/(kb*T)))^n) - x; | |
- | + | ydot[x_, y_] := | |
- | + | K2/(1 + \[Alpha] (1 + (x/Nns)*E^(-delEud/(kb*T)))^n) - y; | |
- | + | Jac[x_, | |
- | + | y_] := {{Derivative[1, 0][xdot][x, y], | |
- | + | Derivative[0, 1][xdot][x, y]}, {Derivative[1, 0][ydot][x, y], | |
- | + | Derivative[0, 1][ydot][x, y]}}; | |
- | + | fps = NSolve[xdot[x, y] == 0 && ydot[x, y] == 0, {x, y}, Reals]; | |
- | + | (*Print[N[fps,3]]*) | |
- | + | (*Print[Length[fps]-1]*) | |
- | + | For[i = 1, i < Length[fps] + 1, i++, | |
- | + | xtemp = x /. fps[[i]]; | |
- | + | ytemp = y /. fps[[i]]; | |
- | + | (*Print[N[xtemp,3]]*) | |
- | + | (*Print[N[ytemp,3]]*) | |
- | + | If[Im[xtemp] == 0 && Im[ytemp] == 0, | |
- | + | If[xtemp > 0 && ytemp > 0, | |
- | + | (*Print[" ",i-1," R1=",xtemp," R2=",ytemp, | |
- | + | " Ksud=",Ksud," Ksvd=", Ksvd]*) | |
- | + | If[ | |
- | + | Re[Eigenvalues[Jac[xtemp, ytemp]][[1]]] > 0 && | |
- | + | Re[Eigenvalues[Jac[xtemp, ytemp]][[2]]] > 0, | |
- | + | Unstable2 += 1; | |
- | + | ]; | |
- | + | If[ | |
- | + | Re[Eigenvalues[Jac[xtemp, ytemp]][[1]]] < 0 && | |
- | + | Re[Eigenvalues[Jac[xtemp, ytemp]][[2]]] < 0, | |
- | + | Stable2 += 1; | |
- | + | ]; | |
- | + | If[ | |
- | + | Re[Eigenvalues[Jac[xtemp, ytemp]][[1]]] < 0.0001 && | |
- | + | Re[Eigenvalues[Jac[xtemp, ytemp]][[2]]] > 0.0001, | |
- | + | Saddle2 += 1; | |
- | + | ]; | |
- | + | If[ | |
- | + | ||
- | + | ||
Re[Eigenvalues[Jac[xtemp, ytemp]][[1]]] > 0.0001 && | Re[Eigenvalues[Jac[xtemp, ytemp]][[1]]] > 0.0001 && | ||
Re[Eigenvalues[Jac[xtemp, ytemp]][[2]]] < 0.0001, | Re[Eigenvalues[Jac[xtemp, ytemp]][[2]]] < 0.0001, | ||
Line 104: | Line 102: | ||
] | ] | ||
] | ] | ||
- | + | ||
- | + | ||
- | + | ||
- | k1 = 100; | + | k1 = 100; |
- | d1 = 0.007; | + | d1 = 0.007; |
- | k2 = 50; | + | k2 = 50; |
- | d2 = 0.007; | + | d2 = 0.007; |
- | K1 = k1/d1; | + | K1 = k1/d1; |
- | K2 = k2/d2; | + | K2 = k2/d2; |
- | Nns = 5*10^6; | + | Nns = 5*10^6; |
- | delEpd = -1.0421*10^-19; | + | delEpd = -1.0421*10^-19; |
- | kb = 1.3806*10^-23; | + | kb = 1.3806*10^-23; |
- | T = 298; | + | T = 298; |
- | P = 3000; | + | P = 3000; |
- | \[Alpha] = Nns*E^(delEpd/(kb*T))/P; | + | \[Alpha] = Nns*E^(delEpd/(kb*T))/P; |
- | n = 5; | + | n = 5; |
- | (*Ksrd=;*) | + | (*Ksrd=;*) |
- | Knsrd = 10000; | + | Knsrd = 10000; |
- | Stable1 = 0; | + | Stable1 = 0; |
- | Saddle1 = 0; | + | Saddle1 = 0; |
- | Unstable1 = 0; | + | Unstable1 = 0; |
- | matUp1 = {}; | + | matUp1 = {}; |
- | matDown1 = {}; | + | matDown1 = {}; |
- | RangeUp1 = {}; | + | RangeUp1 = {}; |
- | RangeDown1 = {}; | + | RangeDown1 = {}; |
- | For[Ksud = 0.01*10^-9, Ksud <= 7000*10^-9, Ksud = Ksud*1.1, | + | For[Ksud = 0.01*10^-9, Ksud <= 7000*10^-9, Ksud = Ksud*1.1, |
Print[Ksud] | Print[Ksud] | ||
For[Ksvd = 0.01*10^-9, Ksvd <= 7000*10^-9, Ksvd = Ksvd*1.1, | For[Ksvd = 0.01*10^-9, Ksvd <= 7000*10^-9, Ksvd = Ksvd*1.1, | ||
Line 208: | Line 206: | ||
] | ] | ||
] | ] | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | k1 = 100; | + | k1 = 100; |
- | d1 = 0.007; | + | d1 = 0.007; |
- | k2 = 10; | + | k2 = 10; |
- | d2 = 0.007; | + | d2 = 0.007; |
- | K1 = k1/d1; | + | K1 = k1/d1; |
- | K2 = k2/d2; | + | K2 = k2/d2; |
- | Nns = 5*10^6; | + | Nns = 5*10^6; |
- | delEpd = -1.0421*10^-19; | + | delEpd = -1.0421*10^-19; |
- | kb = 1.3806*10^-23; | + | kb = 1.3806*10^-23; |
- | T = 298; | + | T = 298; |
- | P = 3000; | + | P = 3000; |
- | \[Alpha] = Nns*E^(delEpd/(kb*T))/P; | + | \[Alpha] = Nns*E^(delEpd/(kb*T))/P; |
- | n = 5; | + | n = 5; |
- | (*Ksrd=;*) | + | (*Ksrd=;*) |
- | Knsrd = 10000; | + | Knsrd = 10000; |
- | Stable1 = 0; | + | Stable1 = 0; |
- | Saddle1 = 0; | + | Saddle1 = 0; |
- | Unstable1 = 0; | + | Unstable1 = 0; |
- | matUp2 = {}; | + | matUp2 = {}; |
- | matDown2 = {}; | + | matDown2 = {}; |
- | RangeUp2 = {}; | + | RangeUp2 = {}; |
- | RangeDown2 = {}; | + | RangeDown2 = {}; |
- | For[Ksud = 0.01*10^-9, Ksud <= 7000*10^-9, Ksud = Ksud*1.1, | + | For[Ksud = 0.01*10^-9, Ksud <= 7000*10^-9, Ksud = Ksud*1.1, |
Print[Ksud] | Print[Ksud] | ||
For[Ksvd = 0.01*10^-9, Ksvd <= 7000*10^-9, Ksvd = Ksvd*1.1, | For[Ksvd = 0.01*10^-9, Ksvd <= 7000*10^-9, Ksvd = Ksvd*1.1, | ||
Line 313: | Line 311: | ||
] | ] | ||
] | ] | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | RangeUp1; | + | RangeUp1; |
- | RangeDown1; | + | RangeDown1; |
- | ListPlot[{RangeUp1, RangeDown1}]; | + | ListPlot[{RangeUp1, RangeDown1}]; |
- | matUp1; | + | matUp1; |
- | matDown1; | + | matDown1; |
- | ListLinePlot[{matUp, matDown, matUp1, matDown1, matUp2, matDown2}, | + | ListLinePlot[{matUp, matDown, matUp1, matDown1, matUp2, matDown2}, |
PlotStyle -> {Blue, Blue, Red, Red, Green, Green}, | PlotStyle -> {Blue, Blue, Red, Red, Green, Green}, | ||
PlotRange -> {{-10, -5}, {-10, -5}}, InterpolationOrder -> 1, | PlotRange -> {{-10, -5}, {-10, -5}}, InterpolationOrder -> 1, | ||
Mesh -> Full, MeshStyle -> Directive[Gray], | Mesh -> Full, MeshStyle -> Directive[Gray], | ||
AxesLabel -> {"Log(\!\(\*SubscriptBox[\(K\), \(d, Repressor\\\ \ | AxesLabel -> {"Log(\!\(\*SubscriptBox[\(K\), \(d, Repressor\\\ \ | ||
- | 1\)]\))", "Log(\!\(\*SubscriptBox[\(K\), \(d, Repressor\\\ 2\)]\))"}, | + | 1\)]\))", "Log(\!\(\*SubscriptBox[\(K\), \(d, Repressor\\\ 2\)]\))"}, |
PlotLabel -> | PlotLabel -> | ||
Style["Bistable Regions for Unbalanced Promoter Strengths", | Style["Bistable Regions for Unbalanced Promoter Strengths", | ||
Directive[Large, Bold]], LabelStyle -> Directive[Medium, Bold]] | Directive[Large, Bold]], LabelStyle -> Directive[Medium, Bold]] | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- |
Latest revision as of 09:29, 22 September 2013
Clear["Global`*"] k1 = 100; d1 = 0.007; k2 = 100; d2 = 0.007; K1 = k1/d1; K2 = k2/d2; Nns = 5*10^6; delEpd = -1.0421*10^-19; kb = 1.3806*10^-23; T = 298; P = 3000; \[Alpha] = Nns*E^(delEpd/(kb*T))/P; n = 5; (*Ksrd=;*) Knsrd = 10000; Stable1 = 0; Saddle1 = 0; Unstable1 = 0; matUp = {}; matDown = {}; RangeUp = {}; RangeDown = {}; For[Ksud = 0.01*10^-9, Ksud <= 7000*10^-9, Ksud = Ksud*1.1, Print[Ksud] For[Ksvd = 0.01*10^-9, Ksvd <= 7000*10^-9, Ksvd = Ksvd*1.1, Stable2 = 0; Saddle2 = 0; Unstable2 = 0; delEud = kb*T*Log[10, Ksud/Knsrd]; delEvd = kb*T*Log[10, Ksvd/Knsrd]; xdot[x_, y_] := K1/(1 + \[Alpha] (1 + (y/Nns)*E^(-delEvd/(kb*T)))^n) - x; ydot[x_, y_] := K2/(1 + \[Alpha] (1 + (x/Nns)*E^(-delEud/(kb*T)))^n) - y; Jac[x_, y_] := {{Derivative[1, 0][xdot][x, y], Derivative[0, 1][xdot][x, y]}, {Derivative[1, 0][ydot][x, y], Derivative[0, 1][ydot][x, y]}}; fps = NSolve[xdot[x, y] == 0 && ydot[x, y] == 0, {x, y}, Reals]; (*Print[N[fps,3]]*) (*Print[Length[fps]-1]*) For[i = 1, i < Length[fps] + 1, i++, xtemp = x /. fpsi; ytemp = y /. fpsi; (*Print[N[xtemp,3]]*) (*Print[N[ytemp,3]]*) If[Im[xtemp] == 0 && Im[ytemp] == 0, If[xtemp > 0 && ytemp > 0, (*Print[" ",i-1," R1=",xtemp," R2=",ytemp, " Ksud=",Ksud," Ksvd=", Ksvd]*) If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] > 0 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] > 0, Unstable2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] < 0 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] < 0, Stable2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] < 0.0001 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] > 0.0001, Saddle2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] > 0.0001 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] < 0.0001, Saddle2 += 1; ]; ] ] ] (*Print[Stable2, " ", Stable1]*) If[ (Stable2 == 2 && Stable1 == 1), Print["Switch (UP)"]; (*Print[{\[Alpha],\[Beta]}];*) matUp = Insert[matUp, {Log[10, Ksud], Log[10, Ksvd]}, 1]; RangeUp = Insert[RangeUp, {Ksud, Ksvd}, 1]; ]; If[ ((Stable2 == 1 && Stable1 == 2)), Print["Switch (DOWN)"]; (*Print[{\[Alpha],\[Beta]}];*) matDown = Insert[matDown, {Log[10, Ksud], Log[10, Ksvd]}, 1]; RangeDown = Insert[RangeDown, {Ksud, Ksvd}, 1]; ]; If[(Stable2 == 2), (*Print["BISTABLE ", \[Alpha], " ",\[Beta], ", Saddle: ", Saddle2 ];*) ]; If[ (Stable2 == 1), (*Print["MONOSTABLE ", \[Alpha]," ",\[Beta],", Saddle: ", Saddle2 ];*) ]; Saddle1 = Saddle2; Unstable1 = Unstable2; Stable1 = Stable2; ] ] k1 = 100; d1 = 0.007; k2 = 50; d2 = 0.007; K1 = k1/d1; K2 = k2/d2; Nns = 5*10^6; delEpd = -1.0421*10^-19; kb = 1.3806*10^-23; T = 298; P = 3000; \[Alpha] = Nns*E^(delEpd/(kb*T))/P; n = 5; (*Ksrd=;*) Knsrd = 10000; Stable1 = 0; Saddle1 = 0; Unstable1 = 0; matUp1 = {}; matDown1 = {}; RangeUp1 = {}; RangeDown1 = {}; For[Ksud = 0.01*10^-9, Ksud <= 7000*10^-9, Ksud = Ksud*1.1, Print[Ksud] For[Ksvd = 0.01*10^-9, Ksvd <= 7000*10^-9, Ksvd = Ksvd*1.1, Stable2 = 0; Saddle2 = 0; Unstable2 = 0; delEud = kb*T*Log[10, Ksud/Knsrd]; delEvd = kb*T*Log[10, Ksvd/Knsrd]; xdot[x_, y_] := K1/(1 + \[Alpha] (1 + (y/Nns)*E^(-delEvd/(kb*T)))^n) - x; ydot[x_, y_] := K2/(1 + \[Alpha] (1 + (x/Nns)*E^(-delEud/(kb*T)))^n) - y; Jac[x_, y_] := {{Derivative[1, 0][xdot][x, y], Derivative[0, 1][xdot][x, y]}, {Derivative[1, 0][ydot][x, y], Derivative[0, 1][ydot][x, y]}}; fps = NSolve[xdot[x, y] == 0 && ydot[x, y] == 0, {x, y}, Reals]; (*Print[N[fps,3]]*) (*Print[Length[fps]-1]*) For[i = 1, i < Length[fps] + 1, i++, xtemp = x /. fpsi; ytemp = y /. fpsi; (*Print[N[xtemp,3]]*) (*Print[N[ytemp,3]]*) If[Im[xtemp] == 0 && Im[ytemp] == 0, If[xtemp > 0 && ytemp > 0, (*Print[" ",i-1," R1=",xtemp," R2=",ytemp, " Ksud=",Ksud," Ksvd=", Ksvd]*) If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] > 0 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] > 0, Unstable2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] < 0 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] < 0, Stable2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] < 0.0001 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] > 0.0001, Saddle2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] > 0.0001 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] < 0.0001, Saddle2 += 1; (*saddlePoint2=Insert[saddlePoint2,{\[Alpha],\[Beta],Re[ Eigenvalues[Jac[xtemp,ytemp]]2]},1];*) ]; ] ] ] (*Print[Stable2, " ", Stable1]*) If[ (Stable2 == 2 && Stable1 == 1), Print["Switch (UP)"]; (*Print[{\[Alpha],\[Beta]}];*) matUp1 = Insert[matUp1, {Log[10, Ksud], Log[10, Ksvd]}, 1]; RangeUp1 = Insert[RangeUp1, {Ksud, Ksvd}, 1]; ]; If[ ((Stable2 == 1 && Stable1 == 2)), Print["Switch (DOWN)"]; (*Print[{\[Alpha],\[Beta]}];*) matDown1 = Insert[matDown1, {Log[10, Ksud], Log[10, Ksvd]}, 1]; RangeDown1 = Insert[RangeDown1, {Ksud, Ksvd}, 1]; ]; If[(Stable2 == 2), (*Print["BISTABLE ", \[Alpha], " ",\[Beta], ", Saddle: ", Saddle2 ];*) ]; If[ (Stable2 == 1), (*Print["MONOSTABLE ", \[Alpha]," ",\[Beta],", Saddle: ", Saddle2 ];*) ]; Saddle1 = Saddle2; Unstable1 = Unstable2; Stable1 = Stable2; ] ] k1 = 100; d1 = 0.007; k2 = 10; d2 = 0.007; K1 = k1/d1; K2 = k2/d2; Nns = 5*10^6; delEpd = -1.0421*10^-19; kb = 1.3806*10^-23; T = 298; P = 3000; \[Alpha] = Nns*E^(delEpd/(kb*T))/P; n = 5; (*Ksrd=;*) Knsrd = 10000; Stable1 = 0; Saddle1 = 0; Unstable1 = 0; matUp2 = {}; matDown2 = {}; RangeUp2 = {}; RangeDown2 = {}; For[Ksud = 0.01*10^-9, Ksud <= 7000*10^-9, Ksud = Ksud*1.1, Print[Ksud] For[Ksvd = 0.01*10^-9, Ksvd <= 7000*10^-9, Ksvd = Ksvd*1.1, Stable2 = 0; Saddle2 = 0; Unstable2 = 0; delEud = kb*T*Log[10, Ksud/Knsrd]; delEvd = kb*T*Log[10, Ksvd/Knsrd]; xdot[x_, y_] := K1/(1 + \[Alpha] (1 + (y/Nns)*E^(-delEvd/(kb*T)))^n) - x; ydot[x_, y_] := K2/(1 + \[Alpha] (1 + (x/Nns)*E^(-delEud/(kb*T)))^n) - y; Jac[x_, y_] := {{Derivative[1, 0][xdot][x, y], Derivative[0, 1][xdot][x, y]}, {Derivative[1, 0][ydot][x, y], Derivative[0, 1][ydot][x, y]}}; fps = NSolve[xdot[x, y] == 0 && ydot[x, y] == 0, {x, y}, Reals]; (*Print[N[fps,3]]*) (*Print[Length[fps]-1]*) For[i = 1, i < Length[fps] + 1, i++, xtemp = x /. fpsi; ytemp = y /. fpsi; (*Print[N[xtemp,3]]*) (*Print[N[ytemp,3]]*) If[Im[xtemp] == 0 && Im[ytemp] == 0, If[xtemp > 0 && ytemp > 0, (*Print[" ",i-1," R1=",xtemp," R2=",ytemp, " Ksud=",Ksud," Ksvd=", Ksvd]*) If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] > 0 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] > 0, Unstable2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] < 0 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] < 0, Stable2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] < 0.0001 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] > 0.0001, Saddle2 += 1; ]; If[ Re[Eigenvalues[Jac[xtemp, ytemp]]1] > 0.0001 && Re[Eigenvalues[Jac[xtemp, ytemp]]2] < 0.0001, Saddle2 += 1; (*saddlePoint2=Insert[saddlePoint2,{\[Alpha],\[Beta],Re[ Eigenvalues[Jac[xtemp,ytemp]]2]},1];*) ]; ] ] ] (*Print[Stable2, " ", Stable1]*) If[ (Stable2 == 2 && Stable1 == 1), Print["Switch (UP)"]; (*Print[{\[Alpha],\[Beta]}];*) matUp2 = Insert[matUp2, {Log[10, Ksud], Log[10, Ksvd]}, 1]; RangeUp2 = Insert[RangeUp2, {Ksud, Ksvd}, 1]; ]; If[ ((Stable2 == 1 && Stable1 == 2)), Print["Switch (DOWN)"]; (*Print[{\[Alpha],\[Beta]}];*) matDown2 = Insert[matDown2, {Log[10, Ksud], Log[10, Ksvd]}, 1]; RangeDown2 = Insert[RangeDown2, {Ksud, Ksvd}, 1]; ]; If[(Stable2 == 2), (*Print["BISTABLE ", \[Alpha], " ",\[Beta], ", Saddle: ", Saddle2 ];*) ]; If[ (Stable2 == 1), (*Print["MONOSTABLE ", \[Alpha]," ",\[Beta],", Saddle: ", Saddle2 ];*) ]; Saddle1 = Saddle2; Unstable1 = Unstable2; Stable1 = Stable2; ] ] RangeUp1; RangeDown1; ListPlot[{RangeUp1, RangeDown1}]; matUp1; matDown1; ListLinePlot[{matUp, matDown, matUp1, matDown1, matUp2, matDown2}, PlotStyle -> {Blue, Blue, Red, Red, Green, Green}, PlotRange -> {{-10, -5}, {-10, -5}}, InterpolationOrder -> 1, Mesh -> Full, MeshStyle -> Directive[Gray], AxesLabel -> {"Log(\!\(\*SubscriptBox[\(K\), \(d, Repressor\\\ \ 1\)]\))", "Log(\!\(\*SubscriptBox[\(K\), \(d, Repressor\\\ 2\)]\))"}, PlotLabel -> Style["Bistable Regions for Unbalanced Promoter Strengths",Directive[Large, Bold]], LabelStyle -> Directive[Medium, Bold]]