]> git.donarmstrong.com Git - ool/lipid_simulation_formalism.git/blobdiff - kinetic_formalism.Rnw
tweak length and complex formation formalisms
[ool/lipid_simulation_formalism.git] / kinetic_formalism.Rnw
index 1ed5a8bbe0515edefe0649230f16af69f0928ce4..cedf6cfdd8f55a3a42eafba12c228523b85e663e 100644 (file)
 <<results=hide,echo=FALSE>>=
 require(lattice)
 require(grid)
+# R in cal / mol K
+to.kcal <- function(k,temp=300) {
+  gasconst <- 1.985
+  return(-gasconst*temp*log(k)/1000)
+}
 @ 
 
 \section{State Equation}
 % double check this with the bits in the paper
+
+Given a base forward kinetic parameter for the $i$th specie $k_{fi}$
+(which is dependent on lipid type, that is PC, PE, PS, etc.), an
+adjustment parameter $k_{fi\mathrm{adj}}$ based on the vesicle and the
+specific specie (length, unsaturation, etc.) (see~\fref{eq:kf_adj}),
+the molar concentration of monomer of the $i$th specie
+$\left[C_{i_\mathrm{monomer}}\right]$, the surface area of the vesicle
+$S_\mathrm{ves}$, the base backwards kinetic parameter for the $i$th
+specie $k_{bi}$ which is also dependent on lipid type, its adjustment
+parameter $k_{bi\mathrm{adj}}$ (see~\fref{eq:kb_adj}), and the molar
+concentration of the $i$th specie in the vesicle $C_{i_\mathrm{ves}}$,
+the change in concentration of the $i$th specie in the vesicle per
+change in time $\frac{d C_{i_\mathrm{ves}}}{dt}$ can be calculated:
+
 \begin{equation}
   \frac{d C_{i_\mathrm{ves}}}{dt} = k_{fi}k_{fi\mathrm{adj}}\left[C_{i_\mathrm{monomer}}\right]S_\mathrm{ves} -
   k_{bi}k_{bi\mathrm{adj}}C_{i_\mathrm{ves}}
@@ -93,6 +112,12 @@ The 1000 isn't in \fref{eq:state} above, because it is unit-dependent.
 
 \subsection{Forward adjustments ($k_{fi\mathrm{adj}}$)}
 
+The forward rate constant adjustment, $k_{fi\mathrm{adj}}$ takes into
+account unsaturation ($un_f$), charge ($ch_f$), curvature ($cu_f$),
+length ($l_f$), and complex formation ($CF1_f$), each of which are
+modified depending on the specific specie and the vesicle into which
+the specie is entering.
+
 \begin{equation}
   k_{fi\mathrm{adj}} = un_f \cdot ch_f \cdot cu_f \cdot l_f \cdot CF1_f
   \label{eq:kf_adj}
@@ -100,70 +125,209 @@ The 1000 isn't in \fref{eq:state} above, because it is unit-dependent.
 
 \newpage
 \subsubsection{Unsaturation Forward}
+
+In order for a lipid to be inserted into a membrane, a void has to be
+formed for it to fill. Voids can be generated by the combination of
+unsaturated and saturated lipids forming herterogeneous domains. Void
+formation is increased when the unsaturation of lipids in the vesicle
+is widely distributed; in other words, the insertion of lipids into
+the membrane is greater when the standard deviation of the
+unsaturation is larger. Assuming that an increase in width of the
+distribution linearly decreases the free energy of activation, the
+$un_f$ parameter must follow
+$a^{\mathrm{stdev}\left(un_\mathrm{ves}\right)}$ where $a > 1$, so a
+convenient starting base for $a$ is $2$:
+
 \begin{equation}
   un_f = 2^{\mathrm{stdev}\left(un_\mathrm{ves}\right)}
   \label{eq:unsaturation_forward}
 \end{equation}
 
