]> git.donarmstrong.com Git - ool/lipid_simulation_formalism.git/blob - kinetic_formalism.Rnw
update kinetic formalism and add competion start
[ool/lipid_simulation_formalism.git] / kinetic_formalism.Rnw
1 \documentclass[english,12pt]{article}
2 \usepackage{fancyhdr}
3 %\usepackage[pdftex]{graphicx}
4 \usepackage{graphicx}
5 \usepackage[bf]{caption2}
6 \usepackage{rotating}
7 \usepackage{multirow}
8 \usepackage{textcomp}
9 \usepackage{mathrsfs}
10 \usepackage{amssymb}
11 \usepackage{setspace}
12 \usepackage{txfonts}
13 \usepackage[light,all]{draftcopy}
14 \usepackage{fancyref}
15 \usepackage[hyperfigures,backref,bookmarks,colorlinks]{hyperref}
16 \usepackage[sectionbib,sort&compress,square,numbers]{natbib}
17 \usepackage[margin,inline,draft]{fixme}
18 \usepackage[x11names,svgnames]{xcolor}
19 \usepackage{texshade}
20 \newenvironment{narrow}[2]{%
21   \begin{list}{}{%
22       \setlength{\topsep}{0pt}%
23       \setlength{\leftmargin}{#1}%
24       \setlength{\rightmargin}{#2}%
25       \setlength{\listparindent}{\parindent}%
26       \setlength{\itemindent}{\parindent}%
27       \setlength{\parsep}{\parskip}}%
28   \item[]}{\end{list}}
29 \newenvironment{paperquote}{%
30   \begin{quote}%
31      \it
32   }%
33   {\end{quote}}
34 \renewcommand{\textfraction}{0.15}
35 \renewcommand{\topfraction}{0.85}
36 \renewcommand{\bottomfraction}{0.65}
37 \renewcommand{\floatpagefraction}{0.60}
38 %\renewcommand{\baselinestretch}{1.8}
39 \newenvironment{enumerate*}%
40   {\begin{enumerate}%
41     \setlength{\itemsep}{0pt}%
42     \setlength{\parskip}{0pt}}%
43   {\end{enumerate}}
44 \newenvironment{itemize*}%
45   {\begin{itemize}%
46     \setlength{\itemsep}{0pt}%
47     \setlength{\parskip}{0pt}}%
48   {\end{itemize}}
49 \oddsidemargin 0.0in 
50 \textwidth 6.5in
51 \raggedbottom
52 \clubpenalty = 10000
53 \widowpenalty = 10000
54 \pagestyle{fancy}
55 \author{Don Armstrong}
56 \title{OOL Kinetic Formalisms}
57 %\date{}
58 \onehalfspacing
59 \begin{document}
60 %\maketitle
61
62 <<results=hide,echo=FALSE>>=
63 require(lattice)
64 require(grid)
65 # R in cal / mol K
66 to.kcal <- function(k,temp=300) {
67   gasconst <- 1.985
68   return(-gasconst*temp*log(k)/1000)
69 }
70
71
72 \section{State Equation}
73 % double check this with the bits in the paper
74
75 Given a base forward kinetic parameter for the $i$th specie $k_{fi}$
76 (which is dependent on lipid type, that is PC, PE, PS, etc.), an
77 adjustment parameter $k_{fi\mathrm{adj}}$ based on the vesicle and the
78 specific specie (length, unsaturation, etc.) (see~\fref{eq:kf_adj}),
79 the molar concentration of monomer of the $i$th specie
80 $\left[C_{i_\mathrm{monomer}}\right]$, the surface area of the vesicle
81 $S_\mathrm{ves}$, the base backwards kinetic parameter for the $i$th
82 specie $k_{bi}$ which is also dependent on lipid type, its adjustment
83 parameter $k_{bi\mathrm{adj}}$ (see~\fref{eq:kb_adj}), and the molar
84 concentration of the $i$th specie in the vesicle
85 $\left[C_{i_\mathrm{ves}}\right]$, the change in concentration of the
86 $i$th specie in the vesicle per change in time $\frac{d
87   C_{i_\mathrm{ves}}}{dt}$ can be calculated:
88
89 \begin{equation}
90   \frac{d C_{i_\mathrm{ves}}}{dt} = k_{fi}k_{fi\mathrm{adj}}\left[C_{i_\mathrm{monomer}}\right]S_\mathrm{ves} -
91   k_{bi}k_{bi\mathrm{adj}}C_{i_\mathrm{ves}}
92   \label{eq:state}
93 \end{equation}
94
95 For $k_{fi}k_{fi\mathrm{adj}}\left[C_{i_\mathrm{monomer}}\right]$,
96 $k_{fi}$ has units of $\frac{\mathrm{m}}{\mathrm{s}}$,
97 $k_{fi\mathrm{adj}}$ and $k_{bi\mathrm{adj}}$ are unitless,
98 concentration is in units of $\frac{\mathrm{n}}{\mathrm{L}}$, surface
99 area is in units of $\mathrm{m}^2$, $k_{bi}$ has units of
100 $\frac{1}{\mathrm{s}}$ and $C_{i_\mathrm{ves}}$ has units of
101 $\mathrm{n}$, Thus, we have
102
103 \begin{equation}
104   \frac{\mathrm{n}}{\mathrm{s}} = \frac{\mathrm{m}}{\mathrm{s}} \frac{\mathrm{n}}{\mathrm{L}} \mathrm{m}^2 \frac{1000\mathrm{L}}{\mathrm{m}^3} - 
105   \frac{1}{\mathrm{s}} \mathrm{n}
106   =
107   \frac{\mathrm{m^3}}{\mathrm{s}} \frac{\mathrm{n}}{\mathrm{L}} \frac{1000\mathrm{L}}{\mathrm{m}^3} - \frac{\mathrm{n}}{\mathrm{s}}=
108   \frac{\mathrm{n}}{\mathrm{s}} = 1000 \frac{\mathrm{n}}{\mathrm{s}} - \frac{\mathrm{n}}{\mathrm{s}}
109   \label{eq:state_units}
110 \end{equation}
111
112 The 1000 isn't in \fref{eq:state} above, because it is unit-dependent.
113
114 \subsection{Forward adjustments ($k_{fi\mathrm{adj}}$)}
115 \label{sec:forward_adj}
116
117 The forward rate constant adjustment, $k_{fi\mathrm{adj}}$ takes into
118 account unsaturation ($un_f$), charge ($ch_f$), curvature ($cu_f$),
119 length ($l_f$), and complex formation ($CF1_f$), each of which are
120 modified depending on the specific specie and the vesicle into which
121 the specie is entering.
122
123 \begin{equation}
124   k_{fi\mathrm{adj}} = un_f \cdot ch_f \cdot cu_f \cdot l_f \cdot CF1_f
125   \label{eq:kf_adj}
126 \end{equation}
127
128 \newpage
129 \subsubsection{Unsaturation Forward}
130
131 In order for a lipid to be inserted into a membrane, a void has to be
132 formed for it to fill. Voids can be generated by the combination of
133 unsaturated and saturated lipids forming herterogeneous domains. Void
134 formation is increased when the unsaturation of lipids in the vesicle
135 is widely distributed; in other words, the insertion of lipids into
136 the membrane is greater when the standard deviation of the
137 unsaturation is larger. Assuming that an increase in width of the
138 distribution linearly decreases the free energy of activation, the
139 $un_f$ parameter must follow
140 $a^{\mathrm{stdev}\left(un_\mathrm{ves}\right)}$ where $a > 1$, so a
141 convenient starting base for $a$ is $2$:
142
143 \begin{equation}
144   un_f = 2^{\mathrm{stdev}\left(un_\mathrm{ves}\right)}
145   \label{eq:unsaturation_forward}
146 \end{equation}
147
148 The most common $\mathrm{stdev}\left(un_\mathrm{ves}\right)$ is around
149 $1.5$, which leads to a $\Delta \Delta G^\ddagger$ of
150 $\Sexpr{format(digits=3,to.kcal(2^1.5))}
151 \frac{\mathrm{kcal}}{\mathrm{mol}}$.
152
153 It is not clear that the unsaturation of the inserted monomer will
154 affect the rate of the insertion positively or negatively, so we do
155 not include a term for it in this formalism.
156
157
158 \setkeys{Gin}{width=3.2in}
159 <<fig=TRUE,echo=FALSE,results=hide,width=5,height=5>>=
160 curve(2^x,from=0,to=sd(c(0,4)),
161       main="Unsaturation Forward",
162       xlab="Standard Deviation of Unsaturation of Vesicle",
163       ylab="Unsaturation Forward Adjustment")
164
165 <<fig=TRUE,echo=FALSE,results=hide,width=5,height=5>>=
166 curve(to.kcal(2^x),from=0,to=sd(c(0,4)),
167       main="Unsaturation forward",
168       xlab="Standard Deviation of Unsaturation of Vesicle",
169       ylab="Unsaturation Forward (kcal/mol)")
170
171
172
173 \newpage
174 \subsubsection{Charge Forward}
175
176 A charged lipid such as PS approaching a vesicle with an average
177 charge of the same sign will experience repulsion, whereas those with
178 different signs will experience attraction, the degree of which is
179 dependent upon the charge of the monomer and the average charge of the
180 vesicle. If either the vesicle or the monomer has no charge, there
181 should be no effect of charge upon the rate. This leads us to the
182 following equation, $a^{-\left<ch_v\right> ch_m}$, where
183 $\left<ch_v\right>$ is the average charge of the vesicle, and $ch_m$
184 is the charge of the monomer. If either $\left<ch_v\right>$ or $ch_m$
185 is 0, the adjustment parameter is 1 (no change), whereas it decreases
186 if both are positive or negative, as the product of two real numbers
187 with the same sign is always positive. A convenient base for $a$ is
188 60, resulting in the following equation:
189
190
191 \begin{equation}
192   ch_f = 60^{-\left<{ch}_v\right> {ch}_m}
193   \label{eq:charge_forward}
194 \end{equation}
195
196 The most common $\left<{ch}_v\right>$ is around $-0.165$, which leads to
197 a range of $\Delta \Delta G^\ddagger$ from
198 $\Sexpr{format(digits=3,to.kcal(60^(-.165*-1)))}
199 \frac{\mathrm{kcal}}{\mathrm{mol}}$ to $0\frac{\mathrm{kcal}}{\mathrm{mol}}$.
200
201 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
202 x <- seq(-1,0,length.out=20)
203 y <- seq(-1,0,length.out=20)
204 grid <- expand.grid(x=x,y=y)
205 grid$z <- as.vector(60^(-outer(x,y)))
206 print(wireframe(z~x*y,grid,cuts=50,
207                 drape=TRUE,
208                 scales=list(arrows=FALSE),
209                 main="Charge Forward",
210                 xlab=list("Average Vesicle Charge",rot=30),
211                 ylab=list("Component Charge",rot=-35),
212                 zlab=list("Charge Forward",rot=93)))
213 rm(x,y,grid)
214
215 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
216 x <- seq(-1,0,length.out=20)
217 y <- seq(-1,0,length.out=20)
218 grid <- expand.grid(x=x,y=y)
219 grid$z <- as.vector(to.kcal(60^(-outer(x,y))))
220 print(wireframe(z~x*y,grid,cuts=50,
221                 drape=TRUE,
222                 scales=list(arrows=FALSE),
223                 main="Charge Forward (kcal/mol)",
224                 xlab=list("Average Vesicle Charge",rot=30),
225                 ylab=list("Component Charge",rot=-35),
226                 zlab=list("Charge Forward (kcal/mol)",rot=93)))
227 rm(x,y,grid)
228
229
230
231 \newpage
232 \subsubsection{Curvature Forward}
233
234 Curvature is a measure of the intrinsic propensity of specific lipids
235 to form micelles (positive curvature), inverted micelles (negative
236 curvature), or planar sheets (zero curvature). In this formalism,
237 curvature is measured as the ratio of the size of the head to that of
238 the base, so negative curvature is bounded by $(0,1)$, zero curvature
239 is 1, and positive curvature is bounded by $(1,\infty)$. The curvature
240 can be transformed into the typical postive/negative mapping using
241 $\log$, which has the additional property of making the range of
242 positive and negative curvature equal, and distributed about 0.
243
244 As in the case of unsaturation, void formation is increased by the
245 presence of lipids with mismatched curvature. Thus, a larger
246 distribution of curvature in the vesicle increases the rate of lipid
247 insertion into the vesicle. However, a species with curvature $e^{-1}$
248 will cancel out a species with curvature $e$, so we have to log
249 transform (turning these into -1 and 1), then take the absolute value
250 (1 and 1), and finally measure the width of the distribution. Thus, by
251 using the log transform to make the range of the lipid curvature equal
252 between positive and negative, and taking the average to cancel out
253 exactly mismatched curvatures, we come to an equation with the shape
254 $a^{\left<\log cu_\mathrm{vesicle}\right>}$. A convenient base for $a$
255 is $10$, yielding:
256
257
258 \begin{equation}
259  % cu_f = 10^{\mathrm{stdev}\left|\log cu_\mathrm{vesicle}\right|}
260   cu_f = 10^{\left|\left<\log cu_\mathrm{vesicle} \right>\right|\mathrm{stdev} \left|\log cu_\mathrm{vesicle}\right|}
261   \label{eq:curvature_forward}
262 \end{equation}
263
264 The most common $\left|\left<\log {cu}_v\right>\right|$ is around
265 $0.013$, which with the most common $\mathrm{stdev} \log
266 cu_\mathrm{vesicle}$ of $0.213$ leads to a $\Delta \Delta G^\ddagger$
267 of $\Sexpr{format(digits=3,to.kcal(10^(0.13*0.213)))}
268 \frac{\mathrm{kcal}}{\mathrm{mol}}$. This is a consequence of the
269 relatively matched curvatures in our environment.
270
271 % 1.5 to 0.75 3 to 0.33
272 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
273 grid <- expand.grid(x=seq(0,max(c(sd(abs(log(c(1,3)))),
274                       sd(abs(log(c(1,0.33)))),sd(abs(log(c(0.33,3)))))),length.out=20),
275                     y=seq(0,max(c(mean(log(c(1,3)),
276                       mean(log(c(1,0.33))),
277                       mean(log(c(0.33,3)))))),length.out=20))
278 grid$z <- 10^(grid$x*grid$y)
279 print(wireframe(z~x*y,grid,cuts=50,
280           drape=TRUE,
281           scales=list(arrows=FALSE),
282           xlab=list("Vesicle stdev log curvature",rot=30),
283           ylab=list("Vesicle average log curvature",rot=-35),
284           zlab=list("Vesicle Curvature Forward",rot=93)))
285 rm(grid)
286
287 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
288 grid <- expand.grid(x=seq(0,max(c(sd(abs(log(c(1,3)))),
289                       sd(abs(log(c(1,0.33)))),sd(abs(log(c(0.33,3)))))),length.out=20),
290                     y=seq(0,max(c(mean(log(c(1,3)),
291                       mean(log(c(1,0.33))),
292                       mean(log(c(0.33,3)))))),length.out=20))
293 grid$z <- to.kcal(10^(grid$x*grid$y))
294 print(wireframe(z~x*y,grid,cuts=50,
295           drape=TRUE,
296           scales=list(arrows=FALSE),
297           xlab=list("Vesicle stdev log curvature",rot=30),
298           ylab=list("Vesicle average log curvature",rot=-35),
299           zlab=list("Vesicle Curvature Forward (kcal/mol)",rot=93)))
300 rm(grid)
301
302
303 \newpage
304 \subsubsection{Length Forward}
305
306 As in the case of unsaturation, void formation is easier when vesicles
307 are made up of components of widely different lengths. Thus, when the
308 width of the distribution of lengths is larger, the forward rate
309 should be greater as well, leading us to an equation of the form
310 $x^{\mathrm{stdev} l_\mathrm{ves}}$, where $\mathrm{stdev}
311 l_\mathrm{ves}$ is the standard deviation of the length of the
312 components of the vesicle, which has a maximum possible value of 8 and
313 a minimum of 0 in this set of experiments. A convenient base for $x$
314 is 2, leading to:
315
316 \begin{equation}
317   l_f = 2^{\mathrm{stdev} l_\mathrm{ves}}
318   \label{eq:length_forward}
319 \end{equation}
320
321 The most common $\mathrm{stdev} l_\mathrm{ves}$ is around $3.4$, which leads to
322 a range of $\Delta \Delta G^\ddagger$ of
323 $\Sexpr{format(digits=3,to.kcal(2^(3.4)))}
324 \frac{\mathrm{kcal}}{\mathrm{mol}}$.
325
326 While it could be argued that increased length of the monomer could
327 affect the rate of insertion into the membrane, it's not clear whether
328 it would increase (by decreasing the number of available hydrogen
329 bonds, for example) or decrease (by increasing the time taken to fully
330 insert the acyl chain, for example) the rate of insertion or to what
331 degree, so we do not take it into account in this formalism.
332
333
334 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=5>>=
335 curve(2^x,from=0,to=sd(c(12,24)),
336       main="Length forward",
337       xlab="Standard Deviation of Length of Vesicle",
338       ylab="Length Forward Adjustment")
339
340 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=5>>=
341 curve(to.kcal(2^x),from=0,to=sd(c(12,24)),
342       main="Length forward",
343       xlab="Standard Deviation of Length of Vesicle",
344       ylab="Length Forward Adjustment (kcal/mol)")
345
346
347
348 \subsubsection{Complex Formation}
349 There is no contribution of complex formation to the forward reaction
350 rate in the current formalism.
351
352 \begin{equation}
353   CF1_f=1
354   \label{eq:complex_formation_forward}
355 \end{equation}
356
357 \subsection{Backward adjustments ($k_{bi\mathrm{adj}}$)}
358
359 Just as the forward rate constant adjustment $k_{fi\mathrm{adj}}$
360 does, the backwards rate constant adjustment $k_{bi\mathrm{adj}}$
361 takes into account unsaturation ($un_b$), charge ($ch_b$), curvature
362 ($cu_b$), length ($l_b$), and complex formation ($CF1_b$), each of
363 which are modified depending on the specific specie and the vesicle
364 into which the specie is entering:
365
366
367 \begin{equation}
368   k_{bi\mathrm{adj}} = un_b \cdot ch_b \cdot cu_b \cdot l_b \cdot CF1_b
369   \label{eq:kb_adj}
370 \end{equation}
371
372 \subsubsection{Unsaturation Backward}
373
374 Unsaturation also influences the ability of a lipid molecule to leave
375 a membrane. If a molecule has an unsaturation level which is different
376 from the surrounding membrane, it will be more likely to leave the
377 membrane. The more different the unsaturation level is, the greater
378 the propensity for the lipid molecule to leave. However, a vesicle
379 with some unsaturation is more favorable for lipids with more
380 unsaturation than the equivalent amount of less unsatuturation, so the
381 difference in energy between unsaturation is not linear. Therefore, an
382 equation with the shape
383 $x^{\left| y^{-\left< un_\mathrm{ves}\right> }-y^{-un_\mathrm{monomer}} \right| }$
384 where $\left<un_\mathrm{ves}\right>$ is the average unsaturation of
385 the vesicle, and $un_\mathrm{monomer}$ is the average unsaturation. In
386 this equation, as the average unsaturation of the vesicle is larger,
387
388 \begin{equation}
389   un_b = 7^{1-\left(20\left(2^{-\left<un_\mathrm{vesicle} \right>} - 2^{-un_\mathrm{monomer}} \right)^2+1\right)^{-1}}
390   \label{eq:unsaturation_backward}
391 \end{equation}
392
393 The most common $\left<un_\mathrm{ves}\right>$ is around $1.7$, which leads to
394 a range of $\Delta \Delta G^\ddagger$ from
395 $\Sexpr{format(digits=3,to.kcal(7^(1-1/(5*(2^-1.7-2^-0)^2+1))))}
396 \frac{\mathrm{kcal}}{\mathrm{mol}}$ for monomers with 0 unsaturation
397 to
398 $\Sexpr{format(digits=3,to.kcal(7^(1-1/(5*(2^-1.7-2^-4)^2+1))))}\frac{\mathrm{kcal}}{\mathrm{mol}}$
399 for monomers with 4 unsaturations.
400
401
402 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
403 grid <- expand.grid(x=seq(0,4,length.out=20),
404                     y=seq(0,4,length.out=20))
405 grid$z <- (7^(1-1/(5*(2^-grid$x-2^-grid$y)^2+1)))
406 print(wireframe(z~x*y,grid,cuts=50,
407           drape=TRUE,
408           scales=list(arrows=FALSE),
409           xlab=list("Average Vesicle Unsaturation",rot=30),
410           ylab=list("Monomer Unsaturation",rot=-35),
411           zlab=list("Unsaturation Backward",rot=93)))
412 rm(grid)
413
414 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
415 grid <- expand.grid(x=seq(0,4,length.out=20),
416                     y=seq(0,4,length.out=20))
417 grid$z <- to.kcal((7^(1-1/(5*(2^-grid$x-2^-grid$y)^2+1))))
418 print(wireframe(z~x*y,grid,cuts=50,
419           drape=TRUE,
420           scales=list(arrows=FALSE),
421           xlab=list("Average Vesicle Unsaturation",rot=30),
422           ylab=list("Monomer Unsaturation",rot=-35),
423           zlab=list("Unsaturation Backward (kcal/mol)",rot=93)))
424 rm(grid)
425
426
427
428
429 \newpage
430 \subsubsection{Charge Backwards}
431 As in the case of monomers entering a vesicle, monomers leaving a
432 vesicle leave faster if their charge has the same sign as the average
433 charge vesicle. An equation of the form $ch_b = a^{\left<ch_v\right>
434   ch_m}$ is then appropriate, and using a base of $a=20$ yields:
435
436 \begin{equation}
437   ch_b = 20^{\left<{ch}_v\right> {ch}_m}
438   \label{eq:charge_backwards}
439 \end{equation}
440
441 The most common $\left<ch_v\right>$ is around $-0.164$, which leads to
442 a range of $\Delta \Delta G^\ddagger$ from
443 $\Sexpr{format(digits=3,to.kcal(20^(-.164*-1)))}
444 \frac{\mathrm{kcal}}{\mathrm{mol}}$ for monomers with charge $-1$ to
445 $0\frac{\mathrm{kcal}}{\mathrm{mol}}$
446 for monomers with charge $0$.
447
448
449 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
450 x <- seq(-1,0,length.out=20)
451 y <- seq(-1,0,length.out=20)
452 grid <- expand.grid(x=x,y=y)
453 grid$z <- as.vector(20^(outer(x,y)))
454 print(wireframe(z~x*y,grid,cuts=50,
455           drape=TRUE,
456           scales=list(arrows=FALSE),
457           xlab=list("Average Vesicle Charge",rot=30),
458           ylab=list("Component Charge",rot=-35),
459           zlab=list("Charge Backwards",rot=93)))
460 rm(x,y,grid)
461
462 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
463 x <- seq(-1,0,length.out=20)
464 y <- seq(-1,0,length.out=20)
465 grid <- expand.grid(x=x,y=y)
466 grid$z <- to.kcal(as.vector(20^(outer(x,y))))
467 print(wireframe(z~x*y,grid,cuts=50,
468           drape=TRUE,
469           scales=list(arrows=FALSE),
470           xlab=list("Average Vesicle Charge",rot=30),
471           ylab=list("Component Charge",rot=-35),
472           zlab=list("Charge Backwards (kcal/mol)",rot=93)))
473 rm(x,y,grid)
474
475
476 \newpage
477 \subsubsection{Curvature Backwards}
478
479 The less a monomer's intrinsic curvature matches the average curvature
480 of the vesicle in which it is in, the greater its rate of efflux. If
481 the difference is 0, $cu_f$ needs to be one. To map negative and
482 positive curvature to the same range, we also need take the logarithm.
483 Increasing mismatches in curvature increase the rate of efflux, but
484 asymptotically.  An equation which satisfies this critera has the
485 form $cu_f = a^{1-\left(b\left( \left< \log cu_\mathrm{vesicle} \right>
486       -\log cu_\mathrm{monomer}\right)^2+1\right)^{-1}}$. An
487 alternative form would use the aboslute value of the difference,
488 however, this yields a cusp and sharp increase about the curvature
489 equilibrium, which is decidedly non-elegant. We have chosen bases of
490 $a=7$ and $b=20$.
491
492 \begin{equation}
493   cu_b = 7^{1-\left(20\left(\left< \log cu_\mathrm{vesicle} \right> -\log cu_\mathrm{monomer} \right)^2+1\right)^{-1}}
494   \label{eq:curvature_backwards}
495 \end{equation}
496
497 The most common $\left<\log cu_\mathrm{ves}\right>$ is around $-0.013$, which leads to
498 a range of $\Delta \Delta G^\ddagger$ from
499 $\Sexpr{format(digits=3,to.kcal(7^(1-1/(20*(-0.013-log(0.8))^2+1))))}
500 \frac{\mathrm{kcal}}{\mathrm{mol}}$ for monomers with curvature 0.8
501 to
502 $\Sexpr{format(digits=3,to.kcal(7^(1-1/(20*(-0.013-log(1.3))^2+1))))}\frac{\mathrm{kcal}}{\mathrm{mol}}$
503 for monomers with curvature 1.3 to $0\frac{\mathrm{kcal}}{\mathrm{mol}}$ for monomers with curvature near 1.
504
505
506 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
507 grid <- expand.grid(x=seq(0.8,1.33,length.out=20),
508                     y=seq(0.8,1.33,length.out=20))
509 grid$z <- 7^(1-1/(20*(log(grid$x)-log(grid$y))^2+1))
510 print(wireframe(z~x*y,grid,cuts=50,
511           drape=TRUE,
512           scales=list(arrows=FALSE),
513           xlab=list("Vesicle Curvature",rot=30),
514           ylab=list("Monomer Curvature",rot=-35),
515           zlab=list("Curvature Backward",rot=93)))
516 rm(grid)
517
518 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
519 grid <- expand.grid(x=seq(0.8,1.33,length.out=20),
520                     y=seq(0.8,1.33,length.out=20))
521 grid$z <- to.kcal(7^(1-1/(20*(log(grid$x)-log(grid$y))^2+1)))
522 print(wireframe(z~x*y,grid,cuts=50,
523           drape=TRUE,
524           scales=list(arrows=FALSE),
525           xlab=list("Vesicle Curvature",rot=30),
526           ylab=list("Monomer Curvature",rot=-35),
527           zlab=list("Curvature Backward (kcal/mol)",rot=93)))
528 rm(grid)
529
530
531 \newpage
532 \subsubsection{Length Backwards}
533
534 In a model membrane, the dissociation constant increases by a factor
535 of approximately 3.2 per carbon decrease in acyl chain length (Nichols
536 1985). Unfortunatly, the experimental data known to us only measures
537 chain length less than or equal to the bulk lipid, and does not exceed
538 it, and is only known for one bulk lipid species (DOPC). We assume
539 then, that the increase is in relationship to the average vesicle, and
540 that lipids with larger acyl chain length will also show an increase
541 in their dissociation constant.
542
543 \begin{equation}
544   l_b = 3.2^{\left|\left<l_\mathrm{ves}\right>-l_\mathrm{monomer}\right|}
545   \label{eq:length_backward}
546 \end{equation}
547
548 The most common $\left<\log l_\mathrm{ves}\right>$ is around $17.75$, which leads to
549 a range of $\Delta \Delta G^\ddagger$ from
550 $\Sexpr{format(digits=3,to.kcal(3.2^abs(12-17.75)))}
551 \frac{\mathrm{kcal}}{\mathrm{mol}}$ for monomers with length 12
552 to
553 $\Sexpr{format(digits=3,to.kcal(3.2^abs(24-17.75)))}\frac{\mathrm{kcal}}{\mathrm{mol}}$
554 for monomers with length 24 to $0\frac{\mathrm{kcal}}{\mathrm{mol}}$ for monomers with curvature near 18.
555
556
557 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
558 grid <- expand.grid(x=seq(12,24,length.out=20),
559                     y=seq(12,24,length.out=20))
560 grid$z <- 3.2^(abs(grid$x-grid$y))
561 print(wireframe(z~x*y,grid,cuts=50,
562           drape=TRUE,
563           scales=list(arrows=FALSE),
564           xlab=list("Average Vesicle Length",rot=30),
565           ylab=list("Monomer Length",rot=-35),
566           zlab=list("Length Backward",rot=93)))
567 rm(grid)
568
569 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
570 grid <- expand.grid(x=seq(12,24,length.out=20),
571                     y=seq(12,24,length.out=20))
572 grid$z <- to.kcal(3.2^(abs(grid$x-grid$y)))
573 print(wireframe(z~x*y,grid,cuts=50,
574           drape=TRUE,
575           scales=list(arrows=FALSE),
576           xlab=list("Average Vesicle Length",rot=30),
577           ylab=list("Monomer Length",rot=-35),
578           zlab=list("Length Backward (kcal/mol)",rot=93)))
579 rm(grid)
580
581
582
583 \newpage
584 \subsubsection{Complex Formation Backward}
585
586 Complex formation describes the interaction between CHOL and PC or SM,
587 where PC or SM protects the hydroxyl group of CHOL from interactions
588 with water, the ``Umbrella Model''. PC ($CF1=2$) can interact with two
589 CHOL, and SM ($CF1=3$) with three CHOL ($CF1=-1$). If the average of
590 $CF1$ is positive (excess of SM and PC with regards to complex
591 formation), species with negative $CF1$ (CHOL) will be retained. If
592 average $CF1$ is negative, species with positive $CF1$ are retained.
593 An equation which has this property is
594 $CF1_b=a^{\left<CF1_\mathrm{ves}\right>
595   CF1_\mathrm{monomer}-\left|\left<CF1_\mathrm{ves}\right>
596     CF1_\mathrm{monomer}\right|}$, where difference of the exponent is
597 zero if the average $CF1$ and the $CF1$ of the specie have the same
598 sign, or double the product if the signs are different. A convenient
599 base for $a$ is $1.5$.
600
601
602 \begin{equation}
603   CF1_b=1.5^{\left<CF1_\mathrm{ves}\right> CF1_\mathrm{monomer}-\left|\left<CF1_\mathrm{ves}\right> CF1_\mathrm{monomer}\right|}
604   \label{eq:complex_formation_backward}
605 \end{equation}
606
607 The most common $\left<CF1_\mathrm{ves}\right>$ is around $0.925$,
608 which leads to a range of $\Delta \Delta G^\ddagger$ from
609 $\Sexpr{format(digits=3,to.kcal(1.5^(0.925*-1-abs(0.925*-1))))}
610 \frac{\mathrm{kcal}}{\mathrm{mol}}$ for monomers with complex
611 formation $-1$ to
612 $\Sexpr{format(digits=3,to.kcal(1.5^(0.925*2-abs(0.925*2))))}\frac{\mathrm{kcal}}{\mathrm{mol}}$
613 for monomers with complex formation $2$ to
614 $0\frac{\mathrm{kcal}}{\mathrm{mol}}$ for monomers with complex
615 formation $0$.
616
617
618 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
619 grid <- expand.grid(x=seq(-1,3,length.out=20),
620                     y=seq(-1,3,length.out=20))
621 grid$z <- 1.5^(grid$x*grid$y-abs(grid$x*grid$y))
622 print(wireframe(z~x*y,grid,cuts=50,
623           drape=TRUE,
624           scales=list(arrows=FALSE),
625           xlab=list("Vesicle Complex Formation",rot=30),
626           ylab=list("Monomer Complex Formation",rot=-35),
627           zlab=list("Complex Formation Backward",rot=93)))
628 rm(grid)
629
630 <<fig=TRUE,echo=FALSE,results=hide,width=7,height=7>>=
631 grid <- expand.grid(x=seq(-1,3,length.out=20),
632                     y=seq(-1,3,length.out=20))
633 grid$z <- to.kcal(1.5^(grid$x*grid$y-abs(grid$x*grid$y)))
634 print(wireframe(z~x*y,grid,cuts=50,
635           drape=TRUE,
636           scales=list(arrows=FALSE),
637           xlab=list("Vesicle Complex Formation",rot=30),
638           ylab=list("Monomer Complex Formation",rot=-35),
639           zlab=list("Complex Formation Backward (kcal/mol)",rot=93)))
640 rm(grid)
641
642
643
644
645 \subsection{Per-Lipid Kinetic Parameters}
646
647 Each of the 5 lipid types have different kinetic parameters; to the
648 greatest extent possible, we have derived these from literature.
649
650 \begin{table}
651   \centering
652   \begin{tabular}{c c c c c c c}
653     Type & $k_f$ & $k_b$ & Area (\r{A}$^2$) & Charge & CF1 & Curvature \\
654     \hline
655     PC   & $3.7\cdot 10^6$ & $2\cdot 10^{-5}$   & 63 & 0  & 2  & 0.8  \\
656     PS   & $3.7\cdot 10^6$ & $1.5\cdot 10^{-5}$ & 54 & -1 & 0  & 1    \\
657     CHOL & $5.1\cdot 10^7$ & $2.8\cdot 10^{-4}$ & 38 & 0  & -1 & 1.21 \\
658     SM   & $3.7\cdot 10^6$ & $3.1\cdot 10^{-3}$ & 51 & 0  & 3  & 0.8  \\
659     PE   & $2.3\cdot 10^6$ & $10^{-5}$          & 55 & 0  & 0  & 1.33 \\
660   \end{tabular}
661   \caption{Kinetic parameters of lipid types}
662   \label{tab:kinetic_parameters_lipid_types}
663 \end{table}
664
665 \subsubsection{$k_f$ for lipid types}
666 For PC, $k_f$ was measured by Nichols85 to be $3.7\cdot 10^6
667 \frac{1}{\mathrm{M}\cdot \mathrm{s}}$ by the partitioning of
668 P-C$_6$-NBD-PC between DOPC vesicles and water. The method utilized by
669 Nichols85 has the weakness of using NBD-PC, with associated label
670 perturbations. As similar measures do not exist for SM or PS, we
671 assume that they have the same $k_f$. For CHOL, Estronca07 found a
672 value for $k_f$ of $5.1\cdot 10^7 \frac{1}{\mathrm{M}\cdot
673   \mathrm{s}}$. For PE, Abreu04 found a value for $k_f$ of $2.3\cdot
674 10^6$. \fixme{I'm missing the notes on these last two papers, so this
675   isn't correct yet.}
676
677 \subsubsection{$k_b$ for lipid types}
678
679 $k_b$ for PC was measured by Wimley90 using a radioactive label and
680 large unilammelar vesicles at 30\textdegree C. The other values were
681 calculated from the experiments of Nichols82 where the ratio of $k_b$
682 of different types was measured to that of PC.
683 See~\fref{tab:kinetic_parameters_lipid_types}.
684
685 assigned accordingly. kb(PS) was assumed to be the same as kb(PG) given
686 by Nichols82 (also ratio from kb(PC)).
687 kb(SM) is taken from kb(PC) of Wimley90 (radioactive), and then a ratio of
688 kb(PC)/kb(SM) taken from Bai97: = 34/2.2 = 15.45; 2.0 x 10-4 x 15.45 = 3.1 x
689 10-3 s -1.
690 kb(CHOL) taken from Jones90 (radioactive; POPC LUV; 37°).
691
692
693 \subsubsection{Area for lipid types}
694
695
696 \section{Simulation Methodology}
697
698 \subsection{Overall Architecture}
699
700 The simulation is currently run by single program written in perl
701 using various different modules to handle the subsidiary parts. It
702 produces output for each generation, including the step immediately
703 preceeding and immediately following a vesicle split (and optionally,
704 each step) that is written to a state file which contains the state of
705 the vesicle, environment, kinetic parameters, program invocation
706 options, time, and various other parameters necessary to recreate the
707 state vector at a given time. This output file is then read by a
708 separate program in perl to produce different output which is
709 generated out-of-band; output which includes graphs and statistical
710 analysis is performed using R (and various grid graphics modules)
711 called from the perl program.
712
713 The separation of simulation and output generation allows refining
714 output, and simulations performed on different versions of the
715 underlying code to be compared using the same analysis methods and
716 code. It also allows later simulations to be restarted from a specific
717 generation, utilizing the same environment.
718
719 Random variables of different distributions are calculated using
720 Math::Random, which is seeded for each run using entropy from the
721 linux kernel's urandom device.
722
723 \subsection{Environment Creation}
724
725 \subsubsection{Components}
726 The environment contains different concentrations of different
727 components. In the current set of simulations, there are
728 \Sexpr{1+4*5*7} different components, consisting of PC, PE, PS, SM,
729 and CHOL, with all lipids except for CHOL having 5 possible
730 unsaturations rangiong from 0 to 4, and 7 lengths from $12,14,...,22$
731 ($7\cdot 5\cdot4+1=\Sexpr{1+4*5*7}$). In cases where the environment
732 has less than the maximum number of components, the components are
733 selected in order without replacement from a randomly shuffled deck of
734 component (with the exception of CHOL) represented once until the
735 desired number of unique components are obtained. CHOL is over
736 representated $\Sexpr{5*7}$ times to be at the level of other lipid
737 types, ensures that the probability of CHOL being asbent in the
738 environment is the same as the probability of one of the other lipid
739 types (PS, PE, etc.) being entirely absent. This reduces the number of
740 simulations with a small number of components which are entirely
741 devoid of CHOL.
742
743 \subsubsection{Concentration}
744 Once the components of the environment have been selected, the
745 concentration of thoes components is determined. In experiments where
746 the environmental concentration is the same across all lipid
747 components, the concentration is set to $10^{-10}\mathrm{M}$. In other
748 cases, the environmental concentration is set to a random number from
749 a gamma distribution with shape parameter 2 and an average of
750 $10^{-10}\mathrm{M}$. The base concentration ($10^{-10}\mathrm{M}$)
751 can also be altered in the initialization of the experiment to
752 specific values for specific lipid types or components.
753
754 \subsection{Initial Vesicle Creation}
755
756 Initial vesicles are seeded by selecting lipid molecules from the
757 environment until the vesicle reaches a specific starting size. The
758 vesicle starting size has gamma distribution with shape parameter 2
759 and a mean of the experimentally specified starting size, with a
760 minimum of 5 lipid molecules. Lipid molecules are then selected to be
761 added to the lipid membrane according to four different methods. In
762 the constant method, molecules are added in direct proportion to their
763 concentration in the environment. The uniform method adds molecules in
764 proportion to their concentration in the environment scaled by a
765 uniform random value, whereas the random method adds molecules in
766 proportion to a uniform random value. The final method is a binomial
767 method, which adjust the porbability of adding a molecule of a
768 specific component by the concentration of that component, and then
769 adds the molecules one by one to the membrane. This final method is
770 also used in the first three methods to add any missing molecules to
771 the starting vesicle which were unallocated due to the requirement to
772 add integer numbers of molecules.
773
774 \subsection{Simulation Step}
775
776 Once the environment has been created and the initial vesicle has been
777 formed, molecules join and leave the vesicle based on the kinetic
778 parameters and state equation discussed until the vesicle splits
779 forming two daughter vesicles, one of which the program continues to
780 follow.
781
782 \subsubsection{Calculation of Vesicle Properties}
783
784 \label{sec:ves_prop}
785 $S_\mathrm{ves}$ is the surface area of the vesicle, and is the sum of
786 the surface area of all of the individual lipid components; each lipid
787 type has a different surface area; we na\"ively assume that the lipid
788 packing is optimal, and there is no empty space.
789
790 \subsubsection{Joining and Leaving of Lipid Molecules}
791
792 Determining the number of molecules to add to the lipid membrane
793 ($n_i$) requires knowing $k_{fi\mathrm{adj}}$, the surface area of the
794 vesicle $S_\mathrm{ves}$ (see~\fref{sec:ves_prop}), the time interval
795 $dt$ during which lipids are added, the base $k_{fi}$, and the
796 concentration of the monomer in the environment
797 $\left[C_{i\mathrm{ves}}\right]$ (see~\fref{eq:state}).
798 $k_{fi\mathrm{adj}}$ is calculated (see~\fref{eq:kf_adj}) based on the
799 vesicle properties and their hypothesized effect on the rate (in as
800 many cases as possible, experimentally based)
801 (see~\fref{sec:forward_adj} for details). $dt$ can be varied
802 (see~\fref{sec:step_duration}), but for a given step is constant. This
803 leads to the following:
804
805 $n_i = k_{fi}k_{fi\mathrm{adj}}\left[C_{i_\mathrm{monomer}}\right]S_\mathrm{ves}\mathrm{N_A}dt$
806
807 In the cases where $n_i > 1$, the integer number of molecules is
808 added. Fractional $n_i$ or the fractional remainder after the addition
809 of the integer molecules are the probability of adding a specific
810 molecule, and are compared to a uniformly distributed random value
811 between 0 and 1. If the random value is less than or equal to the
812 fractional part of $n_i$, an additional molecule is added.
813
814 Molecules leaving the vesicle are handled in a similar manner, with 
815
816 $n_i = k_{bi}k_{bi\mathrm{adj}}C_{i_\mathrm{ves}}\mathrm{N_A}dt$.
817
818 While programatically, the molecule removal happens after the
819 addition, the properties that each operates on are the same, so they
820 can be considered to have been added and removed at the same instant.
821 [This also avoids cases where a removal would have resulted in
822 negative molecules for a particular type, which is obviously
823 disallowed.]
824
825 \subsubsection{Step duration}
826 \label{sec:step_duration}
827
828 $dt$ is the time taken for each step of joining, leaving, and checking
829 split. In the current implementation, it starts with a value of
830 $10^{-6}\mathrm{s}$ but this is modified in between each step if the
831 number of molecules joining or leaving is too large or small. If more
832 than half of the starting vesicle size molecules join or leave in a
833 single step, $dt$ is reduced by half. If less than the starting
834 vesicle size molecules join or leave in 100 steps, $dt$ is doubled.
835 This is necessary to curtail run times and to automatically adjust to
836 different experimental runs.
837
838 (In every run seen so far, the initial $dt$ was too small, and was
839 increased before the first generation occured; at no time was $dt$ too
840 large.)
841
842 \subsubsection{Vesicle splitting}
843
844 If a vesicle has grown to a size which is more than double the
845 starting vesicle size, the vesicle splits. More elaborate mechanisms
846 for determining whether a vesicle should split are of course possible,
847 but not currently implemented. Molecules are assigned to the daughter
848 vesicles at random, with each daughter vesicle having an equal chance
849 of getting a single molecule. The number of molecules to assign to the
850 first vesicle has binomial distribution with a probability of an event
851 in each trial of 0.5 and a number of trials equal to the number of
852 molecules.
853
854 \subsection{Output}
855
856 The environment, initial vesicle, and the state of the vesicle
857 immediately before and immediately after splitting are stored to disk
858 to produce later output.
859
860 \section{Analyzing output}
861
862 Analyzing of output is handled by a separate perl program which shares
863 many common modules with the simulation program. Current output
864 includes simulation progress, summary tables, summary statistics, and
865 various graphs.
866
867 \subsection{PCA plots}
868
869 Vesicles have many different axes which contribute to their variation
870 between subsequent generations; two major groups of axes are the
871 components and properties of vesicles. Each component in a vesicle is
872 an axis on its own; it can be measured either as an absolute number of
873 molecules in each component, or the fraction of molecules of that
874 component over the total number of molecules; the second approach is
875 often more convenient, as it allows vesicles of different number of
876 molecules to be more directly compared (though it hides any affect of
877 vesicle size).
878
879 In order to visualize the transition of subsequent generations of
880 vesicles from their initial state in the simulation, to their final
881 state at the termination of 
882
883 \subsection{Carpet plots}
884
885
886
887 % \bibliographystyle{plainnat}
888 % \bibliography{references.bib}
889
890
891 \end{document}