]> git.donarmstrong.com Git - ool/lipid_simulation_formalism.git/blobdiff - kinetic_formalism.Rnw
update kinetic formalism
[ool/lipid_simulation_formalism.git] / kinetic_formalism.Rnw
index 1ed5a8bbe0515edefe0649230f16af69f0928ce4..22720d9b3dc2392462df74e1f54b1c4cfb4239c6 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,20 +125,57 @@ 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
+$x^{\mathrm{stdev}\left(un_\mathrm{ves}\right)}$ where $x > 1$, so a
+convenient starting base for $x$ is 2:
+
 \begin{equation}
   un_f = 2^{\mathrm{stdev}\left(un_\mathrm{ves}\right)}
   \label{eq:unsaturation_forward}
 \end{equation}
 
+\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, $x^{-\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 $x$ is
+60, resulting in the following equation:
+
+
 \begin{equation}
   ch_f = 60^{-\left<{ch}_v\right> {ch}_m}
   \label{eq:charge_forward}
@@ -125,21 +187,66 @@ 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, taking the absolute value to cancel out
+exactly mismatched curvatures, we come to an equation with the shape
+$x^{\mathrm{stdev}\left|\log cu_\mathrm{vesicle}\right|}$, and a
+convenient base for $x$ is 10, yielding:
+
+{\color{red} Shouldn't a vesicle of -1,1,0 have the same activation
+  energy as a vesicle of 0,0,0? It doesn't currently.}
+
+
 \begin{equation}
   cu_f = 10^{\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)))),
@@ -148,22 +255,52 @@ curve(10^x,from=0,to=max(c(sd(abs(log(c(0.8,1.33)))),
       xlab="Standard Deviation of Absolute value of the Log of the Curvature of Vesicle",
       ylab="Curvature Forward Adjustment")
 @ 
+<<fig=TRUE,echo=FALSE,results=hide,width=7,height=5>>=
+curve(to.kcal(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 (kcal/mol)")
+@ 
+
 
 \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}
@@ -173,7 +310,7 @@ curve(3^x,from=0,to=sd(c(12,24)),
 
 \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
@@ -195,6 +332,19 @@ 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}
@@ -216,11 +366,24 @@ 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}
 \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(\log_{e} cu_\mathrm{vesicle}-\log_{e} cu_\mathrm{monomer}\right)^2+1\right)^{-1}}
   \label{eq:curvature_backwards}
 \end{equation}
 
@@ -236,6 +399,19 @@ 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}
@@ -256,6 +432,19 @@ 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}
@@ -276,6 +465,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)
+@ 
+