+The most common $\mathrm{stdev}\left(un_\mathrm{ves}\right)$ is around
+$1.5$, which leads to a $\Delta \Delta G^\ddagger$ of
+$\Sexpr{format(digits=3,to.kcal(2^1.5))}
+\frac{\mathrm{kcal}}{\mathrm{mol}}$.
+
+\setkeys{Gin}{width=3.2in}
 <<fig=TRUE,echo=FALSE,results=hide,width=5,height=5>>=
 curve(2^x,from=0,to=sd(c(0,4)),
-      main="Unsaturation forward",
+      main="Unsaturation Forward",
       xlab="Standard Deviation of Unsaturation of Vesicle",
       ylab="Unsaturation Forward Adjustment")
 @ 
+<<fig=TRUE,echo=FALSE,results=hide,width=5,height=5>>=
+curve(to.kcal(2^x),from=0,to=sd(c(0,4)),
+      main="Unsaturation forward",
+      xlab="Standard Deviation of Unsaturation of Vesicle",
+      ylab="Unsaturation Forward (kcal/mol)")
+@ 
+
 
 \newpage
 \subsubsection{Charge Forward}
+
+A charged lipid such as PS approaching a vesicle with an average
+charge of the same sign will experience repulsion, whereas those with
+different signs will experience attraction, the degree of which is
+dependent upon the charge of the monomer and the average charge of the
+vesicle. If either the vesicle or the monomer has no charge, there
+should be no effect of charge upon the rate. This leads us to the
+following equation, $a^{-\left<ch_v\right> ch_m}$, where
+$\left<ch_v\right>$ is the average charge of the vesicle, and $ch_m$
+is the charge of the monomer. If either $\left<ch_v\right>$ or $ch_m$
+is 0, the adjustment parameter is 1 (no change), whereas it decreases
+if both are positive or negative, as the product of two real numbers
+with the same sign is always positive. A convenient base for $a$ is
+60, resulting in the following equation:
+
+
 \begin{equation}
   ch_f = 60^{-\left<{ch}_v\right> {ch}_m}
   \label{eq:charge_forward}
 \end{equation}
 
+The most common $\left<{ch}_v\right>$ is around $-0.165$, which leads to
+a range of $\Delta \Delta G^\ddagger$ from
+$\Sexpr{format(digits=3,to.kcal(60^(-.165*-1)))}
+\frac{\mathrm{kcal}}{\mathrm{mol}}$ to $0\frac{\mathrm{kcal}}{\mathrm{mol}}$.
+
 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
 x <- seq(-1,0,length.out=20)
 y <- seq(-1,0,length.out=20)
 grid <- expand.grid(x=x,y=y)
 grid$z <- as.vector(60^(-outer(x,y)))
 print(wireframe(z~x*y,grid,cuts=50,
-          drape=TRUE,
-          scales=list(arrows=FALSE),
-          xlab=list("Average Vesicle Charge",rot=30),
-          ylab=list("Component Charge",rot=-35),
-          zlab=list("Charge Forward",rot=93)))
+                drape=TRUE,
+                scales=list(arrows=FALSE),
+                main="Charge Forward",
+                xlab=list("Average Vesicle Charge",rot=30),
+                ylab=list("Component Charge",rot=-35),
+                zlab=list("Charge Forward",rot=93)))
+rm(x,y,grid)
+@ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
+x <- seq(-1,0,length.out=20)
+y <- seq(-1,0,length.out=20)
+grid <- expand.grid(x=x,y=y)
+grid$z <- as.vector(to.kcal(60^(-outer(x,y))))
+print(wireframe(z~x*y,grid,cuts=50,
+                drape=TRUE,
+                scales=list(arrows=FALSE),
+                main="Charge Forward (kcal/mol)",
+                xlab=list("Average Vesicle Charge",rot=30),
+                ylab=list("Component Charge",rot=-35),
+                zlab=list("Charge Forward (kcal/mol)",rot=93)))
 rm(x,y,grid)
 @ 
 
+
 \newpage
 \subsubsection{Curvature Forward}
+
+Curvature is a measure of the intrinsic propensity of specific lipids
+to form micelles (positive curvature), inverted micelles (negative
+curvature), or planar sheets (zero curvature). In this formalism,
+curvature is measured as the ratio of the size of the head to that of
+the base, so negative curvature is bounded by $(0,1)$, zero curvature
+is 1, and positive curvature is bounded by $(1,\infty)$. The curvature
+can be transformed into the typical postive/negative mapping using
+$\log$, which has the additional property of making the range of
+positive and negative curvature equal, and distributed about 0.
+
+As in the case of unsaturation, void formation is increased by the
+presence of lipids with mismatched curvature. Thus, a larger
+distribution of curvature in the vesicle increases the rate of lipid
+insertion into the vesicle. However, a species with curvature $e^{-1}$
+will cancel out a species with curvature $e$, so we have to log
+transform (turning these into -1 and 1), then take the absolute value
+(1 and 1), and finally measure the width of the distribution. Thus, by
+using the log transform to make the range of the lipid curvature equal
+between positive and negative, and taking the average to cancel out
+exactly mismatched curvatures, we come to an equation with the shape
+$a^{\left<\log cu_\mathrm{vesicle}\right>}$. A convenient base for $a$
+is $10$, yielding:
+
+
 \begin{equation}
-  cu_f = 10^{\mathrm{stdev}\left|\log cu_\mathrm{vesicle}\right|}
+ % cu_f = 10^{\mathrm{stdev}\left|\log cu_\mathrm{vesicle}\right|}
+  cu_f = 10^{\left|\left<\log cu_\mathrm{vesicle} \right>\right|\mathrm{stdev} \left|\log cu_\mathrm{vesicle}\right|}
   \label{eq:curvature_forward}
 \end{equation}
 
-<<fig=TRUE,echo=FALSE,results=hide,width=7,height=5>>=
-curve(10^x,from=0,to=max(c(sd(abs(log(c(0.8,1.33)))),
-                    sd(abs(log(c(1,1.33)))),
-                    sd(abs(log(c(0.8,1)))))),
-      main="Curvature forward",
-      xlab="Standard Deviation of Absolute value of the Log of the Curvature of Vesicle",
-      ylab="Curvature Forward Adjustment")
+The most common $\left|\left<\log {cu}_v\right>\right|$ is around $0.013$, which
+with the most common $\mathrm{stdev} \log cu_\mathrm{vesicle}$ of
+$0.213$ leads to a $\Delta \Delta G^\ddagger$ of
+$\Sexpr{format(digits=3,to.kcal(10^(0.13*0.213)))}
+\frac{\mathrm{kcal}}{\mathrm{mol}}$
+
+% 1.5 to 0.75 3 to 0.33
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
+grid <- expand.grid(x=seq(0,max(c(sd(abs(log(c(1,3)))),
+                      sd(abs(log(c(1,0.33)))),sd(abs(log(c(0.33,3)))))),length.out=20),
+                    y=seq(0,max(c(mean(log(c(1,3)),
+                      mean(log(c(1,0.33))),
+                      mean(log(c(0.33,3)))))),length.out=20))
+grid$z <- 10^(grid$x*grid$y)
+print(wireframe(z~x*y,grid,cuts=50,
+          drape=TRUE,
+          scales=list(arrows=FALSE),
+          xlab=list("Vesicle stdev log curvature",rot=30),
+          ylab=list("Vesicle average log curvature",rot=-35),
+          zlab=list("Vesicle Curvature Forward",rot=93)))
+rm(grid)
+@ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
+grid <- expand.grid(x=seq(0,max(c(sd(abs(log(c(1,3)))),
+                      sd(abs(log(c(1,0.33)))),sd(abs(log(c(0.33,3)))))),length.out=20),
+                    y=seq(0,max(c(mean(log(c(1,3)),
+                      mean(log(c(1,0.33))),
+                      mean(log(c(0.33,3)))))),length.out=20))
+grid$z <- to.kcal(10^(grid$x*grid$y))
+print(wireframe(z~x*y,grid,cuts=50,
+          drape=TRUE,
+          scales=list(arrows=FALSE),
+          xlab=list("Vesicle stdev log curvature",rot=30),
+          ylab=list("Vesicle average log curvature",rot=-35),
+          zlab=list("Vesicle Curvature Forward (kcal/mol)",rot=93)))
+rm(grid)
 @ 
 
 \newpage
 \subsubsection{Length Forward}
+
+As in the case of unsaturation, void formation is easier when vesicles
+are made up of components of widely different lengths. Thus, when the
+width of the distribution of lengths is larger, the forward rate
+should be greater as well, leading us to an equation of the form
+$x^{\mathrm{stdev} l_\mathrm{ves}}$, where $\mathrm{stdev}
+l_\mathrm{ves}$ is the standard deviation of the length of the
+components of the vesicle, which has a maximum possible value of 8 and
+a minimum of 0 in this set of experiments. A convenient base for $x$
+is 2, leading to:
+
 \begin{equation}
-  l_f = 3^{\mathrm{stdev} l_\mathrm{ves}}
+  l_f = 2^{\mathrm{stdev} l_\mathrm{ves}}
   \label{eq:length_forward}
 \end{equation}
 
 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=5>>=
-curve(3^x,from=0,to=sd(c(12,24)),
+curve(2^x,from=0,to=sd(c(12,24)),
       main="Length forward",
       xlab="Standard Deviation of Length of Vesicle",
       ylab="Length Forward Adjustment")
 @ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=5>>=
+curve(to.kcal(2^x),from=0,to=sd(c(12,24)),
+      main="Length forward",
+      xlab="Standard Deviation of Length of Vesicle",
+      ylab="Length Forward Adjustment (kcal/mol)")
+@ 
+
 
 \subsubsection{Complex Formation}
+There is no contribution of complex formation to the forward reaction
+rate in the current formalism.
+
 \begin{equation}
   CF1_f=1
   \label{eq:complex_formation_forward}
@@ -171,13 +335,38 @@ curve(3^x,from=0,to=sd(c(12,24)),
 
 \subsection{Backward adjustments ($k_{bi\mathrm{adj}}$)}
 
+Just as the forward rate constant adjustment $k_{fi\mathrm{adj}}$
+does, the backwards rate constant adjustment $k_{bi\mathrm{adj}}$
+takes into account unsaturation ($un_b$), charge ($ch_b$), curvature
+($cu_b$), length ($l_b$), and complex formation ($CF1_b$), each of
+which are modified depending on the specific specie and the vesicle
+into which the specie is entering:
+
+
 \begin{equation}
   k_{bi\mathrm{adj}} = un_b \cdot ch_b \cdot cu_b \cdot l_b \cdot CF1_b
-  \label{eq:kf_adj}
+  \label{eq:kb_adj}
 \end{equation}
 
-\newpage
 \subsubsection{Unsaturation Backward}
+
+Unsaturation also influences the ability of a lipid molecule to leave
+a membrane. If a molecule has an unsaturation level which is different
+from the surrounding membrane, it will be more likely to leave the
+membrane. The more different the unsaturation level is, the greater
+the propensity for the lipid molecule to leave. However, a vesicle
+with some unsaturation is more favorable for lipids with more
+unsaturation than the equivalent amount of less unsatuturation, so the
+difference in energy between unsaturation is not linear. Therefore, an
+equation with the shape
+$x^{\left|y^{-\left<un_\mathrm{ves}\right>}-y^{-un_\mathrm{monomer}}\right|}$
+where $\left<un_\mathrm{ves}\right>$ is the average unsaturation of
+the vesicle, and $un_\mathrm{monomer}$ is the average unsaturation. In
+this equation, as the average unsaturation of the vesicle is larger,
+
+\textcolor{red}{I don't like this equation; the explanation above
+  seems really contrived. Need to discuss.}
+
 \begin{equation}
   un_b = 10^{\left|3.5^{-\left<un_\mathrm{ves}\right>}-3.5^{-un_\mathrm{monomer}}\right|}
   \label{eq:unsaturation_backward}
@@ -195,9 +384,27 @@ print(wireframe(z~x*y,grid,cuts=50,
           zlab=list("Unsaturation Backward",rot=93)))
 rm(grid)
 @ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
+grid <- expand.grid(x=seq(0,4,length.out=20),
+                    y=seq(0,4,length.out=20))
+grid$z <- to.kcal(10^(abs(3.5^-grid$x-3.5^-grid$y)))
+print(wireframe(z~x*y,grid,cuts=50,
+          drape=TRUE,
+          scales=list(arrows=FALSE),
+          xlab=list("Average Vesicle Unsaturation",rot=30),
+          ylab=list("Monomer Unsaturation",rot=-35),
+          zlab=list("Unsaturation Backward (kcal/mol)",rot=93)))
+rm(grid)
+@ 
+
 
 \newpage
 \subsubsection{Charge Backwards}
+As in the case of monomers entering a vesicle, monomers leaving a
+vesicle leave faster if their charge has the same sign as the average
+charge vesicle. An equation of the form $ch_b = x^{\left<ch_v\right>
+  ch_m}$ is then appropriate, and using a base of 20 for $x$ yields:
+
 \begin{equation}
   ch_b = 20^{\left<{ch}_v\right> {ch}_m}
   \label{eq:charge_backwards}
@@ -216,11 +423,40 @@ print(wireframe(z~x*y,grid,cuts=50,
           zlab=list("Charge Backwards",rot=93)))
 rm(x,y,grid)
 @ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
+x <- seq(-1,0,length.out=20)
+y <- seq(-1,0,length.out=20)
+grid <- expand.grid(x=x,y=y)
+grid$z <- to.kcal(as.vector(20^(outer(x,y))))
+print(wireframe(z~x*y,grid,cuts=50,
+          drape=TRUE,
+          scales=list(arrows=FALSE),
+          xlab=list("Average Vesicle Charge",rot=30),
+          ylab=list("Component Charge",rot=-35),
+          zlab=list("Charge Backwards (kcal/mol)",rot=93)))
+rm(x,y,grid)
+@ 
 
 \newpage
 \subsubsection{Curvature Backwards}
+
+The less a monomer's intrinsic curvature matches the average curvature
+of the vesicle in which it is in, the greater its rate of efflux. If
+the difference is 0, $cu_f$ needs to be one. To map negative and
+positive curvature to the same range, we also need take the logarithm.
+Increasing mismatches in curvature increase the rate of efflux, but
+asymptotically. \textcolor{red}{It is this property which the
+  unsaturation backwards equation does \emph{not} satisfy, which I
+  think it should.} An equation which satisfies this critera has the
+form $cu_f = a^{1-\left(b\left(\left<\log cu_\mathrm{vesicle} \right>
+      -\log cu_\mathrm{monomer}\right)^2+1\right)^{-1}}$. An
+alternative form would use the aboslute value of the difference,
+however, this yields a cusp and sharp increase about the curvature
+equilibrium, which is decidedly non-elegant. We have chosen bases of
+$a=7$ and $b=20$.
+
 \begin{equation}
-  cu_f = 7^{1-\left(20\left(\log cu_\mathrm{vesicle}-\log cu_\mathrm{monomer}\right)^2+1\right)^{-1}}
+  cu_f = 7^{1-\left(20\left(\left<\log cu_\mathrm{vesicle} \right> -\log cu_\mathrm{monomer}\right)^2+1\right)^{-1}}
   \label{eq:curvature_backwards}
 \end{equation}
 
@@ -236,11 +472,36 @@ print(wireframe(z~x*y,grid,cuts=50,
           zlab=list("Curvature Backward",rot=93)))
 rm(grid)
 @ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
+grid <- expand.grid(x=seq(0.8,1.33,length.out=20),
+                    y=seq(0.8,1.33,length.out=20))
+grid$z <- to.kcal(7^(1-1/(20*(log(grid$x)-log(grid$y))^2+1)))
+print(wireframe(z~x*y,grid,cuts=50,
+          drape=TRUE,
+          scales=list(arrows=FALSE),
+          xlab=list("Vesicle Curvature",rot=30),
+          ylab=list("Monomer Curvature",rot=-35),
+          zlab=list("Curvature Backward (kcal/mol)",rot=93)))
+rm(grid)
+@ 
+
 
 \newpage
 \subsubsection{Length Backwards}
+
+In a model membrane, the dissociation constant decreases by a factor
+of approximately 3.2 per carbon increase in acyl chain length (Nichols
+1985). Unfortunatly, the known experimental data only measures chain
+length less than or equal to the bulk lipid, and does not exceed it,
+and is only known for one bulk lipid species (DOPC).
+
+
+The dissociation constant decreases by approximately 3.2 per carbon
+increase in acyl chain length (Nichols 1985). We assume that this
+decrease is in relationship to the average vesicle length.
+
 \begin{equation}
-  l_b = 3.2^{\left|l_\mathrm{ves}-l_\mathrm{monomer}\right|}
+  l_b = 3.2^{\left|\left<l_\mathrm{ves}\right>-l_\mathrm{monomer}\right|}
   \label{eq:length_backward}
 \end{equation}
 
@@ -256,11 +517,24 @@ print(wireframe(z~x*y,grid,cuts=50,
           zlab=list("Length Backward",rot=93)))
 rm(grid)
 @ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
+grid <- expand.grid(x=seq(12,24,length.out=20),
+                    y=seq(12,24,length.out=20))
+grid$z <- to.kcal(3.2^(abs(grid$x-grid$y)))
+print(wireframe(z~x*y,grid,cuts=50,
+          drape=TRUE,
+          scales=list(arrows=FALSE),
+          xlab=list("Average Vesicle Length",rot=30),
+          ylab=list("Monomer Length",rot=-35),
+          zlab=list("Length Backward (kcal/mol)",rot=93)))
+rm(grid)
+@ 
+
 
 \newpage
 \subsubsection{Complex Formation Backward}
 \begin{equation}
-  CF1_b=1.5^{CF1_\mathrm{ves} CF1_\mathrm{monomer}-\left|CF1_\mathrm{ves} CF1_\mathrm{monomer}\right|}
+  CF1_b=1.5^{\left<CF1_\mathrm{ves}\right> CF1_\mathrm{monomer}-\left|\left<CF1_\mathrm{ves}right> CF1_\mathrm{monomer}\right|}
   \label{eq:complex_formation_backward}
 \end{equation}
 
@@ -276,6 +550,19 @@ print(wireframe(z~x*y,grid,cuts=50,
           zlab=list("Complex Formation Backward",rot=93)))
 rm(grid)
 @ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
+grid <- expand.grid(x=seq(-1,3,length.out=20),
+                    y=seq(-1,3,length.out=20))
+grid$z <- to.kcal(3.2^(grid$x*grid$y-abs(grid$x*grid$y)))
+print(wireframe(z~x*y,grid,cuts=50,
+          drape=TRUE,
+          scales=list(arrows=FALSE),
+          xlab=list("Vesicle Complex Formation",rot=30),
+          ylab=list("Monomer Complex Formation",rot=-35),
+          zlab=list("Complex Formation Backward (kcal/mol)",rot=93)))
+rm(grid)
+@ 
+