MULTICELLULAR MATHEMATICAL MODELS OF SOMITOGENESIS by Mark Benjamin Campanelli A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Mathematics MONTANA STATE UNIVERSITY Bozeman, Montana August, 2009 c Copyright by Mark Benjamin Campanelli 2009 All Rights Reserved ii APPROVAL of a dissertation submitted by Mark Benjamin Campanelli This dissertation has been read by each member of the dissertation committee and has been found to be satisfactory regarding content, English usage, format, citations, bibliographic style, and consistency, and is ready for submission to the Division of Graduate Education. Dr. Tomàš Gedeon Approved for the Department of Mathematical Sciences Dr. Kenneth Bowers Approved for the Division of Graduate Education Dr. Carl A. Fox iii STATEMENT OF PERMISSION TO USE In presenting this dissertation in partial fulfillment of the requirements for a doctoral degree at Montana State University, I agree that the Library shall make it available to borrowers under rules of the Library. I further agree that copying of this dissertation is allowable only for scholarly purposes, consistent with “fair use” as prescribed in the U.S. Copyright Law. Requests for extensive copying or reproduction of this dissertation should be referred to ProQuest Information and Learning, 300 North Zeeb Road, Ann Arbor, Michigan 48106, to whom I have granted “the exclusive right to reproduce and distribute my dissertation in and from microform along with the non-exclusive right to reproduce and distribute my abstract in any format in whole or in part.” Mark Benjamin Campanelli August, 2009 iv DEDICATION I dedicate this dissertation to my family: To my wife Amber, for her enduring patience. To my daughter Ella, whose future I am trying to improve. v ACKNOWLEDGEMENTS I would like to thank my advisor, Dr. Tomàš Gedeon, for all of his help and guidance during this research project. I would also like to thank Jesse Berwald for his good cheer and generosity concerning all things computational. Lastly, I would like to thank Dr. Konstantin Mischaikow’s group at Rutgers University, for computational time on the conley2 computer cluster. vi TABLE OF CONTENTS 1. INTRODUCTION ........................................................................................1 Biological Pattern Formation .........................................................................1 Developmental Biology and Somitogenesis ......................................................2 Mathematical Insights into Somitogenesis .......................................................5 Purpose and Scope of the Present Work .........................................................9 2. SURVEY OF EXISTING MATHEMATICAL MODELS ............................... 12 Early Models: Pattern Formation and Morphogenesis.................................... 12 Tissue-Based Reaction-Diffusion Models ....................................................... 14 Cell-Based Models....................................................................................... 16 Phase Oscillators..................................................................................... 16 Ordinary Differential Equation (ODE) Models .......................................... 17 Delay Differential Equation (DDE) Models ............................................... 19 Modeling Scopes and Multiple Scales ........................................................... 22 3. A MULTI-STABLE PHASE OSCILLATOR MODEL OF SOMITOGENESIS 25 Model Description....................................................................................... 25 Comparison to Existing Phase Oscillator Models........................................... 33 Lewis’s Phase Oscillator Model ................................................................ 33 Jaeger and Goodwin’s Cellular Oscillator Model........................................ 38 Discussion .................................................................................................. 39 4. A DELAY DIFFERENTIAL EQUATION MODEL OF POSTERIOR CLOCKWAVE FORMATION ................................................................................. 41 The Biological Components of the Clock ...................................................... 43 The Clock............................................................................................... 44 The Control Protein ................................................................................ 46 The Coordinating Signal .......................................................................... 47 Modeling Posterior Clock-Wave Formation: Uncoupled Cells ......................... 49 PSM Growth........................................................................................... 49 Model Variables ...................................................................................... 49 The Control Protein ................................................................................ 50 The Intracellular Clock ............................................................................ 51 Clock-Gene Regulation by a Single Repressive Transcription Factor............ 55 Modeling Posterior Clock-Wave Formation: Coupled Cells............................. 59 Intercellular Signaling .............................................................................. 59 vii TABLE OF CONTENTS – CONTINUED Clock-Gene Regulation by Both Repressive and Activating Transcription Factors........................................................................................... 59 Interim Model Summary.............................................................................. 64 The Fast Dimerization Approximation.......................................................... 65 Algebraic Solution of the Fast Dimerization .............................................. 73 An Iterative Numerical Scheme for Computing the Fast Dimerization......... 75 Model Summary ......................................................................................... 78 5. MODEL VALIDATION: AN APPLICATION TO ZEBRAFISH SOMITOGENESIS ........................................................................................................ 80 Computational Considerations for Validation ................................................ 81 Clock-Wave Formation in Zebrafish .............................................................. 83 Assignment of Model Components............................................................ 84 Model Validation Criteria ........................................................................ 85 Parameter Value and Range Selection....................................................... 87 Experimentally Determined Parameter Values ....................................... 88 Parameters Estimated from a Range of Values....................................... 91 Parameters for Model Scenarios I–IV .................................................... 93 Parameter Estimation and Model Selection................................................... 94 Stage One Validation............................................................................... 95 Parameter Sensitivities......................................................................... 98 Stage Two Validation ............................................................................ 102 Model Robustness.............................................................................. 103 Reproduction of Experiments..................................................................... 106 The Mechanism of Gradient Controlled Oscillation Rate.............................. 112 Comparison to Existing Zebrafish Models ............................................... 113 Applicability of the PCW Model ............................................................ 113 Further Analyses and Future Directions .................................................. 115 6. CONCLUSION ......................................................................................... 117 Future Directions ...................................................................................... 118 REFERENCES CITED.................................................................................. 120 APPENDICES .............................................................................................. 132 APPENDIX A: Impossibility of Nontrivial Periodic Solutions in Lewis’s Uncoupled DDE Model without Delays .......................................................... 133 APPENDIX B: Competitive Dimerization of Three Proteins ..................... 135 viii TABLE OF CONTENTS – CONTINUED APPENDIX C: Matlab Codes ................................................................. 140 ix LIST OF FIGURES Figure Page 1 Formed somites in a zebrafish embryo. ....................................................3 2 Transverse schematic of the somitic mesoderm. .......................................3 3 Formed and forming somites in a zebrafish embryo. .................................4 4 Multiple gene expression during zebrafish somitogenesis. ..........................6 5 Maturity/susceptibility plots. ............................................................... 29 6 Phase portrait snapshots of the multi-stable phase oscillator. ................. 30 7 Computed solutions of the multi-stable phase oscillator model................ 32 8 Long-term computed solution behavior of the multi-stable phase oscillator model. ........................................................................................ 32 9 Reproduction of the spatiotemporal somitogenesis pattern. .................... 34 10 Reproduction of the long-term somitogenesis pattern. ............................ 35 11 Asymptotic phase solutions for Lewis’s phase oscillator model. ............... 36 12 Asymptotic somitogenesis pattern for Lewis’s phase oscillator model. ..... 38 13 Total control protein gradients. ............................................................ 52 14 Binding site configurations. .................................................................. 58 15 Model selection. .................................................................................. 96 16 Parameter sensitivities for model scenario III, part 1 ........................... 100 17 Parameter sensitivities for model scenario III, part 2 ........................... 101 18 Model III simulated clock-wave, no noise. ........................................... 103 19 Model IV simulated clock-wave, no noise............................................. 104 20 Model III simulated clock-wave, with noise. ........................................ 105 21 Model III simulated clock-wave, no noise with longer gradient half-life. . 107 22 Model III simulated clock-wave, no noise with shorter gradient half-life. 108 23 Model III simulated clock-wave, no noise with exponential gradient. ..... 109 24 Model III simulated knockdown experiment, with noise. ...................... 110 x LIST OF FIGURES – CONTINUED Figure 25 Page Model III simulated clock-wave in a rectangular lattice of cells, with noise................................................................................................. 111 xi ABSTRACT Somitogenesis is an important pattern formation process in the developmental biology of vertebrates. The phenomenon has received wide attention from experimental, theoretical, and computational biologists. Numerous mathematical models of the process have been proposed, with the clock and wavefront mechanism rising to prominence over the last ten years. This work presents two multicellular mathematical models of somitogenesis. The first is a phenomenological phase oscillator model that reproduces both the clock and wavefront aspects of somitogenesis, but lacks a biological basis. The second is a biologically informed delay differential equation model of the clock-wave that is produced by coordinated oscillatory gene expression across many cells. Careful and efficient model construction, parameter estimation, and model validation identify important nonlinear mechanisms in the genetic control circuit of the somitogenesis clock. In particular, a graded control protein combined with differential decay of clock protein monomers and dimers is found to be a key mechanism for slowing oscillations and generating experimentally observed waves of gene expression. This represents a mode of combinatorial control that has not been previously examined in somitogenesis, and warrants further experimental and theoretical investigation. 1 INTRODUCTION Biological Pattern Formation “How does the leopard get its spots and the zebra its stripes?” Many children (and adults!) have wondered about such questions. The living world is replete with patterns such as spots and stripes. Other examples of patterns include the trichome distribution on plant surfaces, the efficient branching of tree roots, tree limbs, and the airway passages of the lung, and certain multi-organism behaviors of insects. Nature has devised some wonderfully useful patterns, but can we achieve some understanding how these patterns form? The answer, of course, is yes, and the tools of science and mathematics can be employed to do so. Organisms may form patterns at different stages of the life cycle, from earliest development until death. For single organisms, pattern formation typically involves some type of cellular differentiation. This differentiation can range, for example, from a simple color change between otherwise indistinguishable epithelial cells, to a substantial divergence of cell type and function (e.g., beta vs. acinar cells in the pancreas). Such differentiation is often visible at the macroscopic level, although many important biological patterns, such as the human backbone and ribcage, initially form in utero on a microscopic scale and are not directly observable, even in the adult organism. Furthermore, modern molecular biology has revealed a host of genetically orchestrated biochemical activities at the sub-cellular level that are involved in pattern formation. Such activities include epigenetic1 intracellular and intercellular signaling 1 Epigenesis is the process by which genetic information, as modified by environmental influences, is translated into the substance and behavior of an organism. 2 and feedback mechanisms involving, for example, regulation of protein production and elimination. As mentioned above, an important pattern that has evolved in higher organisms is the repeated vertebrae and related structures of the spinal column in vertebrates (the Verbrata subphylum of the Chordata phylum of the Animalia kingdom). Backbone development begins early in the developmental sequence of vertebrates, during embryogenesis. This robust process occurs under a variety of conditions, for example, in a cold-blooded zebrafish embryo in a lake or pond, in a warm-blooded chick developing inside an egg, or in a human fetus in the womb. Developmental Biology and Somitogenesis Spinal column formation in vertebrates proceeds through several stages during embryogenesis. The invention of the microscope enabled the discovery of a key early event, called somitogenesis. Somitogenesis is the process of somite formation, which occurs in the mesoderm, a tissue that forms just after gastrulation in the developing embryo, see Figure 1. Gastrulation leads to three relatively flat layers of tissue, called germ layers. The mesoderm is the middle germ layer, lying above the bottom endoderm layer and below the top ectoderm layer, see Figure 2. Initially each germ layer is structurally amorphous, yet the cells in each layer are already destined for different tissues in the growing organism [1]. Somitogenesis is a fundamental stage of cell differentiation in the mesoderm. Somites are transient, repeated blocks of epithelialized cells2 that eventually differentiate further into vertebrae, ribs, musculature, and dorsal dermis. Somites arise sequentially and in pairs from the mesoderm, in an anterior (head) to posterior (tail) 2 Epithelialized cells are surrounded by a well-defined layer of border cells, called epithelial cells. 3 Figure 1: Side-view micrograph of recently formed somites in a zebrafish embryo. The anterior (head) is to the left, posterior (tail) is to the right. Taken from [2, Figure 2a] under the Creative Commons Attribution License. Figure 2: Transverse schematic of the somitic mesoderm of a chick embryo. The (medial) midline of the embryo occurs to the left, and one of two (lateral) sides of the embryo is depicted to the right. Somites and other structures have already formed in the somitic mesoderm, which lies between the top (dorsal) ectoderm and bottom (ventral) endoderm. Taken from the public domain via the Wikipedia Commons (http://en.wikipedia.org/wiki/File:Gray19 with color.png). 4 Figure 3: Top-view micrograph of formed and forming somites in a zebrafish embryo. The mesoderm runs along most of the length of the embryo. Formed somites have dark bands of stable gene expression, numbered 1–10. Two to three bands of oscillatory gene expression (labeled (11)–(12)) move in waves from posterior (right) to anterior (left) across the presomitic mesoderm in the posterior-most part of the embryo. Expression in the tailbud (labeled (13)) oscillates steadily as the tail elongates, and is the source of new waves of expression that narrow as they travel from right to left. Taken from [4, Figure 1a] under the Creative Commons Attribution License. fashion, see Figure 3. Each pair forms on either side of the notochord, the spinal precursor which forms along the embryonic midline. Amorphous mesoderm without formed somites is called presomitic mesoderm (PSM), while after somite formation the tissue is called somitic mesoderm [3], see Figure 2. This transition from presomitic to somitic mesoderm is first marked by a pre-pattern of bands of gene expression that help demarcate nascent somite borders, see Figures 3 and 4. Different species of vertebrates have different numbers of vertebrae, and the PSM elongates during somitogenesis to accommodate the length of the particular organism’s trunk, e.g., a mouse as opposed to a snake. At the posterior end of the early embryo is the tailbud, a proliferative zone where immature cells are continually added to the posterior PSM. Cell division and rearrangement diminish considerably in the PSM, and cells’ positions relative to each other do not change considerably. A cell’s relative position within the PSM does change, however, as the tailbud grows away posteriorly and the oldest cells in the anterior PSM segment in groups 5 to form somites. Somitogenesis stops when the anterior formation of somites has progressed posteriorly across the entire PSM, reaching the arresting growth in the tailbud. [3, 5, 6, 7, 8, 9, 10, 11] The morphological changes of somitogenesis can be more easily viewed in vivo in certain species. In particular, zebrafish (Danio rerio) has an exposed, translucent embryo, allowing both easy access and visualization with a light microscope, see Figure 1. In the last several decades, modern microscopy, molecular biology, and bioinformatics have enabled the determination of many of the underlying genetic mechanisms of somitogenesis (compare the resolutions of Figures 3 and 4). Importantly, such investigations of the spatiotemporal dynamics of gene expression during somitogenesis can be complemented by quantitative mathematical modeling. In a larger context, an ever increasing portion of the biological sciences is now conducted with a quantitative mathematical modeling component traditionally reserved for engineering and the “exact sciences” such physics or chemistry. This has led to cross-disciplinary fields in addition to mathematical biology, such as systems biology and computational biology. Many investigations, including the present one, draw upon all three disciplines. Mathematical Insights into Somitogenesis Can mathematics help uncover the biological mechanisms of pattern formation during somitogenesis? The spatiotemporal dynamics of somitogenesis have long been recognized as a good candidate for mathematical modeling. Important features of these dynamics are shared by many organisms, and consist of the following (recall Figure 3): 1. Steady, clock-like oscillatory gene expression in the growing tail of the embryo. 6 Figure 4: High resolution confocal micrographs of gene expression during zebrafish somitogenesis. The anterior direction is up. Individual cells are colored blue. The mRNA expression of three genes her1, her7, and DeltaC in the PSM are shown in green in the top three panels, respectively. Nuclear and cytosolic localization of her1 mRNA transcripts may be clearly seen in the bottom panel with higher resolution. myoD mRNA appears in red, and demarcates the neural tube and most recently formed somites. Taken from [4, Figure 3] under the Creative Commons Attribution License. 7 2. Waves of expression that emanate from the oscillations in the tail and sweep anteriorly across the PSM. 3. A posteriorly traveling determination wavefront that follows behind the growth of the tail and periodically arrests oscillations in the anteriorly traveling waves of expression into fixed bands of expression. In the 1970s, even before the genetics behind somitogenesis started to be uncovered, investigators such as Cooke and Zeeman [12] adapted the catastrophe theory of Thom [13] to propose a theoretical framework for the periodic formation of somites as a spatiotemporal sequence of “catastrophes”. The model mechanism was termed the clock and wavefront. In more modern mathematical parlance, somite formation was proposed to be a periodic sequence of bifurcations of a dynamical system that switched cohorts of cells from an undifferentiated state in the PSM to a differentiated state in somites. One shortcoming of the original clock and wavefront model of Cooke and Zeeman was its abstract disconnection from any experimentally observed biological mechanism. Interestingly, the model anticipated the future discovery (in the mid-1990s) of oscillatory gene expression in the PSM [14]. The 1980s saw other phenomenological models applied to pattern formation, including somitogenesis. Most prominent among these were the family of reaction-diffusion models of Meinhardt [15] that treated tissues as a spatial continuum and thus employed partial differential equations (PDEs). In the case of somitogenesis, these models also lacked a direct connection to any experimentally observed biological mechanism. Extensive scientific work in the first part of the 20th century led to the emergence early in the second half of the century of the so-called central dogma of molecular biology. The central dogma states that genetic information stored in a cell’s DNA is 8 expressed as various proteins through intermediary, information carrying molecules called messenger RNA (mRNA). Further advances in the second half of the last century ultimately led to the Human Genome Project and the complete mapping of human DNA, as well as the DNA of many other model organisms. One of the resulting challenges of the 21st century is to understand the epigenome, that is, how genetic information in the DNA is ultimately expressed in individuals given the genetic control mechanisms and their past and present interaction with the environment. Soon after the appearance of the central dogma, many of the resulting, qualitatively identified genetic control circuits were translated into quantitative mathematical models at the cellular level. For example, see [16, 17, 18, 19, 20], which discuss both steady state and oscillatory behaviors in cellular control systems with feedback. In many cases, this process involved extending existing compartmental models of chemical reactions, both organic and inorganic, to mRNA and protein in cells. Examples include mass action kinetics, Michaelis-Menten enzyme kinetics [21], and the extension of Hill’s equation for cooperative binding of oxygen to hemoglobin [22] to the activation or repression of mRNA transcription from DNA by protein transcription factors. Consideration of statistical thermodynamics lead to the approach of Shea and Ackers [23] for modeling the control of gene expression in prokaryotes. A large class of cell-based mathematical models of somitogenesis follows in the footsteps of these initial modeling efforts [24]. Individual eukaryotic cells can be represented by systems of ordinary or delay differential equations (ODEs or DDEs), with state variables in the newest models representing experimentally observed mRNA and proteins [2, 25, 26, 27, 28, 29, 30]. Multicellular tissues and interactions between cells can be modeled by considering each cell as a subsystem in a larger coupled system of differential equations. Cells undergoing somitogenesis are essentially fixed relative to each other in the PSM, simplifying the cell-based approach by obviating the need 9 to track cell migrations. Furthermore, non-diffusive, contact-dependent intercellular signaling mechanisms can be easily handled. The existence of fast and powerful numerical solvers allows simulation of the resulting models, even for large systems of equations. Such simulations can be used to validate the model against experiment, so that the model can ultimately guide the formulation and verification of scientific hypotheses about the underlying biological mechanisms. There are, of course, challenges in mathematically modeling biological systems [31]. Like most biological systems, developmental systems usually display multiple time and/or spatial scales [24, 32, 33], and a careful accounting of such scales is necessary to attain the proper balance between simplicity and accuracy. Stochastic effects are often assumed to be “averaged out” in deterministic models, but this assumption may not be strictly valid at the cellular level and may depend on the chosen time or spatial scale [34]. Furthermore, experimental data used for model construction and validation may be highly qualitative and the complex biological interactions involved may be only partially known. Finally, many model parameters may be too hard and/or costly to measure, and therefore must be estimated. In spite of such challenges, mathematical models can provide considerable insight into the mechanisms of biological systems, including the process of somite formation. Purpose and Scope of the Present Work Given the above setting for somitogenesis modeling, this dissertation presents two multicellular, deterministic mathematical models of somitogenesis pattern formation. These models are carefully constructed considering both existing mathematical models and the substantial body of experimental research into somitogenesis. 10 The first model represents cells in the PSM as simple, uncoupled phase oscillators. Although this first model has limited foundation in biological experiment, it successfully captures the essential spatiotemporal dynamics of somitogenesis. As such, the model acts as a “proof of concept” of the clock and wavefront mechanism and offers modest improvements over similar existing models such as [35, 36]. The second model is a minimal, biologically-based model of a central feature of somitogenesis. As a partial implementation of the clock and wavefront mechanism, it reproduces the coordinated oscillatory gene expression that initiates the posteriormost waves of gene expression. The model is minimal in the sense that, given the experimental data, minimal biological circuitry is used to implement the clock mechanism. Following the work of Lewis [27] and Cinquin [30], the cell-based model employs a system of delay differential equations. The ability of the model to replicate somitogenesis experiments in zebrafish is examined, and the robustness of this model is examined with respect to both the estimated model parameters and heterogeneity in parameter values across the entire cell population. There are several important implications of this modeling work on the underlying molecular biology of somitogenesis. First, a mathematical model is carefully constructed with regard to the important biological factors. Second, through extensive model simulation and computational analyses, several potential biological mechanisms are considered and eliminated, leaving only one minimal mechanism that successfully reproduces experimental observations of somitogenesis. In particular, both the number of binding sites for self-inhibiting transcription factors and differential decay rates of protein monomers and dimers are shown to be essential elements of the modeled system. A key technical feat of this work is the computational component of the model simulation, analysis, and optimization. This involved novel use of existing computa- 11 tional tools, as well as significant algorithm development, computationally assisted analysis and optimization, and coding in Matlab and, to a lesser extent, Mathematica. Parallel computing was employed for more efficient parameter estimation using Monte Carlo simulations. Statistical analysis of the resulting large datasets was necessary for model selection and also generated useful parameter sensitivity information. Object-oriented programming tools were employed for accurate and reproducible randomization of large parameter sets used in testing model robustness to perturbation. Before presenting the new models, a more thorough review of the existing mathematical models of somitogenesis will be presented in the next chapter. This will provide the necessary background and perspective for proper consideration of the new models presented subsequently. 12 SURVEY OF EXISTING MATHEMATICAL MODELS Mathematical modeling of somitogenesis stretches back some thirty years. Not surprisingly, the mathematical models have evolved alongside the growth in scientific understanding of somitogenesis. Theoretical understanding has progressed in the past half-century by advances in quantitative experimental molecular biology complemented more recently by mathematical models and computational tools. This chapter presents a brief history and review of the existing mathematical models of somitogenesis, providing perspective and a foundation for the new models presented in Chapters 3 and 4. Early Models: Pattern Formation and Morphogenesis Mathematical models for pattern formation predate applications to somitogenesis. In 1952, the pioneering work by Turing [37] showed that a system of reaction-diffusion (RD) equations with two chemical components could produce spatial patterns. Counterintuitively, the addition of diffusion to a spatially uniform and temporally stable system was shown to be capable of destabilizing the uniform distribution into a transient pattern (i.e., the Turing instability). Later RD models, such as the “local activation, long range inhibition” model of Gierer and Meinhardt [38], added nonlinearities into the reaction terms which stabilized these patterns [39]. These models suggested mechanisms of morphogenesis in developmental biology, where initially homogeneous stem cell populations differentiate spontaneously into tissues with structure and pattern. Mathematical interest in morphogenesis continued through the second half of the 20th century. Of special note is Wolpert’s proposed mechanism, in the late 1960’s, 13 of so-called morphogen gradients, whereby a spatial gradient of a biomolecule confers positional information to developing tissues [40]. The existence of such gradients was initially speculative, yet experimental evidence for them has since been found in several systems (e.g., [41, 42, 43]). The theoretical framework of morphogen gradients remains influential to the present day [44], and has been extended to include temporal aspects. Contemporaneously with Wolpert’s early work, morphogenesis theories by Thom [13] were inspired by the emergence of catastrophe theory, which lead, notably, to one of the earliest and most enduring theories of somitogenesis by Cook and Zeeman. In 1976, Cooke and Zeeman [12] postulated that somitogenesis could be explained by a clock and wavefront mechanism. In this model, the susceptibility of cells in the presomitic mesoderm (PSM) to form somites continually oscillates between susceptible and insusceptible (the clock), while a determination wavefront sweeps posteriorly across the PSM. The passing wavefront triggers cells to form somites, but does so only when cells are susceptible, i.e., when their clocks are in the correct phase of oscillation. Since adjacent cells are in phase, cohorts of cells are recruited in succession to form somites. Mathematically, the theory supposes a series of bifurcations (or “catastrophes”) that underlie the sequential formation somites. Cooke and Zeeman proposed their model with minimal biochemical evidence for either the clock or the wavefront. Because early heat shock experiments on developing embryos caused a periodic disruption in somite formation whose timing agreed with the known timing of the cell cycle, the clock was initially thought to be closely linked to the cell cycle [45]. This lead to a line of mathematical models based upon the apparent cell cycle connection [46, 47, 48, 49, 50]. Mounting experimental evidence has since dispelled the cell cycle as the fundamental oscillator in the clock and wavefront mechanism. In 1997, Palmeirim and 14 coworkers [14] discovered a gene with oscillatory expression in the PSM of the chick embryo, providing an alternative candidate for the clock [51]. Experimental work has since identified multiple oscillatory genes in each of several model organisms, including mouse and zebrafish [3]. It should be noted that gene expression does not oscillate synchronously throughout all the cells of the PSM. Instead, the oscillatory expression in cells is coordinated so that an anteriorly traveling clock-wave is oppositely directed to the posterior movement of the determination wavefront. Interestingly, the discovery of oscillatory gene expression in the PSM forged a closer mathematical connection between somitogenesis and other biological rhythms, such as those studied extensively by Goodwin [16, 18], Winfree [52], and Goldbeter [53]. With several variants proposed along the way (e.g., [54, 55]), the clock and wavefront mechanism has become a prominent model of somitogenesis. For additional reviews and comparisons, see [3, 6, 7, 46, 56, 57, 58, 59, 60]. More recent mathematical models of the clock and wavefront mechanism are discussed below. Tissue-Based Reaction-Diffusion Models In the 1980’s, a mathematically precise model of somite formation emerged from the earlier pattern formation work by Gierer and Meinhardt [38]. The so-called Meinhardt models of somite formation [15, 61] rose to prominence despite the fact that they were phenomenological in nature and lacked any direct link to experimentally observed biological mechanisms. These models were extensions of the following nonlinear RD system of partial differential equations: ∂a ρ a2 ∂2a = − µ a + Da 2 , ∂t h ∂ x ∂h ∂2h = ρ a2 − ν h + Dh 2 , ∂t ∂ x 15 where a(t, x) is the concentration of a supposed activator molecule that may diffuse through the one-dimensional tissue with diffusion constant Da , h(t, x) is the concentration of a supposed inhibitor molecule with diffusion constant Dh , and Greek letters represent positive system parameters. The activator a auto-catalyzes but is inhibited 2 by h (note the ρ ah production term). The basic conditions for pattern formation in this system are that the activator diffuses more slowly than the inhibitor (Da Dh ) and the activator decays more quickly than the inhibitor (µ ν) [39, 62]. This situation is termed “local self-enhancement and long-ranging inhibition” [62]. One of the nicest features of the model variant used for describing somitogenesis is that it naturally forms the observed somite polarity [62]. The Meinhardt models are still employed today and can reproduce a wide range of developmental patterns [62]. However, newer RD models for somitogenesis have emerged that specifically incorporate the action of the experimentally observed clock and wavefront in the formation of the somite pre-pattern1 in the anterior-most PSM. Prominent examples are the recent models by Baker, Schnell, and Maini [57, 59, 63], which are a partial reformulation of earlier somitogenesis models based on the cell cycle [50]. These models are still largely phenomenological, especially with respect to the clock. However, they have successfully reproduced experiments in which the wavefront is perturbed [57] Baker and coworkers have also recently formulated a biologically informed RD model of the wavefront, which is understood to involve an anterior-posterior (AP) gradient of Fibroblast Growth Factor (FGF) in the PSM [64]. Decreasing levels of FGF are at least partially responsible for triggering somite formation [65]. However, 1 The somite pre-pattern refers to the stable bands of high-low gene expression in the anterior-most PSM, which form before visible morphological segmentation occurs. 16 they have not yet incorporated this model into the above model for pre-patterning. Still other recent RD models describe the segmentation of the tissue that occurs after pre-patterning, which involves cell rearrangement and changes in cell adhesion [49, 57, 58, 66, 67]. Cell-Based Models In the clock and wavefront mechanism, modeling of the clock oscillations has been dominated by cell-based models. This predominance can likely be traced back to early ordinary differential equation (ODE) models such as those by Goodwin [16, 18] and Griffith [19, 20], where the discovery of intracellular genetic regulatory mechanisms made compartmentalized, cell-based approaches for homeostasis and biological rhythms a viable alternative to continuum, tissue-based approaches [17]. However, phenomenological clock models continue to be proposed, most of which are premised on cell-based phase oscillators where the clock does not have a specific biochemical basis. Phase Oscillators In 1997, based on the discovery of oscillatory gene expression in chick by Palmeirim and coworkers, Lewis [35] developed a clock and wavefront model that treated an axial line of mesodermal cells as uncoupled phase oscillators. By prescribing an anteriorly slowing frequency of phase oscillations in cells along the PSM tissue, the model produced anteriorly traveling phase waves that emanated from a steady, clocklike oscillation in the tailbud. The wavefront was associated with the frequency of the phase oscillators decreasing to zero, and phases of successive blocks of cells were thereby arrested anteriorly into an alternating high-low pattern. However, the 17 model contained no direct biological mechanism for the clock, the wavefront, or their interaction. More recent phase oscillator models have also been proposed. As a discrete reformulation of the continuum-based Flow-Distributed Oscillator models of Kaern and coworkers [68], Jaeger and Goodwin [36] developed a cell-based, uncoupled phase oscillator model that was similar to Lewis’s earlier model. However, the authors did not view their Cellular Oscillator model as an implementation of a clock and wavefront mechanism. The general setting of the model made it capable of producing multiple kinds of fixed stripe patterns by arresting a traveling spatiotemporal wave. The most recent phase oscillator models have included intercellular coupling [69, 70]. Intercellular signaling pathways are known to be active in PSM cells during somitogenesis [71]. Using coupled systems of ordinary [69] or delay [70] differential equations, these models focus on phase coupling while abstracting the details of the oscillator mechanism in the cells. This can simplify the mathematical analyses, allowing easier examination of how coupling makes pattern formation robust to the effects of system noise. Ordinary Differential Equation (ODE) Models After the discovery of oscillatory expression of c-hairy1 in the PSM of chick in 1997, a plethora of other genes with oscillatory cellular expression were soon found in zebrafish, chick, and mouse [3, 5]. In all three model organisms, two dominant genetic motifs for the clock emerged from these investigations. The first was an intracellular self-repression loop of so-called basic Helix-Loop-Helix (bHLH) genes, and the second was the intercellular positive feedback mechanism of the Notch pathway. The various mathematical models of the clock have typically focused on one or both of these motifs. 18 One of the first mathematical models of a clock-gene was presented in 2002 by Hirata and coworkers [26], which investigated oscillatory expression of the bHLH Hes1 protein in mouse. They established experimentally that the Hes1 protein acted as a self-repressing transcription factor by inhibiting hes1 mRNA production, and that sustained oscillations required fast decay of the Hes1 protein by ubiquitin-proteasomemediated degradation. They complemented their experimental investigations with the following ODE model: dx = B y − C x − A x z, dt dy E = − D y, dt 1 + x2 dz F − G x − A x z, = dt 1 + x2 (1) (2) (3) where x is the Hes1 protein concentration in the cell, y is the hes1 mRNA concentration, and z is a presumed “Hes1-interacting factor” that allows the system to sustain oscillations [26]. A–G are positive parameters affecting production and decay rates. Note that the x2 term in the denominator of the production terms for y and z represents some form of interaction of the Her1 protein with itself, perhaps through homodimerization or cooperative binding at multiple DNA binding sites. Since this first model was published, additional ODE models have been put forward. An early model of Cinquin [72] was one of the first to question whether oscillations were truly cell-autonomous as opposed to requiring intercellular signaling to be sustained. A more recent multicellular model by Tiedemann and coworkers [29] had some success incorporating a wavefront mechanism into the clock to arrest oscillations into a pattern. Like the above model by Hirata et al., this model introduced a third equation for separate tracking of the Hes1 protein in the cytosolic and nuclear compartments, which enabled the system to exhibit sustained oscillations. This model also incorporated a nonlinear, rate-limited protein decay mechanism in the nuclear 19 compartment only, while additional results with intercellular signaling were only preliminary. Another recent model took the same subcellular compartment approach in tracking the Hes1-related clock-gene Hes7 [73], and it was also shown that ratelimiting decay mechanisms play a dual role with the number of repressor binding sites in the generation of sustained oscillations. Lastly, it should be noted that in the past five years considerable genetic complexity has been uncovered in the mouse oscillator [3, 7, 74]. Oscillations are currently believed to be coupled between three interacting signaling pathways (Notch, Wnt, and FGF), each with multiple biomolecular agents. Goldbeter and Pourquié [75] have recently published a comprehensive ODE model of the oscillator, which for a single cell requires sixteen ODEs with another sixteen auxiliary algebraic equations and some 77 parameters! Delay Differential Equation (DDE) Models The requirement of the somewhat mysterious third state variable z for sustained oscillations in the ODE model by Hirata et al. lead to the introduction of delay differential equation (DDE) models of the clock. These models introduced biologically realistic transcription, translation, and transport delays into the production terms of protein and mRNA, which allowed sustained oscillations in a system with only these two dependent variables and a reduced number of model parameters. Negative feedback with time delay DDE models have arguably become the most prominent models of clock oscillations in somitogenesis. Sustained Hes1 oscillations in mouse cells produced by a DDE model of gene regulation were initially reported in 2003 by Jensen and coworkers [76] and also by Monk [77]. In the same journal issue as Monk, Lewis [27] published a similar model of delayed autoinhibition induced oscillations of homologous bHLH clock-genes in 20 zebrafish. The simplest version of Lewis’s model was the following system of DDEs: dp(t) = a m(t − Tp ) − b p(t), dt dm(t) k = 2 − c m(t), dt m) 1 + p(t−T p0 (4) (5) where p is the protein concentration in the cell produced with delay Tp > 0, and m is the mRNA concentration produced with delay Tm > 0. The positive parameters a, b, k and c affect production and decay rates. po is a critical concentration of the protein at which mRNA production is half its maximum value k. Equations (4)–(5) are essentially the same as equations (1)–(2) above with z = 0 and if Tp = Tm = 0. Dulac’s Criterion can be used to show that solutions to (4)–(5) cannot be nontrivially periodic if Tp = Tm = 0 (see Appendix A). With sufficiently long total delay Tp + Tm and sufficiently large decay constants b and c, this system exhibits sustained oscillations for a large range of the remaining parameter values a, k, and p0 , however, the period of oscillation is sensitive to the total delay [27]. Lewis extended this basic model with the addition of intercellular positive feedback on the clock-gene via Notch coupling, and showed that synchronization of two coupled cells with different natural frequencies was possible. Lewis also considered the role of a second self-repressing clock-gene that heterodimerizes with the first clockgene. Followup experimental and modeling work by Lewis and coworkers measured certain key parameters of the model [4] and established that Notch signaling acts as a coordinator of clock oscillations in zebrafish, but not as a fundamental driver of oscillations in individual cells2 [2]. 2 Actually, a very simple DDE model for Notch coupled oscillations by Jiang and Lewis slightly predates this 2003 model [78]. 21 A 2007 paper by Cinquin [30] developed a related two clock protein model with intercellular activation that required thirteen differential equations for each cell. The model development required that numerous parameters be estimated, but was significant in that it extended Lewis’s two coupled cell model to a one-dimensional, anterior-to-posterior (AP) line of coupled cells. Furthermore, the model included an AP graded control protein that interacted with the clock-proteins via heterodimerization. The heterodimers repressed clock-protein production alongside the other clock protein dimers. The model is notable in that it generated spatiotemporal waves of expression of the clock-genes across the PSM. However, these waves did not arrest anteriorly. Previously to this, the only multicellular extension of Lewis’s model was an examination of lateral synchronization of oscillators [28, 79], which did not consider axial control of the oscillation rate. Along with Hes1, other clock-genes such as Hes7, Lfng, Axin2, Notch, and Wnt oscillate in the PSM of mouse [3]. In parallel with the above DDE modeling developments in zebrafish, a series of DDE models for Hes and other oscillators in mouse has been published. These models have focused on various aspects of the oscillator such as the instability of the protein [80], the number of repressor binding sites [81], the role of co-repressors [82], the instability of cell-autonomous oscillations [83], the interaction between multiple signaling pathways [84], and the interaction with the determination wavefront [25]. A limited number of the above models have had stochastic components, specifically [27, 30, 83]. In [27], Lewis showed that a certain level of transcriptional noise added to his deterministic model could help sustain oscillations in a parameter regime that produced damped oscillations in the corresponding deterministic model, a phenomenon known as stochastic resonance. The proper accounting of internal and external noise during somitogenesis is an area of active interest [85]. 22 Finally, the amount of mathematical analyses that have accompanied these models has been relatively limited. Even simple linear analyses, such as the computation of Hopf bifurcations, are complicated by the presence of delays [56]. Some very recent progress has been made [86, 87, 88, 89, 90]. The work by Verdugo and Rand [88] is notable in that they were able to continue the periodic solution of the system (4)–(5) away from the Hopf bifurcation point via an asymptotic expansion using Lindstedt’s method, as well as find closed form expressions for the period and amplitude of the approximate solutions with respect to the parameters. Modeling Scopes and Multiple Scales Biological systems are complex. Careful handling of this complexity is necessary when developing useful mathematical models of biological systems, such as the somitogenesis models discussed above. Two issues of particular importance are the choice of modeling scope and the consideration of multiple scales [32, 33, 56]. These issues are somewhat interrelated. The complexity of mathematical models of a biological system typically grows as more information about the system becomes available. Unfortunately, the information about biological systems can be simultaneously expansive yet incomplete. Making smart modeling decisions in the face of this dichotomy requires careful consideration of the scientific questions being addressed. The choice of modeling approach used to meet the scientific objectives may be divided (somewhat artificially) into top-down vs. bottom-up. Put simply, a bottom-up approach tries to identify all the pieces of a system and their interconnections, so that when put together the emergent properties are those observed experimentally. On the other hand, a top-down approach begins with large-scale experimentally observed 23 phenomenon, and tries to determine how the overall system function depends on the cooperative interaction of the principle subsystems. The inside workings of these subsystems can remain very poorly understood, and, as such, may be treated as “black boxes”. There are trade-offs to each approach, and each approach (or a hybrid of the two) is appropriate depending upon the circumstances [56]. For example, a prominent class of somitogenesis models involves oscillations of gene expression on the cellular level. In some models these oscillations are prescribed as phase oscillators, without regard to the biochemical mechanism driving them, because the scientific focus is on the role of oscillator slowing and/or coupling in pattern formation [70]. In other models, the focus itself is on the detailed genetic circuits that drive oscillatory expression within each cell [87]. The former model is simpler with respect to the myriad genes that are involved in the clock, while the latter model may identify specific experimental targets for testing hypotheses about the oscillator mechanism. The presence of multiple scales is a main reason for the coexistence of top-down and bottom up approaches in mathematical models of biological systems. Biological systems exist across a broad spatial spectrum: from populations to individuals to organs to tissues to cells to organelles to molecules to ions. There are also a broad range of timescales: from inter-generational evolution to seasonal growth cycles to circadian rhythms to neural impulses. Appropriate consideration of multiple scales typically offers significant opportunity for simplification of mathematical models in the face of biological complexity (e.g., Michaelis-Menten kinetics), while integration of models at different scales becomes an additional consideration [32, 33]. Finally, another complication in mathematically modeling biological systems is the existence of multiple model organisms used for studying phenomena in the life sciences. For example, the prominent model organisms in somitogenesis are zebrafish, 24 chick, and mouse, each with its own genetics, epigenetics, and evolutionary history. Consideration of a given mathematical model requires some understanding of the model organism(s) to which the mathematical model is applicable. This is particularly critical when trying to draw conclusions about one organism (e.g., human) from another organism (e.g., mouse). With these modeling issues in mind, the first model of this work is presented in the next chapter. 25 A MULTI-STABLE PHASE OSCILLATOR MODEL OF SOMITOGENESIS As discussed in the previous chapter, the essential features of somitogenesis pattern formation may be produced with a relatively simple, cell-based phase oscillator model. The main drawback of such a model is that it typically does not incorporate a biochemical mechanism, and thus provides only a phenomenological description of the process. Nonetheless, such phase oscillator models offer a useful proof of concept of the clock and wavefront mechanism of somite formation [35, 36], as well as for investigations of oscillator synchronization [69]. In this chapter, a simple phase oscillator model is presented that extends the early modeling work done by Lewis [35] and Jaeger and Goodwin [36], and offers certain improvements on these models. Unlike a more recent phase oscillator model by Riedel-Kruse and coworkers [69], which focused on oscillation synchronization through coupling, the present model does not include intercellular coupling of phase oscillators. Instead, the model is used to inform the development, in the next chapter, of a biologically grounded model of the posterior formation of waves of gene expression in the presomitic mesoderm (PSM). These waves of gene expression are a key component (the clock) of the clock and wavefront mechanism. Model Description Experimental observations of somitogenesis in several model organisms has lead to the following understanding of the elongating embryo [3, 5, 11, 91, 92]. The posterior tailbud consists of a progenitor zone, where the majority of new cells are added to the tailbud. Rapid cell division in a region dorsal to this progenitor zone continually supplies new mesoderm-destined cells to the posterior-most tailbud. 26 Cell division and mixing continues as these cells move towards the PSM through the initiation zone of the anterior tailbud, where coherent steady or periodic expression of certain somitogenesis genes begins. At any point in time, the presomitic mesoderm can be divided into posterior PSM and anterior PSM. Cell division and rearrangement diminishes considerably as cells exit the tailbud and initially traverse the posterior PSM. While in the posterior PSM, which is about two-thirds of the presomitic tissue, cells remain in an uncommitted state, capable of forming any part of a future somite. Once cells pass into the anterior PSM they commit to become a specific part of a nascent somite, which has not yet physically segmented. At any point in time, the anterior PSM contains approximately two nascent somites. Segmentation steadily converts the anterior-most PSM tissue into somites (becoming somitic mesoderm) as new presomitic mesoderm is simultaneously added to the posterior-most PSM. The clock and wavefront mechanism incorporates several experimental observations of somitogenesis [35, 63]. Cells in the initiation zone of the anterior tailbud have periodic clock-gene expression that oscillates in phase. After leaving the tailbud and entering the posterior PSM, cells’ oscillatory expression rate substantially decreases as they move toward the anterior PSM. The sequentially slowing oscillation rates across many cells produce anteriorly traveling waves of gene expression across the PSM tissue. As the determination wavefront passes posteriorly through the anterior PSM, oscillations arrest in blocks of cells in an alternating high-low expression pattern, where each block represents a nascent, polarized somite. The present multi-stable phase oscillator (MPO) model represents a simple phenomenological implementation of the clock and wavefront mechanism. The clock is generated by prescribing a constant phase oscillation frequency in the tailbud. The wavefront mechanism moving posteriorly across the PSM slows oscillations into an 27 apparent traveling phase wave (termed the clock-wave), and eventually arrests oscillations into constant phases that are monotonically increasing across groups of cells in a stepwise fashion (multi-stability). When these stepped phases are composed with an appropriate periodic function, an alternating high-low pattern in the anterior-most PSM is realized. The MPO model is constructed for a line of K total cells along the medial anteriorto-posterior (AP) axis of the mesoderm and tailbud. Each cell is associated with a phase oscillator, with φk (t) denoting the phase of the k th cell, 1 ≤ k ≤ K. The phase may be interpreted as the state of expression of a given cell’s clock-gene(s). A key experimental observation is that the frequency of synchronized oscillations in the tailbud is equal to the somite formation rate in the anterior-most PSM, which is approximately constant over a significant portion of developmental time [5, 93]. To be as general as possible, time is normalized to the period of tailbud oscillation. That is, one unit of time is equal to the period of oscillation in the tailbud, which is equal to the formation time of one somite in the anterior-most PSM. Likewise, space is normalized to the AP length of one somite, so that one spatial unit equals the AP length of a single somite. Cell division and rearrangement decrease considerably after cells exit the initiation zone in the anterior-most tailbud [5, 11, 85, 91]. Thus, cells are assumed to remain stationary relative to each other as they pass through the PSM. Individual cells are assumed to exit the anterior-most tailbud and enter the posterior-most PSM sequentially at a constant rate, traverse the PSM, and ultimately be incorporated into somites forming in the anterior-most PSM. The time when the k th cell enters the PSM, Tk , is given by the linear relationship Tk = k−1 , λµ (6) 28 where λ is the number of cells per AP somite length, and µ is the somite formation rate, assumed here to be the normalized constant µ = 1 somite per time unit. λ varies with the organism under consideration, and is assumed constant. Although experimental evidence suggests µ and λ may slowly change, especially towards the end of somite formation, the constant value assumptions should be a valid approximation for the majority of somites produced during somitogenesis [93]. To capture the somitogenesis patterning phenomenon, the dynamics of the k th cell’s phase, φk (t), is given by the following differential equation: φ̇k (t) = 1 − s t − Tk ; τ 1 sin2 (2π φk ), (7) 2 where s is the following continuously differentiable function that reflects the time the cell has been in the PSM: s(t; τ 1 ) = 2 0, „ «. 2 t−τ t 1 2 1 e , 2 0 < t ≤ τ1 , 2 «.„ „ 2 1 1 − e 2 1, t ≤ 0, t−τ 1 2 « t−2 τ 1 2 , τ1 ≤ t < 2 τ1 , 2 2 2 τ 1 ≤ t, 2 where τ 1 > 0 is a half-life parameter. The function s is sigmoidal, non-decreasing, 2 concave up for 0 < t < τ 1 , and concave down for τ 1 < t < 2 τ 1 . The function s may 2 2 2 be regarded as giving the maturity of a cell in the PSM, or, equivalently, as indicating a cell’s susceptibility to differentiate into part of a somite at a given time t. Zero represents fully immature/unsusceptible, while one represents fully mature/susceptible. Figure 5a shows s with the half-life parameter τ 1 = 3. 2 The function s represents the wavefront in the clock and wavefront mechanism. Biochemical candidates for the wavefront include morphogen gradients, which are spatially and/or temporally graded concentrations of one or more chemicals [43, 64]. 29 (a) y=s(t−Tk; 3), k=1,...,60 (b) y=s(t; 3) 0.8 0.8 0.6 0.6 t=6 t=8 y 1 y 1 0.4 0.4 0.2 0.2 0 0 0 2 4 6 t (unitless time) 0 20 40 k (cell #) 60 Figure 5: Maturity/susceptibility plots. (a) A plot of y = s(t; 3) showing the change in a cell’s maturity/susceptibility over time, with half-life τ 1 = 3. The cell is fully 2 immature/unsusceptible (y = 0) for t ≤ 0 and fully mature/susceptible (y = 1) for t ≥ 6 = 2 τ 1 . (b) Spatial profiles of maturities/susceptibilities of an anterior-to2 posterior line of sixty cells at times t = 6 and t = 8. k = 1 is anterior. Because cells exit the tailbud in a temporal order, the composition s(t − Tk ; τ 1 ) 2 represents the maturity/susceptibility of the k th cell at time t. Figure 5b shows the resulting spatially graded profiles of the levels of s(t − Tk ; τ 1 ) across an AP line of 2 sixty cells at two different times. The function s depends on time, which makes the differential equation (7) nonautonomous. However, for any k, s(t − Tk ) is constant outside the compact transition interval h i Ik := Tk , Tk + 2τ 1 , 2 allowing autonomous analysis of the dynamics outside this interval. Consider the k th cell, so that s(t − Tk ) is constant outside the transition interval Ik . For t ≤ Tk , s(t − Tk ) = 0, and so φ̇k (t) = 1 and the model reproduces the periodic oscillations in the tailbud (the initial clock mechanism). For t ≥ Tk + 2 τ 1 , s(t − Tk ) = 1 and so 2 30 y=dφ1/dt, τ1/2=3, T1=0 1 y 0.8 0.6 0.4 t≤0 t=3 t≥6 0.2 0 0 0.5 1 φ1 1.5 2 Figure 6: Phase portrait snapshots for the multi-stable phase oscillator model of the first cell given by the non-autonomous differential equation (7), with k = 1, τ 1 = 3, 2 and T1 = 0. The middle (grey) curve at t = 3 is transient, but represents the slowing phase oscillations at the instant the cell is halfway to full maturity/susceptibility. φ̇k (t) = 1 − sin2 (2π φk ) has semi-stable equilibria when sin2 (2π φ∗k ) = 1, i.e., when 1 3 5 φ∗k = ± , ± , ± , . . . . 4 4 4 (8) See Figure 6. For clarity in the computation of equilibria and discussion of the resulting multistability, a non-generic case has been considered. Note that this example can be made generic, and hence more robust, by stretching the range of the function s by a small amount. For example, making the range of s to be [0, 1 + ], for some > 0, would suffice. The positivity of φ̇k during the transition interval guarantees that all solutions eventually approach one of these phase angles monotonically from below. Which of these equilibria is approached depends on both the initial phase φk (0) and the slowing 31 of phase oscillations during the transition interval, which itself depends on the choice of the half-life parameter τ 1 and shape of the function s. 2 Initial conditions for each cell may be chosen so that all cells oscillate in phase before the first cell exits the tailbud at T1 = 0. A convenient choice that properly arranges the cell phases in the first and subsequent somites is φk (0) = 14 , 1 ≤ k ≤ K. Furthermore, τ 1 is chosen to correspond to the lifetime of a cell in the PSM for a 2 given model organism, which is approximately 2 τ 1 . Identical initial conditions and 2 monotonicity of solutions, when combined with the ordering of the Tk , lead to the emanation of anteriorly traveling phase waves from synchronized tailbud oscillations. In addition phase wave oscillations arrest blocks of cells in an alternating high-low pattern in the anterior PSM. Figure 7 shows numerical solutions for the first six cells of the phase oscillator model described above, where six cells per AP somite length is assumed (λ = 6) and the maturity/susceptibility half-life is three tailbud oscillation periods (τ 1 = 3). Two 2 groups of three cells reach distinct limiting phase values, with each cell taking slightly longer than 2τ 1 = 6 oscillation periods to essentially reach full maturity/susceptibility. 2 Specifically, lim φ1 (t) = lim φ2 (t) = lim φ3 (t) = 17 , 4 lim φ4 (t) = lim φ5 (t) = lim φ6 (t) = 19 . 4 t→∞ t→∞ t→∞ and t→∞ t→∞ t→∞ The limiting phase difference between the two cohorts of cells represent the polarity between the anterior and posterior half of the first somite. Figure 8 shows the longterm, grouped behavior of the phase solutions of sixty cells across the PSM. Solutions were computed using Matlab’s ode45 solver [94]. The code that generated the solutions and figures may be found in Appendix C. 32 y=φk(t), τ1/2=3, Tk=(k−1)/6, k=1,...,6 5 φ1(t) 4 φ2(t) 3 φ3(t) y φ4(t) 2 φ5(t) φ6(t) 1 0 0 1 2 3 4 5 t (unitless time) 6 7 8 Figure 7: Computed solutions of the multi-stable phase oscillator model (7) for the first somite (six total cells) with initial condition φk (0) = 14 , k = 1, 2, . . . , 6. Groupings of three cells into constant limiting phases can be seen as cells sequentially reach full maturity/susceptibility. Specifically, limt→∞ φ1 (t) = limt→∞ φ2 (t) = limt→∞ φ3 (t) = 17 and limt→∞ φ4 (t) = limt→∞ φ5 (t) = limt→∞ φ6 (t) = 19 . 4 4 y=φk(60.00), k=1,2,...,60 14 12 y 10 8 6 4 0 2 4 6 x (somite #) 8 10 Figure 8: Long-term computed solution behavior of the multi-stable phase oscillator model (7) for ten somites (sixty total cells) with initial condition φk (0) = 41 , for k = 1, 2, . . . , 60. All cells have reached full maturity/susceptibility, and grouping into constant limiting phases is apparent. 33 The spatial formation of the somitogenesis pattern may be realized by composing an appropriate 1-periodic function with the phase solutions to the differential equation (7). A convenient choice for converting phase to expression level in the the k th cell, pk (t), is pk (t) = 1 1 + sin (2π φk (t)) . 2 (9) The expression levels pk (t) are normalized between zero and one. Figure 9 shows the development of the resulting somitogenesis pattern over two oscillation cycles in the tailbud. Figure 10 shows the computed approximation of the stable somitogenesis pattern that forms asymptotically. Comparison to Existing Phase Oscillator Models Although the MPO model does not incorporate intercellular coupling, it still offers certain advantages over two existing, uncoupled phase oscillator models of somitogenesis. These are discussed in turn below. Lewis’s Phase Oscillator Model The 1997 paper by Palmeirim and coworkers [14] presented the first experimental evidence of a gene with oscillatory expression in the chick PSM that was independent of the cell-cycle. In a supplement to this paper, Lewis presented a phase oscillator model of somitogenesis [35]. The temporal rate of change in phase φ(x, t) of the cell 34 y=pk(6.00) y (a) 1 1 0.5 0.5 0 0 0 y (b) 10 0 (f) 1 0.5 0.5 0 0 5 10 0 (g) y=pk(6.50) 1 0.5 0.5 0 0 (d) 5 10 0 (h) y=pk(6.75) 1 0.5 0.5 0 0 5 x (somite #) 10 5 10 5 10 y=pk(7.75) 1 0 10 y=pk(7.50) 1 0 5 y=pk(7.25) 1 (c) y 5 y=pk(6.25) 0 y y=pk(7.00) (e) 0 5 x (somite #) 10 Figure 9: Reproduction of the spatiotemporal somitogenesis pattern across ten somite lengths by the MPO model, given by equations (9), where the phases φk (t) were computed numerically using equations (7) with initial conditions φk (0) = 14 , for k = 1, 2, . . . , 60. (a)–(h) show two oscillation cycles in the tailbud. Red cells are immature/insusceptible, green cells are mature/susceptible, and grey cells are in transition. Polarized somites, each with six cells, form anteriorly as more posterior cells continue to oscillate. 35 y=pk(60.00) 1 0.8 y 0.6 0.4 0.2 0 0 2 4 6 x (somite #) 8 10 Figure 10: Reproduction of the long-term somitogenesis pattern across ten somite lengths by the MPO model, given by equation (9), where the phases φk (60) were computed numerically using equations (7) with initial conditions φk (0) = 41 , for k = 1, 2, . . . , 60. All cells are green, indicating full maturity/susceptibility. Polarized somites, each with six cells, have formed stably across the entire PSM. at position x ≤ 0 at time t ≥ 0 was given by the following initial value problem1 : ∂φ 1 = x+t , ∂t 1+e 2 φ(x, 0) = 0, which may be solved by simple integration to give the solution Z φ(x, t) = 0 1 t 1 1+e x+s 2 ds = t + ln x 1 + e2 1+e x+t 2 2 . Lewis uses more negative values of the continuous position variable x to signify more posterior positions in the PSM, so that somites form from right to left. Non-dimensional spatial units are in somite lengths, and non-dimensional temporal units are in tailbud oscillation periods. 36 y=φ∞(x), Lewis Phase Oscillator 12 10 y 8 6 4 2 0 −10 −8 −6 −4 x (somite #) −2 0 Figure 11: Asymptotic phase solutions for Lewis’s phase oscillator model [35]. The posterior-most cell is at x = 0. Phases are monotonically distributed but not grouped into polarized somites. The asymptotic spatial phase pattern φ∞ (x) produced by this model is given by φ∞ (x) := lim φ(x, t) t→∞ = lim t→∞ t + ln x 1 + e2 x+t 2 ! 1+e 2 ! x 2 2 1 + e = lim ln et + ln x+t t→∞ 1+e 2 ! x 2 2 1 + e = lim ln et x+t t→∞ 1+e 2 ! x 2 2 1 + e = ln lim et x+t t→∞ 1+e 2 x = ln (e−x + 2 e− 2 + 1). See Figure 11 for a plot of φ∞ (x). 37 In Lewis’s model, the realization of the high-low expression of groups of cells is given by the following function h(x, t): h(x, t) = f (m(x, t)) w(z(φ(x, t))), (10) where f (m) = 1 m , 1+e2 m(x, t) = x + t, w(z) = 1 , 1 + e10z z(φ) = cos (2π φ). In the product of the functions f ◦ m and w ◦ z in (10), the composition f ◦ m eliminates expression in mature cells after a certain time2 , while w◦z acts to normalize the expression pattern between zero and one. The asymptotic spatial pattern given by w(z(φ∞ (x)), shown in Figure 12, does not capture the high-low limiting phase behavior quite as well the MPO model (compare to Figure 10). Although the MPO model is not as easily solved analytically, it improves upon Lewis’s model in several ways. First, the construction of the MPO model greatly simplifies the realization of normalized oscillatory expression (compare equation (9) to equation (10)). Second, the asymptotically grouped phases of cell cohorts in the MPO model is more robust (compare Figures 8 and 11). Finally, the MPO model’s biologically motivated maturation/susceptibility function s, with the half-life parameter τ 1 , makes the model readily tunable to different species. 2 2 This transient expression in the paraxial mesoderm occurs for some genes, but not for others. 38 y=w(z(φ∞(x))), Lewis Phase Oscillator 1 0.8 y 0.6 0.4 0.2 0 −10 −8 −6 −4 x (somite #) −2 0 Figure 12: Asymptotic somitogenesis pattern for Lewis’s phase oscillator model [35]. The posterior-most cell is at x = 0. Note that some cells are not well polarized. Jaeger and Goodwin’s Cellular Oscillator Model In 2001, Jaeger and Goodwin presented “A Cellular Oscillator Model for Periodic Pattern Formation” [36]. In some sense, their Cellular Oscillator (CO) model generalized Lewis’s earlier phase oscillator model discussed above. However, the authors did not recognize their model as an implementation of a clock and wavefront mechanism3 . Instead, the authors cast their model as a cell-based version of the fluid-based Flow Distributed Oscillator model of Kaern and coworkers [68]. The MPO model shares several key features with the CO model. Both models use an AP line of cells with synchronized, periodic oscillations in the tailbud (called the initiation zone in the CO model). Both models also have sequentially slowing phase oscillations that create traveling phase waves. The MPO model has the advantage 3 Cooke and Zeeman’s earliest version of the clock and wavefront model did not anticipate the anteriorly traveling waves of gene expression in the PSM [12, 51]. 39 that the phase waves are completely arrested, whereas the CO model’s waves are not [36, see p.175]. The construction and analysis of the MPO model makes its connection to the clock and wavefront mechanism more transparent than the CO model. The CO model does allow more complex striped patterns to be formed by non-autonomously altering the frequency of oscillation in the initiation zone and/or changing the rate at which cells exit this zone. Although not implemented above, such features could be added to the MPO model without great difficulty. Discussion Admittedly, many of the choices in the construction of the MPO model are somewhat arbitrary. While phenomenologically sound, these choices are not necessarily the only or best ones that reproduce the key qualitative features of pattern formation in somitogenesis. For example, the squared sine function in equation (7) is a convenient choice for producing the desired phase monotonicity and slowing conditions, as well as the distribution of phase equilibria. Other choices with similar qualitative shape are certainly possible, which is also the case for the maturity/susceptibility function s. The combined roles of these two functions during the transition interval affect the specific formation of the transitional clock-wave in the PSM. The MPO model is primarily used as a proof of concept for a more biologically grounded, and hence more scientifically useful, model developed in the next chapter. Thus, further analysis concerning these function choices is not carried out here. Likewise, the non-generic semi-stability of the equilibria given in (8) can easily be 40 remedied into more robust full stability, but little would be gained from the effort given the purpose at hand. Perhaps the best extension of the MPO model would be the addition of intercellular coupling of the phase oscillators. This would allow the extension of the work by Riedel-Kruse and coworkers [69], in which the effect of coupling on phase synchronization in the initiation zone of the tailbud was investigated. Extending the present model would allow a more complete analysis of the effect of coupling on clock-wave formation and the arresting of oscillations in the presence of noise. In fact, very recent work by Morelli and coworkers [70] has presented and analyzed such a model, which incorporates biologically realistic delays in the intercellular coupling. Finally, it has been tacitly assumed that coupling between cells is a coordination/synchronization mechanism operating solely to overcome system noise. There is some evidence that, depending on the organism, the coupling may form a core component of the oscillator mechanism itself [2, 3, 28, 69, 71, 74, 78, 83, 84, 85, 95, 96]. Thus, eliminating the coupling in some systems may dampen or abolish oscillations altogether. This situation again reveals the limitations of phenomenological phase oscillator models that oversimplify the underlying biological mechanism of action. The next chapter offers a partial remedy of this problem by presenting a biologically informed model of posterior clock-wave formation during somitogenesis. 41 A DELAY DIFFERENTIAL EQUATION MODEL OF POSTERIOR CLOCK-WAVE FORMATION A good mathematical model is like a good map: it has just enough detail to help you get where you need to go. Although the multi-stable phase oscillator model presented in the previous chapter reproduces the key spatiotemporal dynamics of somitogenesis patterning, it lacks a specific biological mechanism of action. There are no underlying genetics or biochemistry. This can potentially limit the model’s usefulness in formulating and checking scientific hypotheses concerning somitogenesis. This chapter presents a biologically informed mathematical model for clock-wave formation in the posterior presomitic mesoderm (PSM), for which the function of many of the genetic and biochemical elements is reasonably well-established in several model organisms. Recall that the clock-wave is an experimentally observed spatiotemporal wave of gene expression in the PSM that arises from coordinated oscillations in gene expression at the cellular level. The clock-wave is understood to embody the clock in the clock and wavefront mechanism of somite formation. The present model reproduces the posterior portion of the waves of gene expression in the PSM that emanate from steady oscillations in the tailbud. The anterior fixation of the waves into bands of gene expression is not reproduced. Henceforth, the present model will be called the posterior clock-wave (PCW) model. In several model organisms, the genetic and biomolecular mechanisms of experimentally observed gradients in the PSM are now being established [7, 43, 64]. These spatiotemporal gradients move in accordance with the wavefront of determination that sweeps posteriorly across the anterior PSM, triggering the successive formation 42 of somites. Furthermore, several of these gradients have been directly implicated in the susceptibility of cells in the PSM to form somites [7, 97, 65, 98, 42]. Thus, these gradients are excellent candidates for the wavefront. As such, the wavefront can be appropriately be termed a gradient-wavefront. At this point in time, the biological elements that join the clock-wave and gradientwavefront to fully realize somite formation are not well-understood [7, 99]. However, some mathematically informed hypotheses are beginning to emerge [25, 29, 63, 100, 101]. The PCW model does not incorporate any elements of the gradient-wavefront in the clock and wavefront mechanism, and thus cannot be expected to reproduce the entire process of somitogenesis. However, the PCW does employ an experimentally observed posterior gradient of a so-called control protein, which controls the rate of oscillations by interacting with the clock protein via heterodimerization. Given the situation of current knowledge, the present work focuses on the initial formation of the clock-wave in the posterior PSM. While keeping the model on a firm biological foundation, an effort is made to incorporate a minimum of biological components of the cell-based clocks whose aggregate behavior generates the posterior clock-wave in the PSM. More specifically, a minimal genetic circuit is shown to control the rate of oscillatory gene expression across coupled cells in such a way that allows proper formation of the posterior clock-wave in the PSM. Previous delay differential equation (DDE) models by Lewis and coworkers [2, 4, 27] and Cinquin [30] are the primary motivation for the PCW model presented below. Having only four differential equations per cell, the PCW model maintains the simplicity and clarity of Lewis’s coupled two cell model, yet the PCW model can, like Cinquin’s model but with a much more transparent formulation, reproduce the dynamical waves of gene expression that form in the posterior PSM of zebrafish. 43 Furthermore, the new model suggests a novel biological mechanism underlying how competitive dimerization controls the oscillation rate. While other models have focused on saturating protein decay kinetics as an additional source of nonlinearity [29, 73, 75], the PCW model suggests that differential decay between clock protein monomer and dimer, including heterodimer with the control protein, is an important mechanism for slowing oscillations and generating the clock-wave in the posterior PSM. The Biological Components of the Clock The clock-wave arises from coordinated oscillatory gene-expression across cells in the PSM. In various model organisms, experiments have revealed multiple genes involved in oscillatory gene expression [3, 5, 74]. This has lead many investigators to distinguish components of the clock from outputs of the clock [14, 102]. Components of the clock include genes required to generate the clock’s oscillations as well as genes necessary to coordinate these oscillations. The expression of a component gene may or may not itself oscillate. Outputs of the clock include genes downstream from the component genes. Outputs typically oscillate as they are driven passively by the components of the clock. This distinction does not preclude outputs from being necessary for proper somite formation. Furthermore, intracellular and intercellular feedback loops in the genetic circuitry complicate the experimental identification of component vs. output [74]. With consideration of the above, the PCW model is composed of the interaction between three key, experimentally identified components that generate the clockwaveform. These cell-level components are: 1) a clock, 2) a control protein, and 3) a coordinating signal. Each component is discussed in turn below. Because the 44 present work was largely motivated by experiments and previous modeling work in the zebrafish model organism, a general discussion of each component is first given, followed by specific considerations of the component in zebrafish. The Clock Multiple oscillatory genes have been identified in the PSM of several model organisms, such as zebrafish, chick, and mouse [3, 5, 14, 103]. These genes typically exhibit some redundancy in function, complicating the characterization of a central pacemaker that drives the oscillatory expression of the remaining genes. Depending upon the model organism, the pacemaker may be a cell-autonomous genetic oscillator requiring single or multiple genes, or, it may require an intercellular network of genes [6]. In zebrafish, for example, expression of the basic helix-loop-helix (bHLH) her (hairy and enhancer-of-split related) genes her1, her7, her11, her12, and her15 oscillates in the PSM. Some of these genes are expressed across the entire PSM (her1 and her7), while others are expressed only anteriorly (her 11) or anteriorly and posteriorly with an interim space (her12 and her15) [5]. Gene knockout and protein morpholino knockdown experiments have suggested that there is at least some redundancy in the function of these genes, whose proteins are understood to act as transcriptional repressors after homo- or heterodimerization with other bHLH proteins [5]. The remaining bHLH genes her4, her6, her13.2 and hey1 are expressed in a non-oscillatory fashion in the zebrafish PSM [5]. With the exception of the posteriorly-to-anteriorly graded her13.2, these genes are expressed anteriorly in bands that indicate nascent somites [5]. It should be noted that several of the bHLH genes are active in other developing tissues in the zebrafish embryo [103]. Many also have homologues in higher organisms 45 such as mouse [103], where they are referred to as Hes genes. Several Hes genes have direct analogues in human. Furthermore, the bHLH structure is well-preserved evolutionarily from more primitive organisms, and was originally discovered in the developmental genes of the fruit fly Drosophila [104]. The three oscillatory genes her1, her7, and her12 have the most prominent effect upon posterior clock-wave formation in zebrafish [5, 105], and previous models have considered one or two clock-genes (her1 and/or her7) [2, 4, 27]. The PCW model assumes a cell-autonomous clock with a single clock-gene. Use of a single clock-gene is justified on the grounds that her genes show some redundancy in zebrafish, and that Hes7 in mouse oscillates independently of, for example, Hes1 [106], which apparently cannot sustain independent oscillations [83]. Admittedly, this is a considerable simplification of the genetic circuits of all model organisms. In the next chapter, this minimal assumption of a single clock-gene is shown to be sufficient for generating a biologically realistic clock-wave, which raises the interesting scientific question as to the reason for the presence of multiple clock-genes across several model organisms. Given the above considerations, the PCW model tracks both mRNA and protein levels of a single clock-gene. The clock protein is assumed to form a homodimer that represses its mRNA production after a delay. Three main sources of delay are the transcription and post-transcriptional processing of mRNA, the translation delay in protein production, and the transport of molecules between the nuclear and cytosolic compartments within a cell or between the cytosolic compartments of adjacent cells. This system is capable of autonomous, sustained oscillatory gene expression [27, 76, 77, 80]. The relative amounts of clock protein monomers, homodimers, and heterodimers with the control protein are explicitly tracked, allowing different decay rates for each [107]. 46 Control of clock mRNA transcription is modeled using the approach of Shea and Ackers [23, 108, 109], which includes parameters such as DNA binding energies and cooperativity between various protein transcription factors bound to the promoter at multiple binding sites. This modeling formalism is a significant simplification of eukaryotic transcription process [34, 108], but represents an initial step towards biological realism as compared to existing models such as [2, 27, 30]. The additional modeling details are particularly appropriate because of the presence of both repressors and activators controlling the clock-gene, such that monotonicity of the mRNA transcription rate with respect to the levels of transcription factors is no longer ensured [110]. The Control Protein Several spatiotemporally graded biomolecules have been identified in the PSM of multiple model organisms. In zebrafish, the posteriorly-to-anteriorly graded Her13.2 protein interacts with at least one of the clock proteins (Her1) and affects the formation of the clock-wave [111, 112]. Even though a direct interaction of oscillatory and graded bHLH proteins has not been verified in chick or mouse, the her13.2 gene is homologous to Hes6 in mouse [111, 113], and several biomolecular gradients have been identified in chick and mouse that could interact with one or more clock-genes [3, 7]. Motivated by experiments in zebrafish [30, 111, 112], we suppose that the graded control protein interacts with the clock protein by heterodimerization. Because Her13.2 protein has a truncated amino acid sequence normally used for DNA binding [111], it is assumed that neither control protein homodimers nor heterodimers with clock protein can repress clock-gene transcription. This is in contrast to the model of Cinquin [30], in which heterodimers may also repress transcription. In fur- 47 ther contrast to the model of Cinquin [30], because Her13.2 protein has a functional dimerization domain [111], homodimerization of the control protein is allowed. The control protein level is prescribed as an external control on the system, with a maximum value in the tailbud that deceases anteriorly in the PSM. The graded level of control protein, combined with competitive dimerization between control and clock proteins, results in slowing oscillation rates in successively anterior cells and the formation of a clock-wave. Furthermore, simulations show that the amount of slowing is a key factor in clock-wave formation, which agrees with experimental investigations [4]. Thus, the control protein influences the rate of oscillation generated by clock protein self-repression through competitive dimerization, which is a control mechanism seen in related bHLH networks [113, 114]. The Coordinating Signal In multiple model organisms, experiments have revealed components of the clock’s genetic circuit that are responsible for coordinating oscillations of clock-gene expression between cells through intercellular signaling. In all model organisms this intercellular coupling is achieved through the notch signaling pathway [3, 5], with more complex coupling pathways occurring in higher vertebrates such as chick and mouse [3, 7, 74, 115]. This has lead to considerable scientific debate concerning whether the coupling acts weakly to coordinate otherwise cell-autonomous oscillations, or, alternatively, whether the coupling plays a prominent role in generating oscillations [2, 72, 83, 96]. In the first case, a clock-gene’s expression continues to oscillate in the absence of intercellular signaling but loses coherence with other cells because of system noise. In the second case, inhibition of intercellular signaling causes oscillations to cease altogether, perhaps after transient, incoherent damping. Experiments precise enough to allow differentiation of these alternatives have been 48 difficult to conduct [99]. Furthermore, different scenarios could happen depending on the model organism, e.g., amniotes such as chick and mouse vs. lower vertebrates such as zebrafish. In zebrafish, the role of intercellular coupling is currently thought to be one of coordination, not generation, of oscillations [2, 5, 27, 28, 69, 78, 85, 95]. Constitutively expressed Notch proteins are released from a cell’s membrane into the cytoplasm (as Notch Intercellular Domain (NICD)) after extracellular binding with a Delta ligand (also a protein) presented through the membrane of an adjacent cell. In zebrafish, NICD has been shown to activate expression of bHLH genes such as her1 and her7, and the Notch ligand DeltaC oscillates in phase with these two clock-genes in the PSM [5]. The Notch ligand DeltaD does not oscillate, however, but it is necessary for coordinated oscillations and is constitutively expressed in the posterior PSM of zebrafish along with other required genes in the Notch pathway such as Su(H) [91, 116]. Informed by the oscillatory expression of DeltaC synchronized with clock-gene expression in zebrafish, the PCW model incorporates a single coordinating-signal gene and assumes that production of coordinating signal mRNA is repressed by clock protein homodimer and that the clock mRNA is activated by signaling protein from adjacent cells [27]. Because Notch signaling is non-diffusive and contact-dependent, the effect of signaling is confined to nearest neighbors. This arrangement is very similar to the one proposed in [27]. Following [2, 27], the effect of the coupling signal on the clock is assumed to be weaker than the clock-gene’s self-repression. Thus, the model anticipates that intercellular coupling coordinates oscillations instead of helping to drive them. While likely true for zebrafish [2, 28, 69, 78, 85, 95], this may not be a valid assumption in chick or mouse [3, 71, 74, 83, 84]. 49 Modeling Posterior Clock-Wave Formation: Uncoupled Cells The PCW model is premised on a cell-autonomous oscillator, with a gradient controlled oscillation rate and weak coupling for coordination of oscillations. Thus, an uncoupled model is presented first, followed by an extension of the model that adds intercellular coupling via a coordinating-signaling gene. The elements of the uncoupled model and its construction are discussed next. PSM Growth As with the phase oscillator model in Chapter 3, a line of K total cells along the medial anterior-to-posterior (AP) axis of the mesoderm is considered. Cells are assumed to enter the posterior-most PSM from the initiation zone in anterior-most tailbud at regularly spaced time intervals, without volume change or rearrangement [11]. Tk denotes the time of entry of the k th cell, and is given by the linear relationship in equation (6) from Chapter 3, page 27, which is repeated here: Tk := k−1 , λµ (11) where λ is the number of cells per AP somite length (assumed constant), and µ is the somite formation rate in somites per minute, which is equal to the oscillation frequency in the tailbud [5] (also assumed constant). These steady growth and oscillation assumptions should be a reasonable approximation over a significant portion of developmental time [93]. Model Variables On the cellular level, the dynamics of the oscillator are realized by a clock-gene and a control protein that interacts with the clock protein by competitive dimerization. 50 For each cell, the model’s state variables are the amount of total clock protein and mRNA, whereas the amount of total control protein is prescribed non-autonomously as an external control on the system. For the k th cell, let ck (t) represent the cytosolic copy number of clock mRNA as a function of time and define the nuclear copy number of total clock protein and total signal protein, respectively, as follows: bk (t) := Ck (t) + 2 C:C k (t) + C:Gk (t), C (12) bk (t) := Gk (t) + 2 G:Gk (t) + C:Gk (t), G (13) where Ck , C:C k , Gk , G:Gk , and C:Gk are the nuclear copy number of clock protein monomer, clock protein homodimer, control protein monomer, control protein homodimer, and clock protein heterodimer with control protein, respectively. The Control Protein bk (t) is assumed to be controlled The amount of nuclear total control protein G by an external system that is not explicitly modeled here. Before cell k leaves the bk (t) is assumed to be maintained at tailbud and enters the posterior PSM (t < Tk ), G bmax . After entering the PSM (t ≥ Tk ), the total control protein a maximal constant G bk (t) is is assumed to decrease monotonically to zero with half-life τ 1 . Altogether, G 2 given by bk (t) = G bmax · g(t − Tk ; τ 1 ), G 2 (14) 51 with the continuously differentiable function g given by 1, t ≤ 0, „ «. 2 t−τ 1 t 2 1 − 1 e , 0 < t ≤ τ1 , 2 2 „ «.„ « g(t; τ 1 ) = 2 2 t−τ 1 t−2 τ 1 1 2 2 , e τ1 ≤ t < 2 τ1 , 2 2 2 0, 2 τ 1 ≤ t, (15) 2 where τ 1 > 0 is a half-life parameter. The function g is sigmoidal, non-increasing, 2 concave down for 0 < t < τ 1 , and concave up for τ 1 < t < 2 τ 1 . When viewed axially 2 2 2 along an AP line of PSM cells, the resulting spatial profile agrees qualitatively with those computed in [64]. See Figure 13. Other gradient profiles are certainly possible, such as the following simple exponential profile [43] 1, gexp (t; τ 1 ) = ln 2 2 − t τ1 2 e t ≤ 0, (16) 0 < t. Note that gexp is continuous but not differentiable at t = 0, and therefore the resulting spatial profile is not smooth where cells exit the tailbud. The Intracellular Clock Clock protein is produced as monomer at the ribosomes in the cytosol, but is active as a homodimerized repressor in the nucleus. Clock mRNA is produced at the DNA in the nucleus, but it is translated into protein in the cytosol. Following Lewis [27], the units of protein and mRNA concentrations are copy number per nuclear and cytosolic compartment, respectively. 52 Temporal Gradient, Cells 1 and 10 Cell 1 Cell 10 1 0.8 0.6 0.4 0.2 0 0 50 100 150 Time (min.) Spatial Gradient, Time= 84 min. (b) 200 Normalized Total Control Protein Normalized Total Control Protein (a) 1 0.8 0.6 0.4 0.2 0 1 10 20 30 40 50 Cell # (1 is anterior) Figure 13: Total control protein gradients. The spatiotemporal gradient of the nork (t) malized total control protein, G b max = g(t − Tk ; 30), where t is time, Tk is the time G that cell k exits the tailbud, and τ 1 = 30 minutes is the half-life. (a) Spatiotemporal 2 gradient as a function of time in cell one, g(t − T1 ; 30), and cell ten, g(t − T10 ; 30). Cell ten, which exits from tailbud later than the cell one (T1 < T10 ), maintains the high level of total control protein for a longer time. (b) Spatiotemporal gradient as a function of cell position given by g(84 − Tk ; 30), k = 1 to 50. As tailbud growth adds cells to the PSM, the tailbud-PSM boundary moves right, and the spatial gradient profile follows this moving boundary. b 53 Competitive dimerization of the clock and control proteins is represented by the following three possible bidirectional dimerization reactions: 2C + kC:C − kC:C C:C, 2G + kG:G − kG:G G:G, and C + G + kC:G − kC:G C:G, (17) where the forward and reverse (strictly) positive reaction rates are given above and below the arrows, respectively. Using mass action kinetics for the protein dimerization reactions (17), and considering the production and decay of all forms of the clock protein and of clock mRNA, leads to the following system of delay differential equations that describe the dynamics of the clock-gene in the k th cell: − Ċk (t) = αC ck (t − τC ) − βC Ck (t) + 2 kC:C C:C k (t) − + − + 2 kC:C (Ck (t))2 + kC:G C:Gk (t) − kC:G Ck (t) Gk (t), ˙ k (t) = −βC:C C:C k (t) − k − C:C k (t) + k + (Ck (t))2 , C:C C:C C:C (18) (19) − G:Gk (t) − Ġk (t) = Pk (t) − βG G(t) + 2 kG:G + − + 2 kG:G (Gk (t))2 + kC:G C:Gk (t) − kC:G Ck (t) Gk (t), (20) ˙ k (t) = −βG:G G:Gk (t) − k − G:Gk (t) + k + (Gk (t))2 , G:G G:G G:G (21) ˙ k (t) = −βC:G C:Gk (t) − k − C:Gk (t) + k + Ck (t) Gk (t), C:G C:G C:G (22) ċk (t) = γc Hn (C:C k (t − τc )) − δc ck (t), (23) where the function Hn represents the nonlinear effect of the repressive homodimer C:C on mRNA production and is described in detail below. Greek letters represent non-negative model parameters. The parameter αC is the production rate of protein (as monomer) from mRNA occurring with delay τC . Parameters βC , βC:C , and βC:G are the linear decay rates of clock protein in monomer, homodimer, and heterodimer 54 forms, respectively. The parameter γc affects the mRNA production rate, which occurs with delay τc . The parameter δc is the linear mRNA decay rate. It is assumed that all forms of control protein may decay linearly with rates βG , βG:G , βC:G . Furthermore, the production of control protein monomer, given by the function Pk (t), is assumed to be chosen such that the total control protein in cell k is prescribed by (14). Taking a time derivative of (12) and using equations (18)–(19) gives: b˙ k (t) = Ċk (t) + 2 C:C ˙ k (t) + C:G ˙ k (t) C = αC ck (t − τC ) − βC Ck (t) − 2 βC:C C:C k (t) − βC:G C:Gk (t). Pre-appending this differential equation for total clock protein to the above system gives the following: b˙ k (t) = αC ck (t − τC ) − βC Ck (t) − 2 βC:C C:C k (t) − βC:G C:Gk (t), C (24) − Ċk (t) = αC ck (t − τC ) − βC Ck (t) + 2 kC:C C:C k (t) − − + + (Ck (t))2 + kC:G C:Gk (t) − kC:G Ck (t) Gk (t), 2 kC:C ˙ k (t) = −βC:C C:C k (t) − k − C:C k (t) + k + (Ck (t))2 , C:C C:C C:C (25) (26) − Ġk (t) = Pk (t) − βG Gk (t) + 2 kG:G G:Gk (t) − + − + 2 kG:G (Gk (t))2 + kC:G C:Gk (t) − kC:G Ck (t) Gk (t), (27) ˙ k (t) = −βG:G G:Gk (t) − k − G:Gk (t) + k + (Gk (t))2 , G:G G:G G:G (28) ˙ k (t) = −βC:G C:Gk (t) − k − C:Gk (t) + k + Ck (t) Gk (t), C:G C:G C:G (29) ċk (t) = γc Hn (C:C k (t − τc )) − δc ck (t). (30) 55 Note that the special case where βC = βC:C = βC:G =: βCb gives linear decay of total clock protein, i.e., equation (24) becomes b˙ k (t) = αC ck (t − τC ) − βC Ck (t) − 2 βC:C C:C k (t) − βC:G C:Gk (t) C = αC ck (t − τC ) − βCb (Ck (t) + 2 C:C k (t) + C:Gk (t)) bk (t). = αC ck (t − τC ) − βCb C (31) Differential decay of protein monomers and dimers has been shown to have important implications on system dynamics [107], thus nonlinear decay of total protein, in which βC , βC:C , and βC:G are not all equal, is considered during model validation in the next chapter. System (24)–(30) can be simplified considerably by making a fast dimerization approximation [107, 109]. This approximation relies upon the assumption that the dimerization reactions (17) occur on a much faster timescale than all other production and decay processes [117]. The details of this approach are discussed further below. Clock-Gene Regulation by a Single Repressive Transcription Factor The transcription factor C:C is assumed to down-regulate clock mRNA production through one or more cis binding sites at the gene’s promoter1 , and the number of such binding sites can be a key factor in the generation of sustained oscillations [81]. The binding of this transcription factor to DNA is assumed to be in thermodynamic equilibrium, and the approach of Shea and Ackers [23, 108, 109] is used to derive the function Hn in equation (30), where n = 1 or 2 binding sites. This function models the probability that the RNA polymerase II (RNAP-II) transcription complex is 1 A cis binding site is on the same side of the DNA as the gene’s promoter region. 56 assembled on a gene’s promoter. Specifically, Hn (C:C) = ZON , ZON + ZOFFn where ZON and ZOFFn are sums of terms representing states where RNAP-II complex is bound or unbound, respectively, to the gene’s promoter. The ratio gives the probability that the promoter is in the RNAP-II bound state in which clock mRNA transcription occurs. In this case, ZON = ρP P and ZOFFn = 1 + Ψn (C:C), so that Hn (C:C) = ρP P , ρP P + (1 + Ψn (C:C)) (32) The term in the numerator in (32) represents the single RNAP-II bound state in which mRNA transcription occurs, while the terms in denominator represents all possible states of the promoter. The function Ψn depends upon the number n of cis binding sites for the repressor C:C and is described more fully next. The terms in the numerator and denominator of (32) are derived from the DNA binding energies and concentrations of various biomolecules. For example, the binding probability of a single RNAP-II complex to the gene’s promoter is represented by the product of the binding affinity ρP for RNAP-II complex and the copy number P of the complex. The binding affinity has units of inverse copy number, and may be computed from the binding energy ∆GP < 0 of the RNAP-II complex using the thermodynamically derived formula ρP := e ∆GP RT , where R is the ideal gas constant and T is the temperature [23]. In the denominator of (32), the zero energy state with ∆G0 nothing bound to DNA (∆G0 = 0) is represented by the constant 1 = e0 = e R T . 57 While binding energies have been measured in certain model prokaryotic systems [23, 108, 109, 118], to this author’s best knowledge they have not been measured for any of the eukaryotic cells in which somitogenesis is studied. Thus, binding affinity parameters must be estimated from a biologically realistic range during model validation, as discussed in the next chapter. Furthermore, the unitless parameter ρ := ρP P is estimated instead of estimating both the binding affinity ρP for RNAP-II complex and the copy number P of the complex, which is assumed constant. The lumped parameter ρ incorporates the assembly of the RNAP-II complex, a process which, in eukaryotes, can involve several intermediate steps [119, see Fig. 6-16], and which are assumed fast relative to other processes. This modeling formalism is a significant simplification of the eukaryotic transcription process [34], but it represents an appropriate step towards biological realism as compared to existing models [108]. The repression of the C:C dimer is assumed to be ideal, i.e., the binding of repressor and RNAP-II complex is assumed to be mutually exclusive. The function Ψn (C:C) represents the states of self-repression of the clock mRNA by clock protein homodimer, C:C, given n binding sites. See Figure 14 a–b. For one binding site, Ψ1 (C:C) := ρC:C C:C, (33) where ρC:C is the binding affinity for the C:C dimer to the single binding site, with units of inverse copy number. For two binding sites, Ψ2 (C:C) = ρC:C- C:C + ρ-C:C C:C + ωC:C (ρC:C- C:C) (ρ-C:C C:C) , (34) where ρC:C- and ρ-C:C are the binding affinities for the C:C homodimer to the first and second binding site, respectively. ωC:C ≥ 0 is the unitless cooperativity between 58 Figure 14: Binding site configurations. Possible cis binding site configurations at the clock-gene promoter. P is RNAP-II transcription complex which binds to the blue region. C:C is the clock protein homodimer which prevents P from binding by binding to the red region(s). N is an activator which binds to the green region adjacent to the P and C:C binding sites. (a) One repressor binding site with no activation. (b) Two repressor binding sites with no activation. (c) One repressor binding site with activation. (d) Two repressor binding sites with activation. two simultaneously bound C:C homodimers, which accounts for any additional energy released (or required) when two homodimers bind simultaneously. For simplicity in the face of lack of knowledge, each site is assumed equally likely to be bound by C:C dimer, so that ρC:C- = ρ-C:C =: ρC:C , and equation (34) reduces to Ψ2 (C:C) := 2 (ρC:C C:C) + ωC:C (ρC:C C:C)2 . (35) Altogether, gene regulation with one or two binding sites for a single, ideal repressor is given by the function Hn (C:C) := ρ , ρ + (1 + Ψn (C:C)) (36) with n = 1 or 2, and the functions Ψ1 and Ψ2 given by equations (33) and (35), respectively. The function Hn can be viewed as a generalization of the monotonic Hill 59 functions typically used to model mRNA transcription [110], such as in differential equation (5) of the Lewis model on page 20. Modeling Posterior Clock-Wave Formation: Coupled Cells The model developed above does not include intercellular signaling. Coupling between cells is now added to produce the full PCW model. Intercellular Signaling The dynamics of the coordinating signal protein, Sk , and mRNA, sk , in the k th cell are given by the following equations, which are respectively similar to (24) and (30): Ṡk (t) = αS sk (t − τS ) − βS Sk (t), ṡk (t) = γs H1 (C:C k (t − τs )) − δs sk (t), with Greek letters representing the analogous parameters and H1 as given in equation (36). To the best of this author’s knowledge, there are no experimental data concerning the precise action of repressive clock protein dimers at the coordinatingsignal gene’s promoter. Following [2, 27], one binding site is assumed. Note that the coordinating signal protein S acts in the nuclei of adjacent cells. Thus, τS includes the cell membrane exchange time for the coordinating signal protein, and is typically an order of magnitude larger than τC . Clock-Gene Regulation by Both Repressive and Activating Transcription Factors The coordinating signal protein influences adjacent cells by up-regulation of clockgene expression in adjacent cells [120]. The combined effect of self-inhibition and 60 activation from adjacent cells requires replacing the dynamics of the clock mRNA (equation (30)) with the following delay differential equation: ċk (t) = γc Fn (C:C k (t − τc ), Nk (t − τc )) − δc ck (t), where X Nk (t) := Si (t) (37) {i : cell i adjacent to cell k} is the total signal from neighboring cells, and is called the signaling protein in cell k. Following [2, 27], this summation is a simplification of the membrane-mediated signal transduction of the Notch intercellular communication pathway [121]. In particular, the possible nonlinear effects of membrane receptor saturation are not considered. The function Fn represents the combined effect of the repressor C:C and activator N on clock mRNA production. Again using the approach of Shea and Ackers [23, 108, 109], Fn is given by the following probability ratio: Fn (C:C, N ) = ZON , ZON + ZOFFn where ZON and ZOFFn are sums of terms representing states where RNAP-II complex is bound or unbound, respectively, to the gene’s promoter. The positive integer n is the number of cis binding sites for the repressor, while the activator is assumed to have only one binding site. See Figure 14 c–d. As before, the binding of the repressor and RNAP-II complex is mutually exclusive, however binding of repressor and activator is not assumed to be mutually exclusive. Transcription proceeds only in those states in which RNAP-II complex is bound, which may or may not occur cooperatively with activator. 61 Consideration of the two possible RNAP-II bound states gives ZON = ρP P 1 + ωN (ρN N ) = ρP P (1 + ωN -P (ρN N )) = ρ (1 + ωN (ρN N )) , where ρ := ρP P , as before. ρN is the binding affinity of the activator N induced by adjacent cells’ coordinating signal protein S (recall equation (37)). The assumption that intercellular coupling is weak relative to intracellular negative feedback means that ρN ρC:C . ωN > 1 is the cooperativity between the activator N and the RNAP-II complex. For one repressor binding site, consideration of all the RNAP-II unbound states gives ZOFF1 = 1 + ρC:C C:C + ρN N + ωN -C:C (ρN N ) (ρC:C C:C) , where ωN -C:C represents the cooperativity between simultaneously bound repressor and activator molecules. Consideration of two repressor binding sites gives ZOFF2 = 1 + ρC:C- C:C + ρ-C:C C:C + ωC:C (ρC:C- C:C) (ρ-C:C C:C) + ρN N + ωN -C:C- (ρN N ) (ρC:C- C:C) + ωN --C:C (ρN N ) (ρ-C:C C:C) + ωN -C:C-C:C (ρN N ) (ρC:C- C:C) (ρ-C:C C:C) , where ωN -C:C- , ωN --C:C , and ωN -C:C-C:C represent the cooperativity between simultaneously bound repressor and activator molecules, with the first, second, and both repressor site(s) occupied, respectively. As before, ρC:C- and ρ-C:C are the binding affinities for the C:C homodimer to the first and second binding site, respectively, with simultaneous binding cooperativity ωC:C . To the best of the this author’s knowledge, no experimental data are available on the binding affinities and cooperativities for the repressor and activator in PSM cells. 62 In response to this lack of knowledge, two straightforward, simplifying assumptions are as follows: 1. The activator N and the repressor C:C bind independently of each other, so that for one binding site ωN -C:C = 1, while for two binding sites ωN -C:C- = ωN --C:C = 1 and ωN -C:C-C:C = ωC:C . 2. For two binding sites, the binding affinity of the repressor at each binding site is the same, i.e., ρC:C- = ρ-C:C =: ρC:C . Applying these assumptions on the parameters for one binding site gives ZOFF1 = 1 + ρC:C C:C + ρN N + (ρN N ) (ρC:C C:C) = 1 + ρC:C C:C + ρN N (1 + ρC:C C:C) = (1 + ρN N ) (1 + ρC:C C:C) = (1 + ρN N ) (1 + Ψ1 (C:C)) , where Ψ1 is given as before by equation (33). For two binding sites ZOFF2 = 1 + 2 (ρC:C C:C) + ωC:C (ρC:C C:C)2 + ρN N + 2 (ρN N ) (ρC:C C:C) + ωC:C (ρN N ) (ρC:C C:C)2 = 1 + 2 (ρC:C C:C) + ωC:C (ρC:C C:C)2 + ρN N 1 + 2 (ρC:C C:C) + ωC:C (ρC:C C:C)2 = (1 + ρN N ) 1 + 2 (ρC:C C:C) + ωC:C-C:C (ρC:C C:C)2 = (1 + ρN N ) (1 + Ψ2 (C:C)) , 63 where Ψ2 is given as before by equation (35). Altogether, for n = 1 or 2, the function Fn is given by Fn (C:C, N ) := ρ (1 + ωN ρN N ) . ρ (1 + ωN ρN N ) + (1 + ρN N ) (1 + Ψn (C:C)) (38) The same repressor binding affinity of clock dimers, ρC:C , is used in both Fn and Hn (equation (36) on page 58), even though in the full PCW model these functions represent activity at different genes. While this and the other simplifying assumptions may restrict the PCW model’s behavior, it is a reasonable compromise given the lack of measured parameter data, and it significantly reduces the number of parameters that must be estimated during model validation. 64 Interim Model Summary Altogether, the full model is given by the following system of delay differential equations in each cell: b˙ k (t) = αC ck (t − τC ) − βC Ck (t) − 2 βC:C C:C k (t) − βC:G C:Gk (t), C (39) − Ċk (t) = αC ck (t − τC ) − βC Ck (t) + 2 kC:C C:C k (t) − + + − (Ck (t))2 + kC:G C:Gk (t) − kC:G Ck (t) Gk (t), 2 kC:C ˙ k (t) = −βC:C C:C k (t) − k − C:C k (t) + k + (Ck (t))2 , C:C C:C C:C (40) (41) − Ġk (t) = Pk (t) − βG Gk (t) + 2 kG:G G:Gk (t) − + − + 2 kG:G (Gk (t))2 + kC:G C:Gk (t) − kC:G Ck (t) Gk (t), (42) ˙ k (t) = −βG:G G:Gk (t) − k − G:Gk (t) + k + (Gk (t))2 , G:G G:G G:G (43) ˙ k (t) = −βC:G C:Gk (t) − k − C:Gk (t) + k + Ck (t) Gk (t), C:G C:G C:G (44) ċk (t) = γc Fn (C:C k (t − τc ), Nk (t − τc )) − δc ck (t), (45) Ṡk (t) = αS sk (t − τS ) − βS Sk (t), (46) ṡk (t) = γs H1 (C:C k (t − τs )) − δs sk (t), (47) where Nk (t) = X Si (t), (48) {i : cell i adjacent to cell k} and subject to the following constraints: bk (t) = Ck (t) + 2 C:C k (t) + C:Gk (t), C (49) bk (t) = Gk (t) + 2 G:Gk (t) + C:Gk (t). G (50) 65 where the total control protein is prescribed by bk (t) = G bmax · g(t − Tk ; τ 1 ). G 2 (51) The next section explains how a fast dimerization approximation is used to significantly simplify this model, enabling efficient numerical solution and analysis of the model, as well as validation of the model in the next chapter. The Fast Dimerization Approximation The above system will now be non-dimensionalized in order to make a fast dimerization approximation. In this approximation, the protein dimerization reactions (17) are assumed to be much faster than the other production and decay processes of clock and control protein. Intuitively, this approximation makes the equilibration of the dimerization reactions (17) instantaneous as the levels of total control protein and total clock protein fluctuate in time. To this end, time is rescaled to dimensionless time τ with respect to the maximum production or decay rate of clock and control protein. Specifically, τ := ν t, where ν := max {αC , βC , βC:C , 1, βG , βG:G , βC:G } (52) has units of inverse time. Without loss of generality, the cell number subscripts are b omitted, and the dependent variables are rescaled to the dimensionless variables X, 66 X, X:X, Yb , Y , Y :Y , X:Y , x, W , b τ C ν b ) := X(τ , κC:C b τ G ν Yb (τ ) := , κG:G C:G ντ X:Y (τ ) := , κC:G S ντ Z(τ ) := γs , Z, and z as follows: C ντ X(τ ) := , κC:C G ντ Y (τ ) := , κG:G c ντ x(τ ) := , κC:C s ντ z(τ ) := γs , αS C:C ντ X:X(τ ) := , κC:C G:G ντ Y :Y (τ ) := , κG:G N ντ W (τ ) := γs , αS αS where the positive dimerization dissociation constants are defined as follows: κC:C := − kC:C + , kC:C each with units of copy number. κG:G := γs , αS − kG:G + , kG:G and κC:G := − kC:G + , kC:G also with units of copy number, is a convenient choice for rescaling the coordinating signal protein, mRNA, and signaling protein. This choice does not affect the derivation of the fast dimerization approximation. The equations in system (39)–(47) are rewritten in the new dimensionless variables as follows: b˙ τ C ν b 0 (τ ) = X ν κC:C C αC c τ −τ − βC C ντ − 2 βC:C C:C ντ − βC:G C:G ντ ν = ν κC:C τC βC βC:C βC:G κC:G αC = x τ− − X(τ ) − 2 X:X(τ ) − X:Y (τ ), ν ν ν ν ν κC:C Ċ ντ 0 X (τ ) = νκ C:C τ τ τ 2 τ − τC − + C = αC c − βC C + 2 kC:C C:C − 2 kC:C + ν ν ν ν , τ τ τ − + kC:G C:G − kC:G C G (ν κC:C ) ν ν ν − αC τC βC kC:C = x τ− − X(τ ) + 2 X:X(τ ) − (X(τ ))2 + ν ν ν ν − kC:G κC:G κG:G X:Y (τ ) − X(τ ) Y (τ ) , ν κC:C κC:G 67 ˙ τ C:C ν X:X (τ ) = ν κC:C −βC:C C:C = 0 2 − + − kC:C C:C ντ + kC:C C ντ ν κC:C − k X2 (τ ) − C:C X2 (τ ) − (X1 (τ ))2 , ν τ ν βC:C ν Ġ ντ 0 Y (τ ) = νκ G:G τ τ τ τ 2 − + = P − βG G + 2 kG:G G:G − 2 kG:G G + ν ν ν ν τ τ τ . + − − kC:G C G kC:G C:G (ν κG:G ) ν ν ν − P ντ βG kG:G = − Y (τ ) + 2 G:G(τ ) − (Y (τ ))2 + ν κG:G ν ν − kC:G κC:G κC:C X:Y (τ ) − X(τ ) Y (τ ) , ν κG:G κC:G =− ˙ τ G:G ν Y :Y (τ ) = ν κG:G −βG:G G:G = 0 2 − + − kG:G G:G ντ + kG:G G ντ ν κG:G − βG:G k =− Y :Y (τ ) − G:G Y :Y (τ ) − (Y (τ ))2 , ν ν ˙ τ C:G 0 ν X:Y (τ ) = ν κC:G − + −βC:G C:G ντ − kC:G C:G ντ + kC:G C ντ G ντ = ν κC:G − βC:G kC:G κC:C κG:G =− X:Y (τ ) − X:Y (τ ) − X(τ ) Y (τ ) , ν ν κ2C:G τ ν τ ċ ν x0 (τ ) = ν κC:C c c γc Fn C:C τ −τ , N τ −τ − δc c ντ ν ν = ν κC:C γc τc αS τc δc = Fn κC:C X:X τ − W τ− − x(τ ), , ν κC:C ν γs ν ν 68 Ṡ Z(τ ) = ν = τ ν γs αS αS s τ −τS ν ν − βS S τ ν γs αS αS τS βS z τ− Z(τ ), − ν ν ν ṡ ντ z(τ ) = γs ν αS s γs H1 C:C τ −τ − δs s ντ ν = ν αγSs τs δs αS H1 κC:C X:X τ − − z(τ ). = ν ν ν = 69 Altogether, this gives the following equivalent non-dimensionalized system, which has small parameters if the dimerization reactions (17) are fast: b 0 (τ ) = αC x τ − τC − βC X(τ ) − X ν ν ν βC:C βC:G κC:G X:X(τ ) − X:Y (τ ), 2 ν ν κC:C ν αC τC βC 0 X (τ ) = x τ − − − X(τ ) + 2 X:X(τ ) − (X(τ ))2 + − − ν kC:C kC:C kC:C − kC:G κC:G κG:G X:Y (τ ) − X(τ ) Y (τ ) , − κC:C κC:G kC:C ν βC:C X:X(τ ) − X:X(τ ) − (X(τ ))2 , − kC:C 1 P ντ ν βG 0 Y (τ ) = − − − Y (τ ) + 2 Y :Y (τ ) − (Y (τ ))2 + − kG:G kG:G κG:G kG:G − kC:G κC:C κC:G X:Y (τ ) − X(τ ) Y (τ ) , − κG:G κC:G kG:G − kC:C ν X:X 0 (τ ) = − βG:G Y :Y (τ ) − Y :Y (τ ) − (Y (τ ))2 , − kG:G ν βC:G κC:C κG:G 0 X(τ ) Y (τ ) , X:Y (τ ) = − − X:Y (τ ) − X:Y (τ ) − − κ2C:G kC:G kC:G τc γc τc αS δc 0 x (τ ) = − x(τ ), Fn κC:C X:X τ − , W τ− ν κC:C ν γs ν ν αS τS βS Z(τ ) = z τ− Z(τ ), − ν ν ν αS τs δs z(τ ) = H1 κC:C X:X τ − − z(τ ). ν ν ν − kG:G Y :Y 0 (τ ) = − Given the following unitless parameter definitions: ν εX := − , kC:C εY := − , kG:G εX:Y := − , kC:G ν ν εαC := ε1 := εβC:G := αC − , kC:C 1 − , kG:G βC:G − , kC:G εβC := βC − , kC:C εβC:C := βC:C − , kC:C εβG := βG − , kC:G εβG:G := βG:G − , kC:G 70 by the definition of ν (see (52)), it follows that ε∗ ≤ εX , for ∗ ∈ {αC , βC , βC:C }, ε∗ ≤ εY , for ∗ ∈ {1, βG , βG:G }, εβC:G ≤ εX:Y . (Note that the output of the function P is defined to have units of copy number, so that the constant 1 in the above definition of ε1 has units of inverse time, corresponding to the use of this constant in the definition of ν in (52).) Rewriting yet again, the system becomes: b 0 (τ ) = αC x τ − τC − βC X(τ ) − X ν ν ν βC:G κC:G βC:C X:X(τ ) − X:Y (τ ), 2 ν ν κC:C τC − εβC X(τ ) + 2 X:X(τ ) − (X(τ ))2 + εX X 0 (τ ) = εαC x τ − ν − kC:G κG:G κC:G X:Y (τ ) − X(τ ) Y (τ ) , − κC:C κC:G kC:C εX X:X 0 (τ ) = −εβC:C X:X(τ ) − X:X(τ ) − (X(τ ))2 , P ντ 0 − εβG Y (τ ) + 2 Y :Y (τ ) − (Y (τ ))2 + εY Y (τ ) = εPG κG:G − kC:G κC:G κC:C X:Y (τ ) − X(τ ) Y (τ ) , − κG:G κC:G kG:G εY Y :Y 0 (τ ) = −εβG:G Y :Y (τ ) − Y :Y (τ ) − (Y (τ ))2 , κC:C κG:G 0 X(τ ) Y (τ ) , εX:Y X:Y (τ ) = −εβC:G X:Y (τ ) − X:Y (τ ) − κ2C:G γc τc αS τc δc 0 x (τ ) = Fn κC:C X:X τ − , W τ− − x(τ ), ν κC:C ν γs ν ν αS τS βS Z(τ ) = z τ− Z(τ ), − ν ν ν αS τs δs z(τ ) = H1 κC:C X:X τ − − z(τ ). ν ν ν (53) (54) (55) (56) (57) (58) (59) (60) (61) 71 − The fast equilibrium approximation of this system is given in the limit as kC:C → − − ∞, kG:G → ∞, and kC:G → ∞ such that − kC:G − kC:C and − kC:G − kG:G both remain bounded. In these limits, ε∗ → 0 for all ∗ ∈ {X, Y, X:Y , αC , βC , βC:C , 1, βG , βG:G , βC:G }. − − − Thus, as kC:C → ∞, kG:G → ∞, and kC:G → ∞, all ε’s go to zero, and the system simplifies to b 0 (τ ) = αC x τ − τC − βC X(τ ) − 2 βC:C X:X(τ ) − βC:G κC:G X:Y (τ ), (62) X ν ν ν ν ν κC:C X:X(τ ) = (X(τ ))2 , (63) Y :Y (τ ) = (Y (τ ))2 , (64) κC:C κG:G X(τ ) Y (τ ), κ2C:G τc αS τc γc δc 0 Fn κC:C X:X τ − , W τ− − x(τ ), x (τ ) = ν κC:C ν γs ν ν τS βS αS z τ− − Z(τ ), Z(τ ) = ν ν ν αS τs δs z(τ ) = H1 κC:C X:X τ − − z(τ ). ν ν ν X:Y (τ ) = (65) (66) (67) (68) Note that the right hand sides of (54) and (56) are both zero in the limit under the assumption that both the ratios − kC:G − kC:C and − kC:G − kG:G remain bounded and by considering the limiting relationships given by (55), (57), and (58). Both dimerization reaction directions are indeed fast in this approximation because assuming − kC:C → ∞, − kG:G → ∞, − kC:G →∞ and that κC:C , κG:G , and κC:G remain bounded, implies + kC:C = − kC:C → ∞, κC:C + kG:G = − kG:G → ∞, κG:G + kC:G = − kC:G → ∞. κG:G 72 Furthermore, in practice, ν = max {αC , βC , βC:C , 1, βG , βG:G , βC:G } = 4.5 minute−1 , so that εX = εY = εX:Y = ν − kC:C ν − kG:G ν − kC:G − 1 when kC:C 4.5 minute−1 , − 1 when kG:G 4.5 minute−1 , − 4.5 minute−1 . 1 when kC:G Not only are the dimerization reaction rates typically unknown, the dissociation constants are also typically unknown. Thus, the parameters κC:C , κG:G , and κC:G , which remain after the fast dimerization approximation, often must be estimated from a biologically realistic range of values. By considering the non-dimensionalized versions of (49)–(50), system (62)–(68) is subject to the following constraints: b ) = X(τ ) + 2 X:X(τ ) + κC:G X:Y (τ ), X(τ κC:C κC:G Yb (τ ) = Y (τ ) + 2 Y :Y (τ ) + X:Y (τ ). κG:G Appending these constraints and renaming parameters as follows: τX := τC , ν αX := τx := τc , ν γx := τZ := τS , ν αZ := αC , ν βX := βC , ν βX:X := βC:C , ν βX:Y := βC:G , ν γc , ν κC:C δx := δc , ν κX := κC:C , κC:G κY := κG:G , κC:G αS , ν βZ := βS , ν τz := τs , ν δz := δs , ν 73 gives the following equivalent non-dimensionalized system after some algebraic simplification and reintroduction of cell indexing: bk0 (τ ) = αX xk (τ − τX ) − βX Xk (τ ) − X 2 2 βX:X Xk (τ ) − βX:Y κY Xk (τ ) Yk (τ ), 2 α S 0 xk (τ ) = γx Fn κC:C Xk (τ − τx ) , Wk (τ − τx ) − δx xk (τ ), γs (69) (70) Zk (τ ) = αZ zk (τ − τZ ) − βZ Zk (τ ), 2 − δz zk (τ ), zk (τ ) = αZ H1 κC:C Xk (τ − τz ) (72) bk (τ ) = Xk (τ ) + 2 Xk (τ ) 2 + κY Xk (τ ) Yk (τ ), X (73) 2 Ybk (τ ) = Yk (τ ) + 2 Yk (τ ) + κX Xk (τ ) Yk (τ ), (74) (71) where Wk (τ ) = X Zi (τ ). (75) {i : cell i adjacent to cell k} If the last two nonlinear algebraic equations in this system ((73)–(74)) can be solved bk (τ ) and Ybk (τ ), then this solution can be to give Xk (τ ) and Yk (τ ) as functions of X used to remove dependence on Xk (τ ) and Yk (τ ) in the remaining equations. Algebraic Solution of the Fast Dimerization Equations (73)–(74) can be solved algebraically for Xk (t) and Yk (t) in terms of bk (t) and Ybk (t). Omitting the cell index and dimensionless time from the notation, X these two equations can be rewritten as b 0 = 2 X 2 + (1 + κY Y ) X − X, (76) 0 = 2 Y 2 + (1 + κX X) Y − Yb . (77) 74 The quadratic formula can be used to solve equation (77) for the non-negative root Y in terms of X giving Y = − (1 + κX X) + 1 = 4 q (1 + κX X)2 − 4 · 2 (−Yb ) 2·2 q b (1 + κX X) + 8 Y − (1 + κX X) . 2 Substituting this expression for Y into equation (76) gives q κY 2 2 b (1 + κX X) + 8 Yb − (1 + κX X) X − X. 0 = 2X + 1 + 4 (78) Squaring both sides of the following equivalent equation: q κY 2 b b − 2 X 2 − 1 − κY (1 + κX X) X (1 + κX X) + 8 Y X = X 4 4 gives the following quartic polynomial equation in X: κ κ Y X + κY − 4 x3 + 2 ! b κY κ2Y Yb κY κX X b − 1 X2 + − + + 4X 2 2 2 0 = (κY κX − 4) X 4 + b b − κY X 2X 2 ! b 2 . (79) X −X A non-negative solution to equation (78) is also a solution to the quartic equation (79), however existence and uniqueness of such a solution is not immediately transparent and extraneous roots may be introduced. Furthermore, the formula for the four roots of equation (79) is somewhat complicated and automating root selection in software requires a rather elaborate algorithm. An alternative approach employs a simple iterative numerical scheme to solve the nonlinear system (76)–(77). As shown in the next section, this scheme has certain theoretical and computational advantages: under a broad range of parameters it gives efficient convergence to a unique non-negative root of the system (76)–(77). A noteworthy advantage of this iterative numerical technique is that it extends nicely to competitive dimerization of three or more proteins, whereas a purely algebraic approach becomes intractable (see Appendix B). 75 An Iterative Numerical Scheme for Computing the Fast Dimerization The derivation of an iterative scheme for solving the system (76)–(77) begins by using the quadratic formula to solve each equation for the non-negative roots X and Y , respectively. This gives q 1 2 b X= (1 + κY Y ) + 8 X − (1 + κY Y ) , 4 q 1 2 b (1 + κX X) + 8 Y − (1 + κX X) , Y = 4 2 which defines a map f from the non-negative quadrant R+ into itself, namely, Xn+1 Xn (80) =f Yn+1 Yn whose component functions f1 and f2 are given by q 1 2 b (1 + κY Yn ) + 8 X − (1 + κY Yn ) , Xn+1 = f1 (Yn ) := 4 q 1 2 b Yn+1 = f2 (Xn ) := (1 + κX Xn ) + 8 Y − (1 + κX Xn ) , 4 (81) (82) A fixed point of this map solves (76)–(77), and the special structure of the component functions f1 and f2 of the map f gives the following relationships: xn+2 = (f1 ◦ f2 )(xn ), yn+2 = (f2 ◦ f1 )(yn ). A solution to (76)–(77) is found if each of these composition maps can be shown to converge to a unique fixed point from any non-negative initial condition. Recall the well-known Banach Contraction Principle: Theorem 1 (Banach Contraction Principle). Let W be a closed subset of a Banach space (V, k · k). If f is a contraction map from W into itself, then f has a unique 76 fixed point p in W . Furthermore, if w is any element of W , then lim f n (w) = p, kf n (w) − pk ≤ cn kw − pk, and n→∞ where c < 1 is the Lipschitz constant for the contraction map f . Under certain conditions on the parameters, the composition maps f1 ◦ f2 and f2 ◦ f1 are contraction maps from R+ into itself, where R+ := [0, ∞) is a closed subset of the Banach space (R, | · |). To this end, consider the following first derivatives of f1 and f2 : 1 + κY Y κY q − 1 < 0, 4 2 b (1 + κY Y ) + 8 X 1 + κX X κX q − 1 < 0. f20 (X) = 4 (1 + κX X)2 + 8 Yb f10 (Y ) = Furthermore, the second derivatives of f1 and f2 are given by − 3 b (1 + κY Y )2 + 8 X b 2 ≥ 0, f100 (Y ) = 2 κ2Y X − 23 00 2 b 2 b f2 (X) = 2 κX Y (1 + κX X) + 8 Y ≥ 0, so that f10 and f20 are negative, non-decreasing, and bounded above by zero. Thus, the maximum absolute values of these derivatives occur at zero, and |(f1 ◦ f2 )0 | may be bounded as follows: |(f1 ◦ f2 )0 (X)| = |f10 (f2 (X)) f20 (X)| = |f10 (f2 (X))| · |f20 (X)| ≤ |f10 (0)| · |f20 (0)| = = κY 4 κY κX 16 !! 1 1− p b 1 + 8X 1− p 1 b 1 + 8X κX 4 1− p ! 1− p 1 !! 1 1 + 8 Yb ! 1 + 8 Yb , 77 with the same bound holding for |(f2 ◦ f1 )0 |. Thus, if this bound is strictly less than one, then iterations of (80) converge from any non-negative initial condition to a unique fixed point in the non-negative quadrant, which is the unique solution to (76)– (77) in the non-negative quadrant. Furthermore, the convergence of the iterations is exponential. With respect to the original parameters, the condition for a contractive map becomes κC:C κG:G 1 1 − q 1 < 1. 1− q 2 b b 16 κC:G C G 1 + 8 κC:C 1 + 8 κG:G In particular, the iterative scheme is guaranteed to converge to a unique solution whenever κC:C = κG:G = κC:G . However, if κC:G is much smaller than the product of κC:C and κG:G , then this condition is not satisfied. In practice, convergence is observed under less stringent conditions on the dissociation constants and is verified by ensuring a sufficiently small residual in (76)–(77). Once the monomer concentrations X and Y are approximated with sufficient accuracy using the iterative scheme, the dimer concentrations X:X, Y :Y , and X:Y can be computed directly using equations (63)–(65). Physical intuition suggests the existence of a unique fixed point of the map (80) under more general conditions, representing a unique non-negative globally attracting equilibrium of the fast dimerization. This leads to the following conjecture: Conjecture 1. The iterative scheme given by the map (80), with component functions (81)–(82), converges to a unique fixed point in the closed positive quadrant for any non-negative initial condition and for any choice of strictly positive dissociation constants and non-negative total concentrations. An extension of the iterative numerical scheme to the case of competitive dimerization of three proteins is given in Appendix B. 78 Model Summary Converting the non-dimensionalized model (69)–(74) back into the original variables and parameters, the full PCW model is given by the following system of delay differential-algebraic equations in each cell: 2 Ck (t) Ck (t) Gk (t) ˙ b − βC:G , C k (t) = αC ck (t − τC ) − βC Ck (t) − 2 βC:C κC:C κC:G ! 2 Ck (t − τc ) ċk (t) = γc Fn , Nk (t − τc ) − δc ck (t), κC:C Ṡk (t) = αS sk (t − τS ) − βS Sk (t), 2 ! Ck (t − τs ) ṡk (t) = γs H1 − δs sk (t), κC:C 2 C Ck (t) Gk (t) k (t) bk (t) = Ck (t) + 2 C + , κC:C κC:G 2 G Ck (t) Gk (t) k (t) bk (t) = Gk (t) + 2 G + , κG:G κC:G (83) (84) (85) (86) (87) (88) where Nk (t) = X Si (t), (89) {i : cell i adjacent to cell k} and the total control protein is prescribed by bk (t) = G bmax · g(t − Tk ; τ 1 ). G 2 (90) Note that, after computing monomer levels, Ck (t) and Gk (t), from a given amount bk (t) and C bk (t), the corresponding of total clock protein and total control protein, C 79 dimer levels are given by 2 Ck (t) C:C k (t) = , κC:C 2 Gk (t) G:Gk (t) = , κG:G Ck (t) Gk (t) C:Gk (t) = . κC:G (91) (92) (93) This completes the construction of the PCW model. In the next chapter, the PCW model is validated with respect to posterior clock-wave formation in the zebrafish model organism. The validation process involves parameter estimation and model selection, and it shows that the model is capable of reproducing experimentally observed results. Significantly, validation also suggests specific biological mechanisms that are responsible for posterior clock-wave formation. 80 MODEL VALIDATION: AN APPLICATION TO ZEBRAFISH SOMITOGENESIS The posterior clock-wave (PCW) model described in the previous chapter is developed with substantial consideration of the zebrafish model organism. In this chapter, the PCW model is validated against experimental data in zebrafish. Validation demonstrates that the PCW model is capable of reproducing the experimentally observed posterior clock-wave in zebrafish, accomplishing a main goal of the modeling endeavor. The PCW model verifies an existing scientific hypothesis as well as suggesting a new one. In validating the PCW model, the experimentally observed aggregate behavior of the clock-wave is shown to be sufficient in constraining the genetic control mechanisms underlying the somitogenesis clock in zebrafish. Model validation confirms the necessity of multiple repressor binding sites for the clock-gene autoinhibition in zebrafish, as identified in this and other model organisms [81, 114, 122]. Results also reveal that, in addition to delayed, nonlinear mRNA production processes, differential decay of clock protein monomers and dimers is an important component of the gradient controlled competitive dimerization mechanism of clock-wave generation. Recall that linear decay (i.e., first order kinetics) is assumed in the PCW model for each of the monomer, homodimer, and heterodimer clock protein species. Viewed with regard to the total clock protein, different decay constants for each of these forms (i.e., differential decay) leads to nonlinear decay of total clock protein. (Recall the discussion concerning equation (31) on page 55.) While this additional nonlinearity complicates analysis of the model, the computational analyses developed in this work nonetheless establish its critical importance in model behavior. 81 Validation of the PCW model indicates that dimerization-related nonlinear total protein decay mechanisms should be addressed experimentally as an alternative or complement to rate-limited decay mechanisms that have been recently considered in other somitogenesis models [29, 73]. In these models, monomer and dimer forms of the clock protein are not separately considered, and the decay of clock protein C is given by the following expression: η C , C∗ + C (Michaelis-Menten Kinetics) where η is the maximum (or saturating) decay rate, which occurs asymptotically for high levels of C, and C∗ is the critical concentration of C where the decay rate is half maximum [21]. This expression can represent, for example, the limited availability of protein decay machinery within a cell (e.g., proteosomes). Computational Considerations for Validation Model validation proceeds through the following steps: 1. Identification of model parameters that have been measured experimentally. 2. Estimation of the model parameters that have not been measured. 3. Model selection based on the results of parameter estimation. 4. Sensitivity analysis for the estimated parameters. 5. Robustness verification by perturbation of all parameters, measured and estimated. The medial axis of the anterior-to-posterior (AP) presomitic mesoderm (PSM) in zebrafish contains about fifty cells. Thus, validation of a one-dimensional model of 82 posterior clock-wave formation requires on the order of fifty cells. The PCW model uses four delay differential equations to represent the dynamics of each cell, giving a system of 200 differential equations to be analyzed and solved during model validation. In addition, computation of fifty solutions of the adjoining nonlinear system of algebraic equations is necessary for the fast dimerization approximation. During numerical computations, the algebraic system must be solved for each evaluation of the right hand side of the system of differential equations. A more complete accounting of the effect of intercellular coupling requires modeling a two- or three-dimensional array of cells. For instance, a two-dimensional model on a rectangular lattice with fifty cells along the AP axis and five cells along the medial-to-lateral axis gives a system of 1000 differential equations and 250 systems of algebraic equations. Ultimately, model validation rests upon the ability of the PCW model to reproduce the experimentally observed clock-waveform in the posterior PSM. The solution of the resulting large system of equations may only be numerically approximated, and wellestablished computer codes exist for this task [123]. The minimal construction of the PCW model, combined with modern computational power, makes model simulation efficient enough for validation tasks. Furthermore, model robustness can be examined using object-oriented software tools that allow accurate and simultaneous perturbation of all model parameters (some 1100 parameters for a fifty cell simulation). A task in model validation that is especially computationally intensive is the estimation of model parameters that have not been experimentally determined. Monte Carlo methods are useful for estimating parameters from high-dimensional, biologically informed parameter distributions, so long as simulation is efficient enough to allow sufficient sampling of the parameter space [124]. For this purpose, a two cell PCW model can be used to initially evaluate parameter fitness, as this is the smallest 83 system that includes the effects of intercellular coupling1 . Fortunately, the numerous simulations (numbering in the tens of thousands) may be carried out in parallel across multiple computer processors. A useful by-product of this estimation procedure is information on model sensitivity to the various estimated parameters. This initial parameter estimation can then be fully validated in simulations with many cells, which can further test model robustness by perturbing all model parameters, including the experimentally determined ones. Model validation involves considerable software development. In addition to routines for simulating the model itself, code must be written to handle parameter sampling and estimation, model selection, and parameter perturbation. The Matlab codes employed for these purposes are available in Appendix C. Clock-Wave Formation in Zebrafish The general PCW model developed in the previous chapter is now applied specifically to posterior clock-wave formation in the zebrafish model organism. Initially, this requires designating specific biological components to general model components, identifying validation criteria for zebrafish, and assigning known parameters. Inevitably, certain questions remain open after this preliminary work, which typically take the form of unknown model parameters. Not surprisingly, parameter estimation comprises a significant portion of the remaining validation work. In association with parameter estimation, several modeling scenarios are considered during validation of the PCW model, each of which reflects a different underlying biological mechanism that could be at work, such as multiple repressor binding sites at the clock-gene or 1 As a further reduction, assuming intercellular coupling is so weak as to be negligible allows analysis and initial validation of a single cell model involving only two differential equations. 84 differential decay for clock protein monomers and dimers. Altogether, this process is termed model selection. Assignment of Model Components As discussed in the previous chapter, three basic helix-loop-helix (bHLH) genes play the most prominent role in the posterior PSM of the zebrafish, namely her1, her7, and her12. The respective, and at least partially redundant, roles of these genes in forming the clock-wave are not entirely clear [5, 102, 122, 125]. Furthermore, experimental evidence suggests her1 and her7 may be differentially regulated in the posterior and anterior PSM [5, 102, 122, 125]. Given a somewhat bewildering array of possibilities, her7 is chosen to represent the single clock-gene in the PCW model because: 1) unlike her12, her7 expression extends across the entire PSM, and 2) the posterior clock-wave still forms during Her1 protein knockdown, even though expression fails to propagate anteriorly [102, 122]. In zebrafish, expression of the bHLH protein Her13.2 is highest in the tailbud and decreases anteriorly in the PSM [111, 112]. Her13.2 protein is chosen to represent the externally prescribed control protein in the PCW model because it likely heterodimerizes with other bHLH proteins such as Her7 [111]. Because Her13.2 proteins have a truncated amino acid sequence normally used for DNA binding [111], it is assumed that neither Her13.2 homodimers nor heterodimers with Her7 can repress her7 mRNA transcription. Thus, Her13.2 influences Her7 self-repression only through competitive dimerization, as seen in related bHLH networks [113, 114]. DeltaC is chosen to represent the coordinating-signal gene in the PCW model because its expression in the PSM is oscillatory and synchronized with her7 expression [91]. DeltaC ligands presented at a cell’s membrane activate Notch protein receptors in adjacent cells’ membranes, releasing Notch Intracellular Domain (NICD) 85 proteins that up-regulate clock-gene expression, including her7 [91, 126]. Following the models in [2, 27], equation (89) is a simplified representation of this intercellular signaling process. It is assumed that the effects of other constitutively expressed genes in the Notch signaling pathway, such as DeltaD and Su(H) [5], may be subsumed into the appropriate model parameters. Model Validation Criteria Experimental data for zebrafish provide the following constraints on the clockwave behavior: (i) The putative oscillation period in the tailbud is 30 minutes at 28◦ C, which is the same time it takes for each somite to form in the anterior PSM [3, 5, 69, 85, 93]. (ii) The oscillation rate in more anterior PSM cells slows sufficiently in order to generate a clock-wave with two to three traveling bands of gene expression, which emanate from the tailbud and narrow as they reach the anterior-most PSM [4, 5]. (iii) Oscillatory expression of the clock and coordinating-signal genes is synchronized [127]. With regard to these three constraints on the proper formation of the clock-wave, the effect of two biological control mechanisms, which have been implicated in other systems, is examined: 1. Differential decay rates of the clock protein monomers and dimers [107]. 2. The number of binding sites for the repressive clock protein homodimer, including the cooperativity between simultaneous binding to multiple sites [118, 128]. 86 Experimental evidence exists both for clock protein dimerization [111] and for multiple cis regulatory sites for clock-genes in zebrafish (as well as in chick and mouse) [30, 81, 114, 122]. Given the biological potential for differential decay and multiple binding sites for clock protein, four different model scenarios (I–IV) are considered: I A single binding site for the self-repressing clock protein homodimer (n = 1 in (38) on page 63) and monomer-only clock protein decay (βC:C = βC:G = 0 in (83) on page 78). II A single binding site for the self-repressing clock protein homodimer (n = 1 in (38)) and equal decay rates for clock protein monomer, homodimer, and heterodimer with the control protein (βC = βC:C = βC:G in (83)). III Two binding sites for the self-repressing clock protein homodimer (n = 2 in (38)) and monomer-only clock protein decay (βC:C = βC:G = 0 in (83)). IV Two binding sites for the self-repressing clock protein homodimer (n = 2 in (38)) and equal decay rates for clock protein monomer, homodimer, and heterodimer with the control protein (βC = βC:C = βC:G in (83)). Numerical simulation with Matlab’s delay differential equation solvers dde23 and ddesd2 [123] are used to assess the ability of model scenarios I–IV to: 2 dde23 was developed before ddesd for systems of delay differential equations in normal form with fixed delays in the state variables (but not in their derivatives). ddesd handles the more general case of state dependent delays, of which fixed delays represent a special case. Because of implementation differences concerning discontinuity tracking in solution derivatives, dde23 is a somewhat faster algorithm when there are fewer overall system delays, while ddesd is a considerably faster algorithm when there are many delays. The latter case occurs when examining model robustness, in which the nominal delays in each cell are perturbed, giving a different set of four delays in each cell. 87 (a) Produce synchronized periodic expression of the clock and coordinating-signal genes in the tailbud within 10% of the experimentally observed value (30 minutes). (b) Produce sufficient decrease in the oscillation rate between the tailbud (high level of total control protein Her13.2) and the more anterior PSM (low level of total control protein Her13.2). (c) Produce a realistic posterior clock-wave in a simulated AP line of cells with two properly spaced, posterior-most expression bands of the clock and coordinatingsignal mRNA. (d) Exhibit robustness of clock-wave formation with respect to heterogeneity in the parameters across the cell population. Where possible, model parameters are assigned experimentally determined nominal values. For nine parameters, ranges of biologically realistic values are initially determined for purposes of parameter estimation, which is described further below. Given any of the model scenarios I–IV, a parameter selection from the set of feasible parameter values is considered to produce a valid fit to experimental data if the corresponding model satisfies criteria (a)–(d). Parameter Value and Range Selection Below, all parameters whose nominal values in zebrafish are experimentally determined are first given, including citations for each choice3 . After these known parameters, range selections for estimated parameters are given and explained. Estimated 3 Copy numbers per compartment can be converted to molar concentration using Avogadro’s constant with a nuclear volume Vnuc = 43 π (2.5 µm)3 = 65.4 µm3 and a cytosolic volume Vcyt = 4 3 3 = 458 µm3 , where the nuclear diameter is 5 µm [27] and the cell diameter 3 π (5 µm) − (2.5 µm) is assumed to be 10 µm. 88 parameters are particularly important with respect to the model scenarios I–IV being investigated, and most have not been determined experimentally, to the best of this author’s knowledge. However, two parameters (τc and βC ) are estimated because of sensitivity considerations. A joint uniform distribution is constructed from these parameter ranges and sampled for combinations of values conducive to clock-wave formation, with respect to model scenarios I–IV, as described above. Experimentally Determined Parameter Values: The following parameters have been experimentally determined in the literature: λ The number of cells per AP somite length. While this number is not strictly constant across the PSM in zebrafish, the constant value λ = 5 cells per somite is a reasonable approximation over a good portion of the PSM tissue [5]. µ The somite formation rate in somites per minute in the anterior PSM. While the formation rate is not strictly constant throughout somite development in zebrafish, µ is roughly constant over a good portion of developmental time [11, 93]. The somite formation rate is observed to be equal to the frequency of oscillation in the tailbud [5]. In all clock-wave simulations, an initial settling time occurs in which oscillations stabilize before any cells enter the PSM, which correlates with the initiation of synchronized oscillatory expression in the early embryo before somitogenesis begins. After the settling time, the oscillation period, T , is computed and this computed period is used to determine µ = 1 . T µ determines the exit times Tk of cells from the tailbud using (11): Tk = k−1 . λµ In zebrafish, the oscillatory gene expression in the tailbud has a period of 30 minutes at 28◦ C [5], so at this temperature µ = 1 30 somites per minute. If for any 89 reason the oscillation period cannot be computed after the settling time, the default value µ = 1 30 somites per minute is used. τC The delay, in minutes, arising from clock protein production at the ribosomes and subsequent transport into the nucleus. The value τC = 1.7 minutes from [27] is used in all simulations. αC , αS The production constants, in protein copies per mRNA copy per minute, of clock and coordinating signal protein, respectively. The common value αC = αS = 4.5 protein copies per mRNA copy per minute from [27] is used in all simulations. γc , γs Production constants, in mRNA copies per minute, of clock and coordinating signal mRNA, respectively. γc = γs in all simulations, and the common value is computed from the chosen value of ρ (see below) so that the baseline mRNA production rate in the absence of repressors or activators is the following value cited in [27]: γc ρ ρ+1 = γs ρ ρ+1 = 33 mRNA copies/minute. ρN The promoter binding affinity of the activator N , with units of inverse copy number. To the best of this author’s knowledge, this constant has not been measured in zebrafish. In the generation of oscillatory gene expression in zebrafish, the intercellular signaling does not dominate the intracellular self-repression of the clock-gene [4]. Following the critical concentration parameters used in [2], the activator N is given one tenth the binding affinity of the repressor C:C in all simulations, i.e., ρN = ρC:C . 10 ωN The unitless cooperativity between simultaneously bound activator N and RNAP-II complex at the promoter. This number is strictly greater than one. 90 To the best of this author’s knowledge, this parameter has not been measured in zebrafish, so a typical value ωN = 25 is used in all simulations, which is taken from [108]. δc The decay constant, in inverse minutes, of clock mRNA. In all simulations the value used is δc = 0.206 minute−1 from [2], which is estimated from experiments on zebrafish [4]. τS The delay, in minutes, arising from coordinating signal protein production at the ribosomes and subsequent transport through the cell membrane into the cytosol and then nuclei of adjacent cells. The value τS = 20 minutes from [27] is used in all simulations. βS The decay constant, in inverse minutes, of coordinating signal protein. The value βS = 0.23 minute−1 from [27] is used in all simulations. τs The delay, in minutes, arising from coordinating signal mRNA transcription at the DNA, post-transcriptional processing, and subsequent transport into the cytosol. The value τs = 12.2 minutes is used in all simulations. Note that this choice reflects a minor (accidental) variation from the value 12.4 minutes used in [2], which itself was taken from an experimentally determined range for zebrafish [4]. This range is obtained as a sum of a non-measured initiation delay, which is assumed to be in the range of 3 to 8 minutes in [4], and an experimentally determined range of 8.4 ± 1.2 minutes. In [2] the initiation delay is taken to be 4 minutes resulting in value 8.4 + 4 = 12.4 minutes. Using the full range of initiation delays and full range of measured delays gives the range [7.2 + 3, 9.6 + 8] = [10.2, 17.6] minutes, which contains 12.2 minutes. 91 δs The decay constant, in inverse minutes, of coordinating signal mRNA. In all simulations the value used is δs = 0.273 minute−1 from [2], which is estimated from experiments on zebrafish [4]. Parameters Estimated from a Range of Values: The following parameters must be estimated from a range of values: bmax The maximum level of total control protein, which occurs in the tailbud and G posterior-most PSM and has units of copy number per nucleus. In zebrafish, this parameter represents the maximum level of total nuclear Her13.2 protein. To the best of this author’s knowledge, quantitative data for this parameter in bmax is estimated from the range 0 to 2000 copies zebrafish are unavailable, so G per nucleus. This allows the maximum control protein level to be on the same order of magnitude as the typical mean level of the oscillatory total clock protein. τ 1 The half-life, in minutes, of the total control protein in a given cell, which is 2 spatiotemporally graded in the PSM [5, 111, 112]. The half-life is the time after a cell leaves the tailbud when the level of total nuclear control protein is reduced to 1 2 bmax . To the best of this author’s knowledge, quantitative data for this G parameter for the control protein Her13.2 in zebrafish are unavailable. Multicellular simulations have shown that a range of values is typically acceptable, e.g., 25–60 minutes. The choice of τ 1 can affect both the initial shape and axial 2 positioning of the clock-wave. Unless otherwise noted, simulations in this work use τ 1 = 30 minutes, so that the half-life is of a similar order of magnitude as 2 the oscillation period in the zebrafish tailbud. ρ The unitless product of the binding affinity ρP for RNAP-II complex to a gene’s promoter and the copy number P of the complex, i.e., ρ := ρP P . The assembly 92 of the RNAP-II complex is assumed to be a fast process at equilibrium so that P , and therefore ρ, may be treated as constant. To the best of this author’s knowledge, data for zebrafish are unavailable, so ρ is estimated from the range 1 3 to 3, which can be interpreted as a 25–75% probability of the complex binding in the absence of any other repressors or activators. Note that the lumped parameter ρ may include effects of several constitutively expressed transcription factors in the PSM, such as DeltaD and Su(H), at the clock-genes in zebrafish [91, 116]. However, for simplicity in the face of a lack of measured data, the present work uses the same value for ρ for both the clock-gene and the coordinating-signal gene. τc The delay, in minutes, arising from clock mRNA transcription at the DNA, posttranscriptional processing, and subsequent transport into the cytosol. Previous work [27] has shown that the existence and period of sustained oscillations is sensitive to the total system delay. Because of this sensitivity, τc is estimated from the range 2.3 to 8.1 minutes. This range is derived from the experiments in [4], which estimated τc = 3.7 ± 1.4 + Tinit minutes, where Tinit is a (nonmeasured) initiation delay assumed to be in the range of 3 to 8 minutes. Because of differences in the PCW model from the model in [2], Tinit is taken in this work to be in the range 0 to 3 minutes, giving the minimum value 3.7 − 1.4 + 0 = 2.3 minutes, and the maximum value 3.7 + 1.4 + 3 = 8.1 minutes. Subsequent analysis of parameter sensitivities verified that this is an adequate range for modeling oscillations in zebrafish with the PCW model (see Figure 16). ρC:C The binding affinity of the C:C repressor to a gene’s promoter, with units of inverse copy number. To the best of this author’s knowledge, this constant has not been measured in zebrafish, so ρC:C is estimated from the biologically 93 realistic range 0.01 to 1 copy−1 , which is taken from the range given in [108], and which includes the (roughly equivalent) critical concentration used in [27]. ωC:C The unitless cooperativity between two C:C repressors simultaneously bound to a gene’s promoter. To the best of this author’s knowledge, this constant has not been measured in zebrafish, so ωC:C is estimated from the biologically realistic range 1 to 100 taken from [108]. βC The decay constant, in inverse minutes, of clock protein monomer. Previous work [27, 80] has shown that the existence and period of sustained oscillations is sensitive to the protein decay rate. Because of this sensitivity and the fact that the PCW model explicitly tracks the distribution of total clock protein as monomer, homodimer, and heterodimer, βC is estimated from the range 0.2 to 0.5 minute−1 , which includes the value 0.23 minute−1 from [27] corresponding to a protein monomer half-life of ln 2 0.23 = 3 minutes. κG:G , κC:C , The protein dimer dissociation constants with units of copy number. To the best κC:G of this author’s knowledge, values for these constants have not been measured in zebrafish, so each dissociation constant is independently estimated from the range 10 to 1000 copies, which is based on the range cited in [107]. Parameters for Model Scenarios I–IV: The following parameters are set differently in model scenarios I–IV: βC:C , βC:G The respective decay constants, in inverse minutes, of clock protein homodimer and heterodimer with control protein. In all simulations, these parameters share a common value, i.e., βC:C = βC:G . Attention to the findings in [107], concerning differential decay of monomers and dimers, suggests consideration of two 94 limiting cases. In models I and III, βC:C = βC:G = 0 corresponds to monomer only clock protein decay and thus nonlinear decay of total clock protein. In models II and IV, βC:C = βC:G = βC corresponds to decay of all clock protein forms and gives linear decay of total clock protein. n The number of binding sites for C:C repressor at the clock-gene’s promoter. Previous work [81] has shown that the number of binding sites can be a key parameter affecting oscillations produced through delayed negative feedback. In models I and II, n = 1 corresponds to a single binding site. In models III and IV, n = 2 corresponds to two binding sites. Parameter Estimation and Model Selection The following important observation allows validation in two stages: formation of a realistic clock-wave depends on the key criterion ∆T , defined as the maximum change in the period of oscillatory gene expression observed over the total control protein range. Investigations for the present work show that parameter combinations giving ∆T & ∆T∗ := 15 minutes generate a biologically realistic clock-wave for the posterior PSM in zebrafish. In the first validation stage, parameters are sought for which model scenarios I–IV satisfy the above criteria (a) and (b) with ∆T ≥ 15 minutes using two identical, coupled cells. A two cell model includes intercellular signaling effects, yet is much faster to simulate than an entire line of cells representing the PSM. In the second stage, a line of coupled cells with spatiotemporally graded total control protein is simulated 95 in order to verify that the selected model(s) produce a realistic clock-wave in the absence (c) and presence (d) of a heterogeneous cell population. Stage One Validation In the first stage, a random sample of size 40,000 is taken from a uniform joint distribution of the eight parameters ρ, τc , ρC:C , ωC:C , βC , κG:G , κC:C , and κC:G . As described below, the range of the last free parameter, the total control protein in bmax , determines ∆T . Zero-valued history functions are initially used for the tailbud G bk (t), ck (t), Sk (t), and sk (t) (equations (83)–(86)), k = 1 or 2, the state variables C and solutions are allowed to settle to steady-state behavior for at least 500 minutes. At each time step of the differential equation solver the nonlinear algebraic system (87)–(88) is solved for the monomer copy numbers Gk (t) and Ck (t) in terms of the bk (t) = G bmax and the state variable C bk (t). constant total control protein level G For each sampled parameter combination the model is initially simulated in the bmax = 0). If this initial solution settles into susabsence of total control protein (G tained oscillations, then the effect of increasing the maximum total control protein bmax is increased in steps level on the period is determined, i.e., ∆T is computed. G of ten until either sustained oscillations cease or a maximum value of 2000 copies per nucleus is reached. For efficiency, previous solutions are used as initial history bmax . To minimize possible stochastic effects not functions while stepping through G considered by this deterministic model, only periodic solutions with sufficiently large amplitudes in each state variable are accepted (≥ 5 copies, peak-to-peak). For each model scenario I–IV, the following table lists the number of parameter selections out of a random sample of 40,000 total selections that produced periodic bmax = 0, and 2) any nontrivial period for solutions with 1) any nontrivial period for G 96 (a) Model Comparison (b) (c) ∆T Distributions Solutions for ∆Tmax & ∆Tmax III IV 25 50 40 30 20 Model III Model IV 20 15 ∆T = 15 * 10 Model III Model IV 70 Period (min.) Periodic 30±3 min. 60 % of Simulations % of Simulations 70 60 50 max ∆TIII 40 5 ∆Tmax = 8.7 IV 10 0 I II III IV 0 0 5 10 15 20 ∆T (min.) Model Number 25 30 30 = 29.3 0 500 1000 1500 2000 Total Control Protein (copy #) Figure 15: Model selection. (a) Dark bars: the percentage of periodic solutions bmax = 0 copies/nucleus. Light bars: the percentage of in 40,000 simulations when G periodic solutions in 40,000 simulations also exhibiting the tailbud period of 30±3 min bmax in the range 0–2000 copies/nucleus. (b) Stacked distributions for some level of G of ∆T for models III and IV for those solutions exhibiting the tailbud period. ∆T & ∆T∗ = 15 is a key requirement for proper clock-wave formation in zebrafish. (c) Period as a function of total control protein for the best parameter selections for models III max max and IV, which produce ∆TIII = 29.3 min and ∆TIV = 8.7 min, respectively. The max b curve for model III stops at G = 700 copies/nucleus, after which the amplitude of the periodic solution drops below 5 copies/nucleus, peak-to-peak. Periodic solutions cease altogether after about 960 copies/nucleus. bmax = 0 and a period of 30 ± 3 minutes for some level of G bmax in the range 0 to G 2000 copies per nucleus: Solution Model I II III IV Periodic 22 0 19314 27812 30 ± 3 min. 0 0 4882 14888 Figure 15a presents the same data using percentages rather than raw counts. Only models III and IV, with two binding sites, exhibit sustained oscillations with a period of 30 ± 3 minutes, satisfying criterion (a) on page 87 for model validation. For these two models, Figure 15b shows the distribution of ∆T for those simulations that produced a period of 30 ± 3 minutes. The raw data are provided in the following table: 97 Model ∆T Interval [0, 2.5) [2.5, 5) [5, 7.5) [7.5, 10) III 966 910 1049 893 516 292 IV 8987 5026 853 22 0 0 Model ∆T Interval [15, 17.5) [17.5, 20) [10, 12.5) [12.5, 15) [20, 22.5) [22.5, 25) [25, 27.5) [27.5, 30) III 140 67 28 16 3 2 IV 0 0 0 0 0 0 The important observation is that even though model IV produces the required period of oscillation 30±3 minutes for almost 40% of parameter selections (as opposed to 12% in model III, see Figure 15a), the maximum period change ∆T for model IV is only max = 8.7 minutes. This is considerably smaller than the minimum ∆T necessary ∆TIV for realistic clock-wave formation, which is ∆T∗ = 15 minutes. In contrast, for model III, 22% (1064 out of 4882) of the parameter values that produce period 30±3 minutes also produce ∆T ≥ 10, and 5% (256 out of 4882) produce ∆T ≥ 15. The maximum max = 29.3 minutes, satisfying critierion (b) on period change for model III is ∆TIII page 87 for model validation. Figure 15c displays the period of the oscillation as a function of the total control max protein level in models III and IV using the parameter selections producing ∆TIII max and ∆TIV , respectively. These selections are listed in the following table: ∆T Param. ρC:C ωC:C βC κG:G κC:C κC:G bmax G max ∆TIII = 29.3 0.639 5.66 0.944 30.9 0.497 22.5 155 584 700 max ∆TIV = 8.7 6.39 0.718 30.6 0.250 98.5 738 851 1000–2000 ρ 0.447 τc Note that a more biologically realistic clock-wave is typically generated by choosing, bmax that still produces sufwhen possible, a smaller value of total control protein G max ficiently large ∆T . This is done with the clock-wave simulation with ∆TIV where bmax = 1000 copies per nucleus is used instead of 2000 copies per nucleus. As seen G 98 bmax curve for model IV is very flat in this interval, and in Figure 15c, the ∆T vs. G the reduction in ∆T from using 1000 instead of 2000 copies per nucleus is less than one minute. For the given sample size of 40,000, no parameter selections for models I and II produce oscillations with the required period 30 ± 3 minutes. Thus, according to the PCW model, one may conclude that a single repressor binding site at the clock-gene is incapable of producing the experimentally observed oscillations in the zebrafish tailbud, regardless of the clock protein decay mechanism. Furthermore, model IV, with equal monomer and dimer clock protein decay rates (linear total protein decay) cannot produce sufficiently large ∆T (Figure 15b–c). Only model III, combining two binding sites and monomer-only clock protein decay, admits a significant number of parameter combinations that produce sufficiently large ∆T with the potential to generate a biologically realistic clock-wave. Parameter Sensitivities: The above parameter estimation procedure also provides parameter sensitivity information for the eight estimated parameters (ρ, τc , ρC:C , ωC:C , βC , κG:G , κC:C , and κC:G ) with respect to the criteria (a)–(b) on page 87. Figures 16 and 17 provide sensitivity histograms for these parameters for the selected model III. Each of these parameters is initially drawn independently from a uniform distribution so that deviation from a uniform distribution indicates sensitivity. Each figure column represents one parameter and the three histograms from top to bottom represent number of instances in 40,000 random parameter selections in which the corresponding solution satisfies increasingly stringent requirements: 1. (top figure row) The number of instances that the solution is periodic in the absence of total control protein. 99 2. (middle figure row) The number of instances that the solution is periodic in the absence of total control protein, and has a period of 30 ± 3 minutes for some level of total control protein in the range 0 to 2000 copies per nucleus. 3. (bottom figure row) The number of instances that the solution is periodic in the absence of total control protein, has a period of 30 ± 3 minutes for some level of total control protein in the range 0 to 2000 copies per nucleus, and has a period change ∆T ≥ 15 minutes over a range of total control protein. Note that the vertical axes of the histograms change as the requirements become more stringent. In general, the largest selective pressure is applied by the last requirement ∆T ≥ ∆T∗ = 15 minutes, which is typically sufficient for generating a biologically realistic clock-wave for zebrafish. Also, these histograms are 1-dimensional projections of an 8-dimensional parameter space, and thus do not indicate correlations between different parameters. The following is a summary of the sensitivity analysis from Figures 16 and 17: 1. The delay τc is the most sensitive parameter. The requirement that solutions have period 30 ± 3 minutes shifts the range of admissible values lower, while the additional requirement ∆T ≥ 15 minutes shifts the set of admissible values of τc toward larger values in the sub-range (Figure 16). The mean preferred value is somewhat smaller than τc = 7.7 minutes used in [2]. 2. Model selection not very sensitive to parameters ρC:C and ωC:C , however there are substantial differences between histograms in middle row and the bottom row of Figure 16 for these two parameters. While there are many low parameter values that produce a periodic orbit of preferred period, there are substantially fewer low parameter values that support a sufficient change in period ∆T . 100 Periodic Periodic Periodic Periodic 4000 4000 10000 10000 2000 2000 5000 5000 0 0.331 2 ρ 30±3 min 3 0 2.3 4 5 6 8.1 τc 0 0.01 0.5 ρC:C 30±3 min 1 0 30±3 min 2000 2000 2000 500 1000 1000 1000 2 3 ρ ∆T≥15 min 0 2.3 4 5 6 8.1 τ c 0 0.01 0.5 ρ 1 0 ∆T≥15 min ∆T≥15 min 100 40 40 50 50 20 20 ρ 2 3 0 2.3 4 5 6 8.1 τ c 0 0.01 0.5 ρ C:C 50 100 ω C:C 100 0 0.331 1 C:C ∆T≥15 min 50 100 ωC:C 30±3 min 1000 0 0.331 1 1 0 1 50 100 ω C:C Figure 16: Parameter sensitivities for model III, part 1: ρ, τc , ρC:C , and ωC:C . Graphs give the number of simulated solutions out of 40,000 total simulations satisfying the specified criteria. All parameters are drawn independently from uniform distributions whose ranges are given by the x-axis limits. 101 Periodic 5000 0 0.2 0.35 0.5 βC Periodic Periodic Periodic 10000 4000 10000 5000 2000 5000 0 10 500 1000 κG:G 30±3 min 0 10 500 1000 κC:C 30±3 min 0 10 500 1000 κC:G 30±3 min 30±3 min 2000 2000 400 2000 1000 1000 200 1000 0 0.2 0.35 0.5 β 0 10 500 1000 κ 0 10 500 1000 κ 0 10 500 1000 κ ∆T≥15 min ∆T≥15 min ∆T≥15 min ∆T≥15 min C G:G 200 200 100 100 0 0.2 0.35 0.5 β C C:C 50 0 10 500 1000 κ G:G C:G 50 0 10 500 1000 κ C:C 0 10 500 1000 κ C:G Figure 17: Parameter sensitivities for model III, part 2: βC , κG:G , κC:C , and κC:G . Graphs give the number of simulated solutions out of 40,000 total simulations satisfying the specified criteria. All parameters are drawn independently from uniform distributions whose ranges are given by the x-axis limits. 102 3. Smaller values of the binding affinity parameter ρ are preferred under the largest selective pressure applied by the requirement ∆T ≥ 15 minutes (Figure 16). 4. Faster decay rates for protein monomer, i.e., larger βC , are favored under all three requirements (Figure 17). These values are somewhat larger than βC = 0.23 minute−1 used in [2]. 5. κC:C is the most sensitive dissociation constant in the competitive dimerization, with larger ∆T favoring a tighter range of values for κC:C than for κG:G or κC:G (Figure 17). For the remaining parameters κG:G and κC:G , the preferred values are on the lower end of their range (Figure 17). Stage Two Validation The second validation stage addresses criteria (c) and (d) on page 87 for proper clock-wave generation across a growing AP line of fifty cells in the axial PSM. Recall that criterion (c) concerns the formation of a clock-wave with two properly spaced, posterior-most bands of high gene expression in the PSM, and criterion (d) concerns formation of this clock-wave in a heterogeneous cell population. In the simulations b is spatiotemporally graded across for this validation stage, the total control protein G the cells, as given by equation (90) on page 78. b c, S, and s, Figures 18 and 19 compare the simulated For the state variables C, max clock-waves for model III and model IV with the parameters that produce ∆TIII max and ∆TIV , respectively. In both figures the cell populations are homogeneous, i.e., each cell has the exact same parameters as every other cell. In Figure 18, the spacing of the posterior-most bands of clock mRNA expression is about twelve cells, close to the mean value of approximately 10.5 cells measured experimentally [129, see Fig. 3]. In contrast, the spacing in Figure 19 is about 25 cells, which is much larger 0 10 20 30 40 50 0 600 1000 400 500 200 0 0 10 20 30 40 50 0 Cell # (1 is anterior) 600 150 400 100 200 50 0 0 10 20 30 40 50 80 0 600 60 400 40 200 20 0 0 10 20 30 40 50 0 b protein (copy #) G 0 200 b Protein (copy #) G 200 c mRNA (copy #) 400 2000 time= 265.0 min s mRNA (copy #) 600 4000 b protein (copy #) G time= 265.0 min b protein (copy #) G S protein (copy #) b protein (copy #) C 103 Cell # (1 is anterior) Figure 18: Simulated clock-wave in fifty homogeneous cells for the model III parammax max eter selection giving ∆TIII = 29.3 min. Only model III, with large ∆TIII , produces properly spaced expression peaks in the posterior PSM. All plots occur 265 min after the first cell exits the tailbud, and red bars represent cells still in the tailbud. In all plots, the total control protein gradient (blue curve) travels from left to right as time passes, while the bands of expression travel from right to left as cellular expression oscillates. than the experimentally observed spacing. Thus, as indicated by the first validation stage, model III is capable of producing a biologically realistic clock-wave, satisfying criterion (c) while model IV does not. Model Robustness: The robustness of the clock-wave in model III with respect to heterogeneity in the cell population is examined by randomly perturbing parameter values in all cells. Figure 20 represents model III from Figure 18, but with normally distributed noise added independently to parameters in all cells with a positivity constraint and so that 99.7% of the values are within ±1% of the nominal values. Clock-wave formation still proceeds in a reasonable fashion, satisfying criterion (d). 0 10 20 30 40 50 0 1000 1000 500 500 0 0 10 20 30 40 Cell # (1 is anterior) 50 0 500 50 0 0 10 20 30 40 50 0 1000 60 40 500 20 0 0 10 20 30 40 50 0 b protein (copy #) G 0 1000 100 b Protein (copy #) G 500 500 c mRNA (copy #) 1000 time= 265.0 min s mRNA (copy #) 1000 b protein (copy #) G time= 265.0 min 1500 b protein (copy #) G S protein (copy #) b protein (copy #) C 104 Cell # (1 is anterior) Figure 19: Simulated clock-wave in fifty homogeneous cells for the model IV paramemax max ter selection giving ∆TIV , does not produce = 8.7 min. Model IV, with small ∆TIV properly spaced expression peaks in the posterior PSM. All plots occur 265 min after the first cell exits the tailbud, and red bars represent cells still in the tailbud. In all plots, the total control protein gradient (blue curve) travels from left to right as time passes, while the bands of expression travel from right to left as cellular expression oscillates. 0 0 10 20 30 40 50 0 1500 600 1000 400 500 0 200 0 10 20 30 40 Cell # (1 is anterior) 50 0 600 150 400 100 200 50 0 0 10 20 30 40 50 0 60 600 40 400 20 200 0 0 10 20 30 40 50 0 b protein (copy #) G 200 200 b Protein (copy #) G 400 2000 c mRNA (copy #) 600 time= 265.0 min s mRNA (copy #) 4000 b protein (copy #) G time= 265.0 min b protein (copy #) G S protein (copy #) b protein (copy #) C 105 Cell # (1 is anterior) Figure 20: Simulated clock-wave in fifty heterogeneous cells for the model III pamax rameter selection giving ∆TIII = 29.3 min. Normally distributed noise is added independently to parameters in all cells with a positivity constraint and so that 99.7% of the values are within ±1% of the nominal values. This noise does not disrupt clockwave formation. All plots occur 265 min after the first cell exits the tailbud, and red bars represent cells still in the tailbud. In all plots, the total control protein gradient (blue curve) travels from left to right as time passes, while the bands of expression travel from right to left as cellular expression oscillates. 106 Quantitative data on the Her13.2 control protein gradient in the zebrafish PSM are scarce. Therefore, the robustness of clock-wave formation to changes in the spatiotemporal gradient of the total control protein is now examined. Simulations of max model III for the parameters giving ∆TIII = 29.3 minutes show that a range of half-lives are allowable for the sigmoidal function g that prescribes the total control protein (recall equation (15) on page 51). Smooth clock-waves form for τ 1 ranging 2 from about 25 to greater than 60 minutes, see Figure 21. Interestingly, the broadening the gradient profile (i.e., larger τ 1 ) shifts the axial position of clock-wave formation 2 anteriorly, but does not greatly affect the spacing between expression bands. Shorter half-lives are less conducive to proper clock-wave formation, where it appears that the level of total control protein changes too quickly for the generation of smooth expression bands, see Figure 22. Lastly, a simple exponential decay of total clock protein is also conducive to clock-wave formation (recall equation (16) on page 51), see Figure 23. Reproduction of Experiments The PCW model, with only a single clock-gene, has been shown to reproduce a one-dimensional projection of the posterior clock-wave observed zebrafish somitogenesis. In morpholino knockdown of Her1 clock protein zebrafish, redundancy in the remaining clock-genes (including her7, which is the PCW model’s putative clockgene) apparently maintains formation of the posterior clock-wave [122, see Fig. 4k]. However, it must be noted that the PCW model cannot reproduce the failure of the clock-wave to propagate anteriorly in the absence of the protein product of the second clock-gene her1. Thus, in the most strict interpretation, the PCW model captures only posterior clock-wave formation. 0 10 20 30 40 50 0 600 1000 400 500 0 200 0 10 20 30 40 Cell # (1 is anterior) 50 0 600 400 100 200 0 0 10 20 30 40 50 0 100 600 400 50 200 0 0 10 20 30 40 50 0 b protein (copy #) G 0 200 b Protein (copy #) G 200 c mRNA (copy #) 400 2000 s mRNA (copy #) 600 4000 time= 265.0 min b protein (copy #) G time= 265.0 min b protein (copy #) G S protein (copy #) b protein (copy #) C 107 Cell # (1 is anterior) Figure 21: Simulated clock-wave in fifty homogeneous cells for the model III paramemax ter selection giving ∆TIII = 29.3 min, where the half-life of the total control protein, τ 1 , is doubled from 30 to 60 min. Formation of the clock-wave relative to the tailbud 2 is shifted anteriorly along the PSM. All plots occur 265 min after the first cell exits the tailbud, and red bars represent cells still in the tailbud. In all plots, the total control protein gradient (blue curve) travels from left to right as time passes, while the bands of expression travel from right to left as cellular expression oscillates. 10 20 30 40 50 0 600 1000 400 500 200 0 0 10 20 30 40 Cell # (1 is anterior) 50 0 400 100 200 50 0 0 10 20 30 40 50 80 0 600 60 400 40 200 20 0 0 10 20 30 40 50 0 b protein (copy #) G 0 600 150 b Protein (copy #) G 0 200 c mRNA (copy #) 400 2000 time= 265.0 min 200 s mRNA (copy #) 600 4000 b protein (copy #) G time= 265.0 min b protein (copy #) G S protein (copy #) b protein (copy #) C 108 Cell # (1 is anterior) Figure 22: Simulated clock-wave in fifty homogeneous cells for the model III paramemax ter selection giving ∆TIII = 29.3 min, where the half-life of the total control protein, τ 1 , is halved from 30 to 15 min. Formation of the clock-wave is disorganized and the 2 bands of expression are not smooth. All plots occur 265 min after the first cell exits the tailbud, and red bars represent cells still in the tailbud. In all plots, the total control protein gradient (blue curve) travels from left to right as time passes, while the bands of expression travel from right to left as cellular expression oscillates. 0 10 20 30 40 50 0 600 1000 400 500 0 200 0 10 20 30 40 Cell # (1 is anterior) 50 0 600 400 100 200 0 0 10 20 30 40 50 80 0 600 60 400 40 200 20 0 0 10 20 30 40 50 0 b protein (copy #) G 0 200 b Protein (copy #) G 200 c mRNA (copy #) 400 2000 time= 265.0 min s mRNA (copy #) 600 4000 b protein (copy #) G time= 265.0 min b protein (copy #) G S protein (copy #) b protein (copy #) C 109 Cell # (1 is anterior) Figure 23: Simulated clock-wave in fifty homogeneous cells for the model III pamax rameter selection giving ∆TIII = 29.3 min, where the half-life of the exponentially decaying total control protein, τ 1 , is 30 min. Formation of the clock-wave relative to 2 the tailbud is shifted anteriorly along the PSM as compared to the simulation with sigmoidally decaying total control protein with the same half-life. All plots occur 265 min after the first cell exits the tailbud, and red bars represent cells still in the tailbud. In all plots, the total control protein gradient (blue curve) travels from left to right as time passes, while the bands of expression travel from right to left as cellular expression oscillates. 1 200 0 0 10 20 30 40 50 2000 0 600 400 1000 200 0 0 10 20 30 40 50 0 600 300 200 400 100 200 0 0 10 20 30 40 50 100 0 600 400 50 Cell # (1 is anterior) 200 0 0 10 20 30 40 50 0 b protein (copy #) G 400 400 b Protein (copy #) G 2 c mRNA (copy #) 600 s mRNA (copy #) 3 time= 265.0 min b protein (copy #) G time= 265.0 min 4 b protein (copy #) G S protein (copy #) b protein (copy #) C 110 Cell # (1 is anterior) Figure 24: Simulated clock-wave in fifty heterogeneous cells for the model III paramemax ter selection giving ∆TIII = 29.3 min, but with a 99.9% reduction in the production b All plots occur 265 min after the first cell exits the rate of total clock protein C. tailbud, and red bars represent cells still in the tailbud. In all plots, the total control protein gradient (blue curve) travels from left to right as time passes, but oscillatory expression does not occur and bands of expression do not form. Figure 24 shows a simulated Her1 and Her7 combined knockdown experiment reported by Oates and Ho [102]. Reducing Her7 clock protein production in model III to 0.1% of its original value (αC = 0.0045) abolishes oscillations and the clockwave completely, resulting in a graded distribution of her7 clock mRNA that agrees qualitatively with experiement [102, see Fig. 9O]. The PCW model can be extended to more realistic two- and three-dimensional lattices of cells. Figure 25 shows the simulated expression pattern in a fifty by five simple rectangular lattice of heterogeneous cells for the model III nominal parameters max giving ∆TIII = 29.3 minutes. 111 b Protein, time= 265.0 min C c mRNA, time= 265.0 min 1 Lateral Cell # Lateral Cell # 1 2 3 4 5 3 4 5 0 10 20 30 40 50 0 10 20 30 40 50 Axial Cell # (1 is anterior) Axial Cell # (1 is anterior) S Protein, time= 265.0 min s mRNA, time= 265.0 min 1 Lateral Cell # 1 Lateral Cell # 2 2 3 4 5 2 3 4 5 0 10 20 30 40 Axial Cell # (1 is anterior) 50 0 10 20 30 40 50 Axial Cell # (1 is anterior) Figure 25: Simulated clock-wave in a rectangular lattice of fifty axial by five lateral max heterogeneous cells, for the model III parameter selection giving ∆TIII = 29.3 min. Darker grey indicates a higher expression level. Interior, edge, and corner cells are coupled to their eight, five, and three adjacent nearest neighbors, respectively. Normally distributed noise is added independently to parameters in all cells with a positivity constraint and so that 99.7% of the values are within ±1% of the nominal values. The noise does not disrupt clock-wave formation. All plots occur 265 min after the first cell exits the tailbud. The sigmoidal total control protein gradient (not depicted) travels from left to right as time passes, while the bands of expression travel from right to left as cellular expression oscillates. 112 The Mechanism of Gradient Controlled Oscillation Rate The use of different combinations from a set of genes to control a developmental process is referred to as combinatorial control [119]. The standard view of a combinatorial control mechanism is that multiple protein transcription factors control mRNA production from one or more targeted genes, so that different transcription factor combinations produce different expression patterns, and hence, different developmental outcomes. The PCW model has a distinct combinatorial control mechanism that operates via differential decay of protein monomers and dimers that form by competitive dimerization of the clock and control proteins. Oscillations in clock-gene expression are generated through delayed, autoinhibitory feedback, while the competitive dimerization of clock and control protein controls the rate of clock oscillations. A spatiotemporal gradient in the control protein slows oscillations in such a way as to produce the experimentally observed clock-wave. Validation of the PCW model for zebrafish reveals this new aspect of combinatorial control, namely, graded competitive dimerization with differential decay. Furthermore, validation shows that differential decay of monomers and dimers works synergistically with multiple repressor binding sites for clock protein dimer in order to produce both the proper oscillation rate in the tailbud (from multiple binding sites for clock homodimer) and large enough rate slowing (from dimerization and differential decay with a graded control protein) to form the clock-wave. The careful model construction and selection process, in association with the sensitivity analysis and robustness results for the model, suggests that this novel mechanism of oscillation control is worthy of experimental investigation. 113 Comparison to Existing Zebrafish Models The multicellular PCW model extends the two cell, single clock-gene model of Lewis and coworkers [2, 4, 27], while retaining much of that model’s simplicity. Protein dimerization and homodimer repression of mRNA production through multiple DNA binding sites are handled more precisely in the PCW model. The PCW model also incorporates an axially graded protein that controls the oscillation rate and initiates a clock-wave in the posterior PSM. Construction of the PCW model is much more transparent than the two clockgene model of Cinquin [30], and the resulting system of equations is considerably simpler (four vs. thirteen differential equations per cell). While not precluding existence of multiple clock-genes, the present model requires only one. Furthermore, heterodimers of the clock and control proteins do not bind DNA, which appears to be more biologically grounded, at least in the case of zebrafish [111, 113] and [119, see Fig. 7-26]. Unlike the Cinquin model, the PCW model is simplified through use of a fast dimerization approximation and also includes control protein homodimerization, which may affect the competitive dimerization mechanism shown here to be important for oscillation rate control. Finally, the PCW model’s representation of juxtacrine intercellular signaling4 uses strictly nearest-neighbor coupling that has been tested on a two-dimensional lattice of heterogeneous cells. Applicability of the PCW Model Recall that modeling results are, at best, only as valid as the underlying assumptions. Important assumptions of the PCW model are as follows: 1. Cellular processes may be treated deterministically. 4 Juxtacrine signaling is non-diffusive and requires direct cell-to-cell contact. 114 2. The PSM grows at a steady rate and minimal cell division and rearrangement occur in the PSM. 3. Clock and control protein dimerization is very fast. 4. Control of gene expression may be modeled using the the approach of Shea and Ackers, with a constant level of RNAP-II transcription complex. 5. Clock-gene redundancy allows the use of a single, representative clock-gene. 6. The clock-gene has one or two repressor binding sites and a single activator site. 7. Independent binding of repressors and activators occurs at the clock-gene. 8. The coordinating-signal gene has a single repressor binding site for clock protein homodimers. 9. The clock-gene has equal binding affinities for different repressor binding sites. 10. Protein monomers, protein dimers, and mRNA undergo first order (i.e., linear) decay kinetics. 11. Intercellular signaling is weak as compared to intracellular clock-gene autoinhibition. 12. Response to coordinating signal from adjacent cells is linear (i.e., nonsaturating). While some of these assumptions have been verified experimentally, a considerable number of technical difficulties (and monetary costs) would be involved in experimentally verifying all of these assumptions in zebrafish, chick, and mouse. More detailed experimental information on dimer dissociation constants, binding site arrangements, 115 and binding site affinities/cooperativities would be particularly useful. With enough time and effort, many of the above assumptions could be checked in silico, such as the role of multiple clock-genes, rate-limited decay kinetics, or saturating intercellular signaling, the effects which could be substantial. Lastly, it is hoped that the present mathematical model can inform mathematical models of model organisms other than zebrafish, such as chick and mouse. Further Analyses and Future Directions With complex feedback mechanisms at work during somitogenesis, intuition about the operation of genetic circuits can be of limited use in the formulation of scientific hypotheses and design of experiments [24, 130]. A complementary mathematical model can help guide these endeavors. While many papers in the biological literature report the necessity of a certain gene for somitogenesis via gene knockout/knockdown experiments, unfortunately there is often little useful information included for revising quantitative models [131], which could then inform the next round of experiments. As noted by others [27, 30], investigating the Notch-mediated coupling with the above combined methodology would be especially useful in further understanding somitogenesis. This coupling system apparently has the interesting property whereby it synchronizes oscillations in the tailbud, coordinates traveling wave oscillations in the PSM, and accommodates fixed waves during segmentation. The PCW model presents a minimal biologically plausible account of such phenomena, and may be advantageous over recent phase oscillator models such as [70]. Because Notch coupling is understood to coordinate oscillations in zebrafish rather than drive them, the present work did not estimate intercellular coupling parameters. A multicellular, Monte-Carlo style simulation that investigates the effects of coupling parameters on the robustness of clock-wave formation would be useful. Such inves- 116 tigation would have significant additional computational expense and would require the design of new computational tools for automating the assessment of clock-wave fitness. Furthermore, a more complete understanding and accounting of noise sources in the system would be necessary. Lastly, considerable effort has been made in the minimal construction of the PCW model. The PCW model is somewhat more complicated than Lewis’s original model in [27], because of finer attention to nonlinear production of mRNA, protein dimerization, and differential clock protein decay. More traditional dynamical systems analyses of Lewis’s original, uncoupled model have been accomplished (recall system (4)–(5) on page 20). These include location of Hopf bifurcations [88, 89, 90], and parametrized continuations of periodic asymptotic solution approximations away from the Hopf point [88]. Dimerization and differential decay in the PCW model complicate such analysis, however, future work may reveal that the model is simple enough to allow such analyses. This would nicely complement the present numerical analyses of the mechanism of oscillation rate control via graded competitive dimerization with differential decay. 117 CONCLUSION Somitogenesis embodies many hallmarks of pattern formation in developmental biology. Modern scientific investigation has revealed a fascinating interplay of biomolecular clocks, spatiotemporal gradients, and intercellular communication underlying somitogenesis. Mathematical models, such as the two presented in this work, have become essential tools for understanding the interplay between the biological components of somitogenesis. Even simple phenomenological models, such as the multi-stable phase oscillator (MPO) model presented in Chapter 3, help reveal the key components of somitogenesis and provide a proof-of-concept for mechanisms such as the clock and wavefront. The posterior clock-wave (PCW) model described in Chapter 4 focuses on clockwave formation in the clock and wavefront mechanism. The PCW model incorporates a more detailed biological mechanism than the MPO model, yet maintains a relatively simple description. In striking a good balance between biological realism and reduced complexity, the model incorporates three prominent, experimentally identified components: an intracellular clock, a graded control protein, and an intercellular coordinating signal. The model accurately integrates three key sources of nonlinearity in the genetic regulatory network: mRNA production, competitive dimerization, and differential protein decay. A fast dimerization approximation provides considerable reduction in the system of delay differential equations representing mRNA and protein dynamics in each cell, but requires the addition of a system of two nonlinear algebraic equations to represent the fast dimerization. This nonlinear algebraic system is solved with a novel iterative scheme that is extendable to competitive dimerization of three or more proteins. 118 During model validation in Chapter 5, multiple binding sites for clock protein autoinhibition, dimerization of clock and control proteins, and differential decay of clock protein are shown to act synergistically in the PCW model’s reproduction of the posterior clock-wave in zebrafish. Careful parameter estimation and model selection indicate that 1) multiple transcription binding sites are necessary for matching the period of oscillations in the tailbud, and 2) differential decay of clock protein monomers and dimers is necessary to sufficiently slow oscillations in the posterior PSM and generate the clock-wave. This differential decay mechanism represents a novel type of combinatorial control, and is a source of nonlinearity different from the rate-limited (i.e., Michaelis-Menten) decay mechanisms included in other mathematical models. The multicellular PCW model is reasonably robust to perturbation of all parameters, and this warrants experimental investigation of the apparent differential decay mechanism. Future Directions There are many exciting directions for future research, including the following: 1. Examining the role of multiple clock-genes, including competitive dimerization among three or more proteins. 2. Comparing the effects of differential vs. rate-limited protein decay. 3. A closer examination of the intercellular coupling mechanism, including improved estimation of coupling parameters, the effects of coordinating signal saturation, and robustness of clock-wave formation to biologically realistic internal and external noise. 119 4. Analyses to further understand the mechanism of oscillation rate control and how parameter choices affect clock-wave formation. 5. Modeling the control protein gradient as a state variable instead of a prescribed, external control. 6. Incorporating the determination wavefront that arrests oscillatory gene-expression into a somite pre-pattern. 7. Examining and (possibly) including additional stochastic effects in the model. The ultimate goal for the PCW model is its incorporation into a full model of the the clock and wavefront mechanism, joining the clock-wave with the gradient-wavefront to reproduce the complete pattern of somitogenesis. 120 REFERENCES CITED 121 [1] Frederic H Martini. Fundamentals of Anatomy and Physiology, Chapter 29. Prentice Hall, edition fifth, 2001. [2] Ertugrul M Özbudak, Julian Lewis. Notch signalling synchronizes the zebrafish segmentation clock but is not needed to create somite boundaries. PLoS Genet, 4(2):e15, 2008. [3] Mary-Lee Dequéant, Olivier Pourquié. Segmental patterning of the vertebrate embryonic axis. Nat Rev Genet, 9(5):370–82, 2008. [4] François Giudicelli, Ertugrul M Özbudak, Gavin J Wright, Julian Lewis. Setting the tempo in development: an investigation of the zebrafish somite clock mechanism. PLoS Biol, 5(6):e150, 2007. [5] Scott A Holley. The genetics and embryology of zebrafish metamerism. Dev Dyn, 236(6):1422–49, 2007. [6] François Giudicelli, Julian Lewis. The vertebrate segmentation clock. Curr Opin Genet Dev, 14(4):407–14, 2004. [7] Alexander Aulehla, Bernhard G Herrmann. Segmentation in vertebrates: clock and gradient finally joined. Genes Dev, 18(17):2060–7, 2004. [8] Olivier Pourquié. The segmentation clock: converting embryonic time into spatial pattern. Science, 301(5631):328–30, 2003. [9] Yumiko Saga, Hiroyuki Takeda. The making of the somite: molecular events in vertebrate segmentation. Nat Rev Genet, 2(11):835–45, 2001. [10] H L Stickney, M J Barresi, S H Devoto. Somite development in zebrafish. Dev Dyn, 219(3):287–303, 2000. [11] John P Kanki, Robert K Ho. The development of the posterior body in zebrafish. Development, 124(4):881–93, 1997. [12] J Cooke, E C Zeeman. A clock and wavefront model for control of the number of repeated structures during animal morphogenesis. J Theor Biol, 58(2):455–76, 1976. [13] René Thom. Mathematical Models of Morphogenesis. Mathematics and its applications. Ellis Horwood Limited, 1983. [14] Isabel Palmeirim, Domingos Henrique, David Ish-Horowicz, Olivier Pourquié. Avian hairy gene expression identifies a molecular clock linked to vertebrate segmentation and somitogenesis. Cell, 91(5):639–48, 1997. 122 [15] Hans Meinhardt. Models of segmentation. Ruth Bellairs, Donald A Ede, James W Lash, editors, Somites in Developing Embryos, pages 179–89. Plenum Press, 1986. [16] Brian C Goodwin. Temporal Organization in Cells: A dynamic theory of cellular control processes. Academic Press, 1963. [17] Company of Biologists. Homeostasis and Feedback Mechanisms, number 18 series Symposia of the Society for Experimental Biology. Academic Press, 1964. [18] Brian C Goodwin. Oscillatory behavior in enzymatic control processes. Adv Enzyme Regul, 3:425–38, 1965. [19] J S Griffith. Mathematics of cellular control processes. I. Negative feedback to one gene. J Theor Biol, 20(2):202–8, 1968. [20] J S Griffith. Mathematics of cellular control processes. II. Positive feedback to one gene. J Theor Biol, 20(2):209–16, 1968. [21] Christopher P Fall, Eric S Marland, John M Wagner, John J Tyson, editors. Computational Cell Biology, Volume 20 series Interdisciplinary Applied Mathematics. Springer, 2002. [22] A V Hill. The possible effects of the aggregation of the molecules of haemoglobin on its dissociation curves. J. Physiol., 40:iv–vii, 1910. [23] Madeline A Shea, Gary K Ackers. The OR control system of bacteriophage lambda. A physical-chemical model for gene regulation. J Mol Biol, 181(2):211– 30, 1985. [24] Andrew C Oates, Nicole Gorfinkiel, Marcos Gonzalez-Gaitan, Carl-Philipp Heisenberg. Quantitative approaches in developmental biology. Nat Rev Genet, 10(8):517–30, 2009. [25] Moises Santillán, Michael C Mackey. A proposed mechanism for the interaction of the segmentation clock and the determination front in somitogenesis. PLoS ONE, 3(2):e1561, 2008. [26] Hiromi Hirata, Shigeki Yoshiura, Toshiyuki Ohtsuka, Yasumasa Bessho, Takahiro Harada, Kenichi Yoshikawa, Ryoichiro Kageyama. Oscillatory expression of the bHLH factor Hes1 regulated by a negative feedback loop. Science, 298(5594):840–3, 2002. [27] Julian Lewis. Autoinhibition with transcriptional delay: a simple mechanism for the zebrafish somitogenesis oscillator. Curr Biol, 13(16):1398–408, 2003. 123 [28] Kazuki Horikawa, Kana Ishimatsu, Eiichi Yoshimoto, Shigeru Kondo, Hiroyuki Takeda. Noise-resistant and synchronized oscillation of the segmentation clock. Nature, 441(7094):719–23, 2006. [29] Hendrik B Tiedemann, Elida Schneltzer, Stefan Zeiser, Isabel Rubio-Aliaga, Wolfgang Wurst, Johannes Beckers, Gerhard K H Przemeck, Martin Hrabe de Angelis. Cell-based simulation of dynamic expression patterns in the presomitic mesoderm. J Theor Biol, 248(1):120–9, 2007. [30] Olivier Cinquin. Repressor dimerization in the zebrafish somitogenesis clock. PLoS Comput Biol, 3(2):e32, 2007. [31] Joel E Cohen. Mathematics is biology’s next microscope, only better; biology is mathematics’ next physics, only better. PLoS Biol, 2(12):e439, 2004. [32] Santiago Schnell, Philip K Maini, Stuart A Newman, Timothy J Newman, editors. Multiscale Modeling of Developmental Systems, Volume 81 series Curr Top Dev Biol. Academic Press, 2008. [33] Santiago Schnell, Ramon Grima, Philip K Maini. Multiscale modeling in biology. Am Sci, 95:134–42, 2008. [34] Ido Golding, Edward C Cox. Eukaryotic transcription: what does it mean for a gene to be ‘on’ ? Curr Biol, 16(10):R371–3, 2006. [35] Julian Lewis. A clock-and-wavefront model simulates the observed pattern of c-hairy1 expression during somitogenesis. Cell, 91(5):639–48 (appendix), 1997. [36] Johannes Jaeger, Brian C Goodwin. A cellular oscillator model for periodic pattern formation. J Theor Biol, 213(2):171–81, 2001. [37] A M Turing. The chemical basis of morphogenesis. Phil Trans Roy Soc Lond, B327:37–72, 1952. [38] A Gierer, H Meinhardt. A theory of biological pattern formation. Kybernetik, 12(1):30–9, 1972. [39] Philip K Maini. Mathematical models in morphogenesis. V Capasso, O Diekmann, editors, Mathematics Inspired by Biology, pages 151–89. Springer, 1997. [40] L Wolpert. Positional information and the spatial pattern of cellular differentiation. J Theor Biol, 25(1):1–47, 1969. [41] Avigdor Eldar, Ruslan Dorfman, Daniel Weiss, Hilary Ashe, Ben-Zion Shilo, Naama Barkai. Robustness of the BMP morphogen gradient in Drosophila embryonic patterning. Nature, 419(6904):304–8, 2002. 124 [42] Julien Dubrulle, Olivier Pourquié. fgf8 mRNA decay establishes a gradient that couples axial elongation to patterning in the vertebrate embryo. Nature, 427(6973):419–22, 2004. [43] Marta Ibanes, Juan Carlos Izpisúa Belmonte. Theoretical and experimental approaches to understand morphogen gradients. Mol Syst Biol, 4:176, 2008. [44] L Wolpert. One hundred years of positional information. 12(9):359–64, 1996. Trends Genet, [45] D R Primmett, W E Norris, G J Carlson, R J Keynes, C D Stern. Periodic segmental anomalies induced by heat shock in the chick embryo are associated with the cell cycle. Development, 105(1):119–30, 1989. [46] Ruth E Baker, Santiago Schnell, Philip K Maini. Formation of vertebral precursors: past models and future predictions. J Theor Med, 5:23–35, 2003. [47] A A Polezhaev. A mathematical model of the mechanism of vertebrate somitic segmentation. J Theor Biol, 156(2):169–81, 1992. [48] J R Collier, D Mcinerney, S Schnell, P K Maini, D J Gavaghan, P Houston, C D Stern. A cell cycle model for somitogenesis: mathematical formulation and numerical simulation. J Theor Biol, 207(3):305–16, 2000. [49] Santiago Schnell, Philip K Maini, Daragh McInerney, David J Gavaghan, Paul Houston. Models for pattern formation in somitogenesis: a marriage of cellular and molecular biology. C R Biol, 325(3):179–89, 2002. [50] D McInerney, S Schnell, R E Baker, P K Maini. A mathematical formulation for the cell-cycle model in somitogenesis: analysis, parameter constraints and numerical solutions. Math Med Biol, 21(2):85–113, 2004. [51] J Cooke. A gene that resuscitates a theory–somitogenesis and a molecular oscillator. Trends Genet, 14(3):85–8, 1998. [52] Arthur T Winfree. The Geometry of Biological Time, Volume 8 series Biomathemtics. Springer-Verlag, 1980. [53] Albert Goldbeter. Biochemical Oscillations and Cellular Rhythms. Cambridge University Press, 1996. [54] M Kerszberg, L Wolpert. A clock and trail model for somite formation, specialization and polarization. J Theor Biol, 205(3):505–10, 2000. [55] Santiago Schnell, Philip K Maini. Clock and induction model for somitogenesis. Dev Dyn, 217(4):415–20, 2000. 125 [56] Ruth E Baker, Santiago Schnell. How can mathematics help us explore vertebrate segmentation? HFSP J, 3(1):1–5, 2009. [57] Ruth E Baker, Santiago Schnell, Philip K Maini. Mathematical models for somite formation. Curr Top Dev Biol, 81:183–203, 2008. [58] Paul M Kulesa, Santiago Schnell, Stefan Rudloff, Ruth E Baker, Philip K Maini. From segment to somite: segmentation to epithelialization analyzed within quantitative frameworks. Dev Dyn, 236(6):1392–402, 2007. [59] R E Baker, S Schnell, P K Maini. A clock and wavefront mechanism for somite formation. Dev Biol, 293(1):116–26, 2006. [60] K J Dale, O Pourquie. A clock-work somite. Bioessays, 22(1):72–83, 2000. [61] Hans Meinhardt. Models of Biological Pattern Formation. Academic Press, 1982. [62] Hans Meinhardt. Models of biological pattern formation: from elementary steps to the organization of embryonic axes. Curr Top Dev Biol, 81:1–63, 2008. [63] R E Baker, S Schnell, P K Maini. A mathematical investigation of a Clock and Wavefront model for somitogenesis. J Math Biol, 52(4):458–82, 2006. [64] R E Baker, P K Maini. Travelling gradients in interacting morphogen systems. Math Biosci, 209(1):30–50, 2007. [65] Albert Goldbeter, Didier Gonze, Olivier Pourquié. Sharp developmental thresholds defined through bistability by antagonistic gradients of retinoic acid and FGF signaling. Dev Dyn, 236(6):1495–508, 2007. [66] James A Glazier, Ying Zhang, Maciej Swat, Benjamin Zaitlen, Santiago Schnell. Coordinated action of N-CAM, N-cadherin, EphA4, and ephrinB2 translates genetic prepatterns into structure during somitogenesis in chick. Curr Top Dev Biol, 81:205–47, 2008. [67] Nicola J Armstrong, Kevin J Painter, Jonathan A Sherratt. Adding adhesion to a chemical signaling model for somite formation. Bull Math Biol, 71(1):1–24, 2009. [68] M Kaern, M Menzinger, A Hunding. Segmentation and somitogenesis derived from phase dynamics in growing oscillatory media. J Theor Biol, 207(4):473–93, 2000. [69] Ingmar H Riedel-Kruse, Claudia Muller, Andrew C Oates. Synchrony dynamics during initiation, failure, and rescue of the segmentation clock. Science, 317(5846):1911–5, 2007. 126 [70] Luis G Morelli, Saul Ares, Leah Herrgen, Christian Schroter, Frank Julicher, Andrew C Oates. Delayed coupling theory of vertebrate segmentation. HFSP J, 3(1):55–66, 2009. [71] Padmashree C G Rida, Nguyet Le Minh, Yun Jin Jiang. A Notch feeling of somite segmentation and beyond. Dev Biol, 265(1):2–22, 2004. [72] Olivier Cinquin. Is the somitogenesis clock really cell-autonomous? A coupledoscillator model of segmentation. J Theor Biol, 224(4):459–68, 2003. [73] S Zeiser, O Rivera, C Kuttler, B Hense, R Lasser, G Winkler. Oscillations of Hes7 caused by negative autoregulation and ubiquitination. Comput Biol Chem, 32(1):47–51, 2008. [74] Mary-Lee Dequéant, Earl Glynn, Karin Gaudenz, Matthias Wahl, Jie Chen, Arcady Mushegian, Olivier Pourquié. A complex oscillating network of signaling genes underlies the mouse segmentation clock. Science, 314(5805):1595–8, 2006. [75] Albert Goldbeter, Olivier Pourquié. Modeling the segmentation clock as a network of coupled oscillations in the Notch, Wnt and FGF signaling pathways. J Theor Biol, 252(3):574–85, 2008. [76] M H Jensen, K Sneppen, G Tiana. Sustained oscillations and time delays in gene expression of protein Hes1. FEBS Lett, 541(1-3):176–7, 2003. [77] Nicholas A M Monk. Oscillatory expression of Hes1, p53, and NF-kappaB driven by transcriptional time delays. Curr Biol, 13(16):1409–13, 2003. [78] Yun-Jin Jiang, Julian Lewis. Notch as a synchroniser in somite segmentation. Esmond J Sanders, James W Lash, Charles P Ordahl, editors, The Origin and Fate of Somites, pages 71–9. IOS Press, 2001. [79] Kana Ishimatsu, Kazuki Horikawa, Hiroyuki Takeda. Coupling cellular oscillators: a mechanism that maintains synchrony against developmental noise in the segmentation clock. Dev Dyn, 236(6):1416–21, 2007. [80] Hiromi Hirata, Yasumasa Bessho, Hiroshi Kokubu, Yoshito Masamizu, Shuichi Yamada, Julian Lewis, Ryoichiro Kageyama. Instability of Hes7 protein is crucial for the somite segmentation clock. Nat Genet, 36(7):750–4, 2004. [81] Stefan Zeiser, H Volkmar Liebscher, Hendrik Tiedemann, Isabel Rubio-Aliaga, Gerhard K H Przemeck, Martin Hrabe de Angelis, Gerhard Winkler. Number of active transcription factor binding sites is essential for the Hes7 oscillator. Theor Biol Med Model, 3:11, 2006. 127 [82] Samuel Bernard, Branka Cajavec, Laurent Pujo-Menjouet, Michael C Mackey, Hanspeter Herzel. Modelling transcriptional feedback loops: the role of Gro/TLE1 in Hes1 oscillations. Philos Transact A Math Phys Eng Sci, 364(1842):1155–70, 2006. [83] Yoshito Masamizu, Toshiyuki Ohtsuka, Yoshiki Takashima, Hiroki Nagahara, Yoshiko Takenaka, Kenichi Yoshikawa, Hitoshi Okamura, Ryoichiro Kageyama. Real-time imaging of the somite segmentation clock: revelation of unstable oscillators in the individual presomitic mesoderm cells. Proc Natl Acad Sci U S A, 103(5):1313–8, 2006. [84] J G Rodrı́guez-González, M Santillán, A C Fowler, Michael C Mackey. The segmentation clock in mice: interaction between the Wnt and Notch signalling pathways. J Theor Biol, 248(1):37–47, 2007. [85] Andrew Mara, Scott A Holley. Oscillators and the emergence of tissue organization during zebrafish somitogenesis. Trends Cell Biol, 17(12):593–9, 2007. [86] Hiroshi Momiji, Nicholas A M Monk. Dissecting the dynamics of the Hes1 genetic oscillator. J Theor Biol, 254(4):784–98, 2008. [87] Hiroshi Momiji, Nicholas A M Monk. Oscillatory expresssion of Hes family transcription factors: insights from mathematical modeling. Miguel Maroto, Micholas A M Monk, editors, Cellular Oscillatory Mechanisms, Volume 641 series Advances in Experimental Medicine and Biology, Chapter 6, pages 72–87. Springer, 2008. [88] Anael Verdugo, Richard Rand. Hopf bifurcation in a DDE model of gene expression. Commun Nonlinear Sci Numer Simulat, 13:235–42, 2008. [89] Nicole Radde. The impact of time delays on the robustness of biological oscillators and the effect of bifurcations on the inverse problem. EURASIP J Bioinform Syst Biol, page 327503, 2009. [90] Peng Feng, Menaka Navaratna. Modelling periodic oscillations during somitogenesis. Math Biosci Eng, 4(4):661–73, 2007. [91] Andrew Mara, Joshua Schroeder, Cecile Chalouni, Scott A Holley. Priming, initiation and synchronization of the segmentation clock by deltaD and deltaC. Nat Cell Biol, 9(5):523–30, 2007. [92] O Pourquié, P P Tam. A nomenclature for prospective somites and phases of cyclic gene expression in the presomitic mesoderm. Dev Cell, 1(5):619–20, 2001. [93] Christian Schroter, Leah Herrgen, Albert Cardona, Gary J Brouhard, Benjamin Feldman, Andrew C Oates. Dynamics of zebrafish somitogenesis. Dev Dyn, 237(3):545–53, 2008. 128 [94] Mark W Reichelt, Lawrence F Shampine. ode45. MATLAB & Simulink, R2008b. The MathWorks, Inc., Natick, MA USA, 2005. www.mathworks.com. [95] Yun-Jin Jiang, Birgit L Aerne, Lucy Smithers, Catherine Haddon, David IshHorowicz, Julian Lewis. Notch signalling and the synchronization of the somite segmentation clock. Nature, 408(6811):475–9, 2000. [96] Miguel Maroto, J Kim Dale, Mary-Lee Dequéant, Anne-Cecile Petit, Olivier Pourquié. Synchronised cycling gene oscillations in presomitic mesoderm cells require cell-cell contact. Int J Dev Biol, 49(2-3):309–15, 2005. [97] J Dubrulle, M J McGrew, O Pourquié. FGF signaling controls somite boundary position and regulates segmentation clock control of spatiotemporal Hox gene activation. Cell, 106(2):219–32, 2001. [98] A Sawada, M Shinya, Y J Jiang, A Kawakami, A Kuroiwa, H Takeda. Fgf/MAPK signalling is a crucial positional cue in somite boundary formation. Development, 128(23):4873–80, 2001. [99] Olivier Cinquin. Understanding the somitogenesis clock: what’s missing? Mech Dev, 124(7-8):501–17, 2007. [100] Paul Francois, Vincent Hakim, Eric D Siggia. Deriving structure from evolution: metazoan segmentation. Mol Syst Biol, 3:154, 2007. [101] K I Mazzitello, C M Arizmendi, H G E Hentschel. Converting genetic network oscillations into somite spatial patterns. Phys Rev E Stat Nonlin Soft Matter Phys, 78(2 Pt 1):021906, 2008. [102] Andrew C Oates, Robert K Ho. Hairy/E(spl)-related (Her) genes are central components of the segmentation oscillator and display redundancy with the Delta/Notch signaling pathway in the formation of anterior segmental boundaries in the zebrafish. Development, 129(12):2929–46, 2002. [103] Ryoichiro Kageyama, Toshiyuki Ohtsuka, Taeko Kobayashi. The Hes gene family: repressors and oscillators that orchestrate embryogenesis. Development, 134(7):1243–51, 2007. [104] B H Jennings, D M Tyler, S J Bray. Target specificities of Drosophila enhancer of split basic helix-loop-helix proteins. Mol Cell Biol, 19(7):4600–10, 1999. [105] Dirk Sieger, Diethard Tautz, Martin Gajewski. her11 is involved in the somitogenesis clock in zebrafish. Dev Genes Evol, 214(8):393–406, 2004. [106] Y Bessho, G Miyoshi, R Sakata, R Kageyama. Hes7: a bHLH-type repressor gene regulated by Notch and expressed in the presomitic mesoderm. Genes Cells, 6(2):175–85, 2001. 129 [107] Nicolas E Buchler, Ulrich Gerland, Terence Hwa. Nonlinear protein degradation and the function of genetic circuits. Proc Natl Acad Sci U S A, 102(27):9559–64, 2005. [108] Nicolas E Buchler, Ulrich Gerland, Terence Hwa. On schemes of combinatorial transcription logic. Proc Natl Acad Sci U S A, 100(9):5136–41, 2003. [109] Moises Santillán, Michael C Mackey. Why the lysogenic state of phage lambda is so stable: a mathematical modeling approach. Biophys J, 86(1 Pt 1):75–84, 2004. [110] Tomas Gedeon, Konstantin Mischaikow, Kate Patterson, Eliane Traldi. When activators repress and repressors activate: a qualitative analysis of the SheaAckers model. Bull Math Biol, 70(6):1660–83, 2008. [111] Akinori Kawamura, Sumito Koshida, Hiroko Hijikata, Takuya Sakaguchi, Hisato Kondoh, Shinji Takada. Zebrafish hairy/enhancer of split protein links FGF signaling to cyclic gene expression in the periodic segmentation of somites. Genes Dev, 19(10):1156–61, 2005. [112] Dirk Sieger, Bastian Ackermann, Christoph Winkler, Diethard Tautz, Martin Gajewski. her1 and her13.2 are jointly required for somitic border specification along the entire axis of the fish embryo. Dev Biol, 293(1):242–51, 2006. [113] S Bae, Y Bessho, M Hojo, R Kageyama. The bHLH gene Hes6, an inhibitor of Hes1, promotes neuronal differentiation. Development, 127(13):2933–43, 2000. [114] C Leimeister, K Dale, A Fischer, B Klamt, M Hrabe de Angelis, F Radtke, M J McGrew, O Pourquié, M Gessler. Oscillating expression of c-Hey2 in the presomitic mesoderm suggests that the segmentation clock may use combinatorial signaling through multiple interacting bHLH factors. Dev Biol, 227(1):91–103, 2000. [115] J K Dale, M Maroto, M-L Dequ/’eant, P Malapert, M McGrew, O Pourqui/’e. Periodic notch inhibition by lunatic fringe underlies the chick segmentation clock. Nature, 421(6920):275–8, 2003. [116] Dirk Sieger, Diethard Tautz, Martin Gajewski. The role of Suppressor of Hairless in Notch mediated signalling during zebrafish somitogenesis. Mech Dev, 120(9):1083–94, 2003. [117] James P Keener, Joel E Keizer. Computational Cell Biology, Volume 20 series Interdisciplinary Applied Mathematics, Chapter 4. Springer, 2002. [118] Benno Muller-Hill. The lac operon. de Gruyter, 1996. 130 [119] Bruce Alberts, Alexander Johnson, Julian Lewis, Martin Raff, Keith Roberts, Peter Walter. Molecular Biology of the Cell, Chapter 7. Garland Science, edition fourth, 2002. [120] O Nakagawa, D G McFadden, M Nakagawa, H Yanagisawa, T Hu, D Srivastava, E N Olson. Members of the HRT family of basic helix-loop-helix proteins act as transcriptional repressors downstream of Notch signaling. Proc Natl Acad Sci U S A, 97(25):13655–60, 2000. [121] Sarah J Bray. Notch signalling: a simple pathway becomes complex. Nat Rev Mol Cell Biol, 7(9):678–89, 2006. [122] Martin Gajewski, Dirk Sieger, Burkhard Alt, Christian Leve, Stefan Hans, Christian Wolff, Klaus B Rohr, Diethard Tautz. Anterior and posterior waves of cyclic her1 gene expression are differentially regulated in the presomitic mesoderm of zebrafish. Development, 130(18):4269–78, 2003. [123] Jacek Kierzenka, Lawrence F Shampine, Skip Thompson. dde23 and ddesd. MATLAB & Simulink, R2008b. The MathWorks, Inc., Natick, MA USA, 2008. www.mathworks.com. [124] The Markov chain Monte Carlo revolution. Persi diaconis. Bull Amer Math Soc, 46:179–205, 2009. [125] Sunita S Shankaran, Dirk Sieger, Christian Schroter, Carmen Czepe, MarieChristin Pauly, Mary A Laplante, Thomas S Becker, Andrew C Oates, Martin Gajewski. Completing the set of h/E(spl) cyclic genes in zebrafish: her12 and her15 reveal novel modes of expression and contribute to the segmentation clock. Dev Biol, 304(2):615–32, 2007. [126] Andrew C Oates, Claudia Mueller, Robert K Ho. Cooperative function of deltac and her7 in anterior segment formation. Dev Biol, 280(1):133–49, 2005. [127] Dorthe Julich, Chiaw Hwee Lim, Jennifer Round, Claudia Nicolaije, Joshua Schroeder, Alexander Davies, Robert Geisler, Julian Lewis, Yun-Jin Jiang, Scott A Holley. beamter/deltaC and the role of Notch ligands in the zebrafish somite segmentation, hindbrain neurogenesis and hypochord differentiation. Dev Biol, 286(2):391–404, 2005. [128] Mark Ptashne. A genetic Switch. Cold Spring Harbor Press, 2004. [129] Scott A Holley, Robert Geisler, Christiane Nusslein-Volhard. Control of her1 expression during zebrafish somitogenesis by a delta-dependent oscillator and an independent wave-front activity. Genes Dev, 14(13):1678–90, 2000. 131 [130] Julian Lewis. From signals to patterns: space, time, and mathematics in developmental biology. Science, 322(5900):399–403, 2008. [131] Julian Lewis, Ertugrul M Özbudak. Deciphering the somite segmentation clock: beyond mutants and morphants. Dev Dyn, 236(6):1410–5, 2007. 132 APPENDICES 133 APPENDIX A IMPOSSIBILITY OF NONTRIVIAL PERIODIC SOLUTIONS IN LEWIS’S UNCOUPLED DDE MODEL WITHOUT DELAYS 134 Theorem 2. Consider the following system of differential equations: dp(t) = a m(t − Tp ) − b p(t), dt dm(t) k = 2 − c m(t), dt m) 1 + p(t−T p0 where a, b, k and c, and po are (strictly) positive constants. If Tp = Tm = 0, then the Dulac criterion implies that nontrivial periodic solutions are impossible. p am − bp Proof. Let x = and f (x) = , so that ẋ = f (x). Suppose k m − cm 1+(p/p0 )2 a nontrivial closed orbit ∂A, with outward normal n, bounds the nontrivial planar region A. Green’s Theorem implies: I ZZ f (x) · n ds = ∂A Z 0 T ∇ · f (x) dA, A ZZ ∂ ∂ (a m − b p) + ẋ(t) · n dt = ∂m A ∂p ZZ 0 = −(b + c) dA < 0, A which is a contradiction. k − cm 1 + (p/p0 )2 dA, 135 APPENDIX B COMPETITIVE DIMERIZATION OF THREE PROTEINS 136 The prevalence of multiple clock-genes in several model organisms suggests the future examination of competitive dimerization of multiple clock proteins. As an example of the generalizability of the iterative scheme presented in Chapter 4, the case for competitive dimerization of three proteins is briefly outlined. Suppose there is competitive dimerization between three proteins C, D, and G. Consideration of all forms of each of these proteins gives the following definitions of total proteins: b := C + 2 C:C + C:D + C:G, C b := D + 2 D:D + C:D + D:G, D b := G + 2 G:G + C:G + D:G. G Consideration of all the relevant chemical interactions gives the following six possible bidirectional dimerization reactions: 2C C +D + kC:C − kC:C + kC:D − kC:D C:C, 2D C:D, C +G + kD:D − kD:D + kC:G − kC:G D:D, 2G C:G, D+G + kG:G − kG:G + kD:G − kD:G G:G, D:G, where the forward and reverse (strictly) positive reaction rates are given above and below the arrows, respectively. A fast dimerization approximation results in finding a non-negative equilibrium for the following system of nine ordinary differential equations derived from mass 137 action kinetics: − + − Ċ = 2 kC:C C:C − 2 kC:C C 2 + kC:D C:D − + − + kC:D C D + kC:G C:G − kC:G C G, ˙ = −k − C:C + k + C 2 , C:C C:C C:C − + − Ḋ = 2 kD:D D:D − 2 kD:D D2 + kC:D C:D − + − + kC:D C D + kD:G D:G − kD:G D G, ˙ = −k − D:D + k + D2 , D:D C:C C:C − + − Ġ = 2 kG:G G:G − 2 kG:G G2 + kC:G C:G − + − + kC:G C G + kD:G D:G − kD:G D G, ˙ = −k − G:G + k + G2 , G:G G:G G:G ˙ = −k − C:D + k + C D, C:D C:D C:D ˙ = −k − C:G + k + C G, C:G C:G C:G ˙ = −k − D:G + k + D G. D:G D:G D:G Setting the left hand side of the above system equal to zero at equilibrium gives, after some simplification, the following nonlinear algebraic system of six equations with nine unknowns: C:C = C2 , κC:C C:D = CD , κC:D D:D = D2 , κD:D C:G = CG , κC:G (94) G2 DG , D:G = , κG:G κD:G where κC:C , κD:D , κG:G , κC:D , κC:G , and κD:G are the (strictly) positive dissociation G:G = constants for the various dimers. To these six equations the following constraints are 138 appended: b = C + 2 C:C + C:D + C:G, C b = D + 2 D:D + C:D + D:G, D (95) b = G + 2 G:G + C:G + D:G. G Using the relationships in (94) in the right hand sides of (95) gives 2 b = C +2 C + CD + CG, C κC:C κC:D κC:G 2 b = D +2 D + CD + DG, D κD:D κC:D κD:G 2 b = G+2 G + CG + DG. G κG:G κC:G κD:G Rewriting each of these equations as quadratics in the respective monomer concentrations gives D G b 0= C + 1+ + C − C, κC:C κC:D κC:G C 2 G 2 b 0= D + 1+ + D − D, κD:D κC:D κD:G C D 2 2 b G − G. G + 1+ + 0= κG:G κC:G κD:G 2 2 Using the quadratic equation to solve for the non-negative roots of these equations 3 gives a mapping G from R+ into itself defined component-wise by s 2 b C κC:C Dn Gn Dn Gn + +8 − 1+ + Cn+1 = 1+ 4 κC:D κC:G κC:C κC:D κC:G s 2 b κD:D Cn Gn D Cn Gn 1+ + +8 − 1+ + Dn+1 = 4 κC:D κD:G κD:D κC:D κD:G s 2 b κG:G Cn Dn G Cn Dn Gn+1 = +8 1+ + − 1+ + 4 κC:G κD:G κG:G κC:G κD:G 139 This mapping defines an iterative numerical scheme for the computation of the monomer concentrations C, D, and G, as a function of the total protein concentrations b D, b and G. b Convergence has been observed in practice for typical values of the C, dissociation constants and a range of total protein levels. 140 APPENDIX C MATLAB CODES 141 Multi-Stable Phase Oscillator (MPO) Model Code somitogenesisMPO.m: This simulates the MPO model using Matlab’s ode45 solver, and plots some useful results. function somitogenesisMPO % Usage : % somitogenesisMPO % % This s i m u l a t e s t h e m u l t i −s t a b l e p ha s e o s c i l l a t o r model o f ... somitogenesis . % Initialize K= 6 0 ; % Number o f c e l l s c e l l I n d i c e s= ( 1 :K) ’ ; c e l l s P e r S o m i t e= 6 ; tau= 3 ; % S u s c e p t i b i l i t y / m a t u r i t y h a l f − l i f e T= ( c e l l I n d i c e s − 1 ) / c e l l s P e r S o m i t e ; % PSM c e l l e n t e r t i m e s % S o l v e system o f ODEs from z e r o t o s i x t y time u n i t s s o l= ode45 ( @rhs , [ 0 6 0 ] , 0 . 2 5 ∗ o n e s ( s i z e ( c e l l I n d i c e s ) ) , o d e s e t ( ... ’RelTol ’ , 1 0 e −9) ) ; % Plots f i g u r e H= f i g u r e ( 1 ) ; c l f ( f i g u r e H ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; 142 p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; axisH= subplot ( 1 , 2 , 1 ) ; t G r i d= − 1 : 0 . 1 : 7 ; s e r i e s H= plot ( axisH , tGrid , s ( tGrid , 3 ) , ’LineWidth ’ , 2 ) ; ylim ( axisH , [ −0.1 1 . 1 ] ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; xlim ( axisH , [−1 7 ] ) ; xlabel ( axisH , ’t ( unitless time)’ , ’FontSize ’ , 1 2 , ’... FontWeight ’ , ’demi ’ ) ; t i t l e ( axisH , ’y=s(t; 3) ’ , ’FontSize ’ , 1 4 , ’FontWeight ’ , ’... demi ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; set ( axisH , ’Position ’ , [ 0 . 1 2 0 . 1 7 5 0 . 3 5 0 . 6 7 5 ] ) ; text ( −3 , 1 . 2 5 , ’(a)’ , ’FontSize ’ , 1 6 , ’FontWeight ’ , ’demi ’ ) ; axisH= subplot ( 1 , 2 , 2 ) ; s e r i e s H= plot ( axisH , c e l l I n d i c e s , s ( 6 − T, 3 ) , ’.-’ , ... c e l l I n d i c e s , s ( 8 − T, 3 ) , ’.-’ , ’LineWidth ’ , 0 . 5 ) ; ylim ( axisH , [ −0.1 1 . 1 ] ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; xlim ( axisH , [ 0 K+1]) ; xlabel ( axisH , ’k (cell #) ’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’... demi ’ ) ; 143 t i t l e ( axisH , [ ’y=s(t-T_k; 3) , k=1 ,... , ’ num2str (K) ] , ’... FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; legend ( axisH , ’t=6 ’ , ’t=8 ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; set ( axisH , ’Position ’ , [ 0 . 6 2 0 . 1 7 5 0 . 3 5 0 . 6 7 5 ] ) ; text ( −16 , 1 . 2 5 , ’(b)’ , ’FontSize ’ , 1 6 , ’FontWeight ’ , ’demi ’ ) ... ; f i g u r e H= f i g u r e ( 2 ) ; c l f ( f i g u r e H ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; axisH= subplot ( 1 , 1 , 1 ) ; p hi G r i d= 0 : 0 . 0 0 5 : 2 ; s e r i e s H= plot ( axisH , phiGrid , o n e s ( s i z e ( p hi G r i d ) ) , phiGrid ... , 1 − 0 . 5 ∗ ( sin ( 2 ∗ pi ∗ p hi G r i d ) ) . ˆ 2 , phiGrid , 1 − ( sin ( 2 ∗ pi ∗ p hi G r id ... ) ) . ˆ 2 , ’LineWidth ’ , 2 ) ; set ( s e r i e s H ( 1 ) , ’Color ’ , [ 1 0 0 ] ) ; set ( s e r i e s H ( 2 ) , ’Color ’ , [ 0 . 5 0 . 5 0 . 5 ] ) ; set ( s e r i e s H ( 3 ) , ’Color ’ , [ 0 1 0 ] ) ; ylim ( axisH , [ 0 1 . 1 ] ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; 144 xlabel ( axisH , ’\ phi_1 ’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi... ’) ; t i t l e ( axisH , ’y=d\ phi_1 /dt , \tau_ {1/2}=3 , T_1 =0 ’ , ’... Interpreter ’ , ’tex ’ , ’FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; legend ( axisH , ’t\leq0 ’ , ’t=3 ’ , ’t\geq6 ’ , ’Location ’ , ’... southeast ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; f i g u r e H= f i g u r e ( 3 ) ; c l f ( f i g u r e H ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; axisH= subplot ( 1 , 1 , 1 ) ; s e r i e s H= plot ( axisH , s o l . x , s o l . y ( 1 : 6 , : ) , ’LineWidth ’ , 2 ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; xlim ( axisH , [ 0 8 ] ) ; xlabel ( axisH , ’t’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; t i t l e ( axisH , ’y=\ phi_k (t), \tau_ {1/2}=3 , T_k =(k -1) /6, k... =1 ,... ,6 ’ , ’FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; legend ( axisH , ’\ phi_1 (t)’ , ’\ phi_2 (t)’ , ’\ phi_3 (t)’ , ’\... phi_4 (t)’ , ’\ phi_5 (t)’ , ’\ phi_6 (t)’ , ’Location ’ , ’NorthWest ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; 145 f i g u r e H= f i g u r e ( 3 ) ; c l f ( f i g u r e H ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; axisH= subplot ( 1 , 1 , 1 ) ; s e r i e s H= plot ( axisH , s o l . x , s o l . y ( 1 : 6 , : ) , ’LineWidth ’ , 2 ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; xlim ( axisH , [ 0 8 ] ) ; xlabel ( axisH , ’t ( unitless time)’ , ’FontSize ’ , 1 2 , ’... FontWeight ’ , ’demi ’ ) ; t i t l e ( axisH , ’y=\ phi_k (t), \tau_ {1/2}=3 , T_k =(k -1) /6, k... =1 ,... ,6 ’ , ’FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; legend ( axisH , ’\ phi_1 (t)’ , ’\ phi_2 (t)’ , ’\ phi_3 (t)’ , ’\... phi_4 (t)’ , ’\ phi_5 (t)’ , ’\ phi_6 (t)’ , ’Location ’ , ’northwest ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; f i g u r e H= f i g u r e ( 4 ) ; c l f ( f i g u r e H ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; 146 axisH= subplot ( 1 , 1 , 1 ) ; s e r i e s H= plot ( axisH , ( ( 0 : K−1) + 0 . 5 ) / c e l l s P e r S o m i t e , s o l . y... ( : , end ) , ’.-’ , ’LineWidth ’ , 0 . 5 ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; xlim ( axisH , [ 0 K/ c e l l s P e r S o m i t e ] ) ; xlabel ( axisH , ’x ( somite #) ’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ... ’demi ’ ) ; t i t l e ( axisH , [ ’y=\ phi_k (’ num2str ( s o l . x ( end ) , ’%1.2f’ ) ’)... , k=1 ,2 ,... ,60 ’ ] , ’FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; f i g u r e H= f i g u r e ( 5 ) ; c l f ( f i g u r e H ) ; colormap ( [ 1 0 0 ; 0 . 5 0 . 5 0 . 5 ; 0 1 0 ] ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 8 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 8 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; t G r i d= 6 + 0 . 2 5 ∗ ( ( 1 : 8 ) −1) ; l a b e l s= { ’a’ , ’b’ , ’c’ , ’d’ , ’e’ , ’f’ , ’g’ , ’h’ } ; y P o s i t i o n s= [ 0 . 7 8 0 . 5 4 0 . 3 0 . 0 6 0 . 7 8 0 . 5 4 0 . 3 0 . 0 6 ] ; f o r k= 1 : 8 c o l o r s= o n e s (K, 1 ) ; % D e f a u l t : 1 <=> Immature c o l o r i n d e x c o l o r s (T <= t G r i d ( k ) )= 2 ; % 2 <=> Maturing c o l o r i n d e x 147 c o l o r s (T + 2∗ tau <= t G r i d ( k ) )= 3 ; % 3 <=> Mature c o l o r ... index i f k <= 4 axisH= subplot ( 4 , 2 , 2 ∗ k−1) ; p o s i t i o n= get ( axisH , ’Position ’ ) ; p o s i t i o n ( 1 )= 0 . 1 2 5 ; else axisH= subplot ( 4 , 2 , 2 ∗ k−8) ; p o s i t i o n= get ( axisH , ’Position ’ ) ; p o s i t i o n ( 1 )= 0 . 6 2 5 ; end p o s i t i o n ( 2 )= y P o s i t i o n s ( k ) ; p o s i t i o n ( 3 )= 1 / 3 ; p o s i t i o n ( 4 )= 0 . 1 5 ; barH= bar ( axisH , ( ( 0 : K−1) + 0 . 5 ) / c e l l s P e r S o m i t e , 0 . 5 ∗ ( 1 + ... sin ( 2 ∗ pi ∗ d e v a l ( s o l , t G r i d ( k ) ) ) ) ) ; set ( axisH , ’Position ’ , p o s i t i o n ) ; c h i l d r e n H= get ( barH , ’children ’ ) ; set ( c h i l d r e n H , ’facevertexcdata ’ , c o l o r s ) ; % S e t c o l o r o f ... bars set ( c h i l d r e n H , ’CDataMapping ’ , ’direct ’ ) ; xlim ( axisH , [ 0 K/ c e l l s P e r S o m i t e ] ) ; i f rem( k , 4 )==0 xlabel ( axisH , ’x ( somite #) ’ , ’FontSize ’ , 1 2 , ’... FontWeight ’ , ’demi ’ ) ; 148 end ylim ( axisH , [ −0.1 1 . 1 ] ) ; i f k<=4 ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; end t i t l e ( axisH , [ ’y=p_k(’ num2str ( t G r i d ( k ) , ’%1.2f’ ) ’)’ ] , ’... FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; text ( −2.75 , 1 . 3 7 5 , [ ’(’ l a b e l s {k} ’)’ ] , ’FontSize ’ , 1 6 , ’... FontWeight ’ , ’demi ’ ) ; %{ f i g u r e ( 6 ) ; c l f ( gcf ) ; colormap ( [ 1 0 0 ; 0 . 5 0 . 5 0 . 5 ; 0 1 0 ] ) ; set ( gcf , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( gcf , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( gcf , ’Position ’ , p o s i t i o n ) ; axisH= subplot ( 1 , 1 , 1 ) ; barH= bar ( axisH , ( ( 0 : K−1) + 0 . 5 ) / c e l l s P e r S o m i t e , ... 0 . 5 ∗ ( 1 + sin ( 2 ∗ pi ∗ d e v a l ( s o l , t G r i d ( k ) ) ) ) ) ; c h i l d r e n H= get ( barH , ’children ’ ) ; set ( c h i l d r e n H , ’facevertexcdata ’ , c o l o r s ) ; % S e t c o l o r ... of bars set ( c h i l d r e n H , ’CDataMapping ’ , ’direct ’ ) ; xlim ( axisH , [ 0 K/ c e l l s P e r S o m i t e ] ) ; 149 xlabel ( axisH , ’x ( somite #) ’ , ’FontSize ’ , 1 2 , ’... FontWeight ’ , ’demi ’ ) ; ylim ( axisH , [ −0.1 1 . 1 ] ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ... ; t i t l e ( axisH , [ ’y=p_k(’ num2str ( t G r i d ( k ) , ’%1.2f’ ) ’)’... ] , ’FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; pause ; %} end f i g u r e H= f i g u r e ( 6 ) ; c l f ( f i g u r e H ) ; colormap ( [ 1 0 0 ; 0 . 5 0 . 5 0 . 5 ; 0 1 0 ] ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; c o l o r s= o n e s (K, 1 ) ; % D e f a u l t : 1 <=> Immature c o l o r i n d e x c o l o r s (T <= s o l . x ( end ) )= 2 ; % 2 <=> Maturing c o l o r i n d e x c o l o r s (T + 2∗ tau <= s o l . x ( end ) )= 3 ; % 3 <=> Mature c o l o r ... index axisH= subplot ( 1 , 1 , 1 ) ; 150 barH= bar ( axisH , ( ( 0 : K−1) + 0 . 5 ) / c e l l s P e r S o m i t e , 0 . 5 ∗ ( 1 + ... sin ( 2 ∗ pi ∗ s o l . y ( : , end ) ) ) ) ; c h i l d r e n H= get ( barH , ’children ’ ) ; set ( c h i l d r e n H , ’facevertexcdata ’ , c o l o r s ) ; % S e t c o l o r o f ... bars set ( c h i l d r e n H , ’CDataMapping ’ , ’direct ’ ) ; xlim ( axisH , [ 0 K/ c e l l s P e r S o m i t e ] ) ; xlabel ( axisH , ’x ( somite #) ’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ... ’demi ’ ) ; ylim ( axisH , [ −0.1 1 . 1 ] ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; t i t l e ( axisH , [ ’y=p_k(’ num2str ( s o l . x ( end ) , ’%1.2f’ ) ’)’ ] , ... ’FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; f i g u r e H= f i g u r e ( 7 ) ; c l f ( f i g u r e H ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; axisH= subplot ( 1 , 1 , 1 ) ; xGrid= ( −60:0) / 6 ; s e r i e s H= plot ( axisH , xGrid , log ( exp(−xGrid ) + 2∗exp(−xGrid... / 2 ) + 1 ) , ’.-’ , ’LineWidth ’ , 0 . 5 ) ; 151 xlim ( axisH , [ −10 0 ] ) ; xlabel ( axisH , ’x ( somite #) ’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ... ’demi ’ ) ; ylim ( axisH , [ 0 1 2 ] ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; t i t l e ( axisH , ’y=\ phi_\ infty (x), Lewis Phase Oscillator ’ , ... ’FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; f i g u r e H= f i g u r e ( 8 ) ; c l f ( f i g u r e H ) ; colormap ( [ 0 1 0 ] ) ; set ( f i g u r e H , ’PaperSize ’ , [ 6 3 ] , ’PaperType ’ , ’<custom >’ , ’... Units ’ , ’inches ’ ) ; p o s i t i o n= get ( f i g u r e H , ’Position ’ ) ; p o s i t i o n ( 3 : 4 )= [ 6 3 ] ; set ( f i g u r e H , ’Position ’ , p o s i t i o n ) ; axisH= subplot ( 1 , 1 , 1 ) ; xGrid= ( −60:1) / 6 ; barH= bar ( axisH , xGrid , 1 . / ( 1 + exp ( 1 0 ∗ cos ( 2 ∗ pi ∗ log ( exp(−... xGrid ) + 2∗exp(−xGrid / 2 ) + 1 ) ) ) ) ) ; xlim ( axisH , [ −10 0 ] ) ; xlabel ( axisH , ’x ( somite #) ’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ... ’demi ’ ) ; ylim ( axisH , [ −0.1 1 . 1 ] ) ; ylabel ( axisH , ’y’ , ’FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; 152 t i t l e ( axisH , ’y=w(z(\ phi_\ infty (x))), Lewis Phase ... Oscillator ’ , ’FontSize ’ , 1 4 , ’FontWeight ’ , ’demi ’ ) ; set ( axisH , ’XMinorTIck ’ , ’on ’ , ’YMinorTIck ’ , ’on ’ , ’... FontSize ’ , 1 2 , ’FontWeight ’ , ’demi ’ ) ; % Nested f u n c t i o n s function z= s ( t , tau ) % S u s c e p t i b i l i t y / maturity function with half −l i f e tau . z= zeros ( s i z e ( t ) ) ; tMask= ( 0 < t ) & ( t <= tau ) ; z ( tMask )= 0 . 5 ∗ exp ( 2 ∗ ( t ( tMask )−tau ) . / t ( tMask ) ) ; tMask= ( tau < t ) & ( t < 2∗ tau ) ; z ( tMask )= 1 − 0 . 5 ∗ exp ( 2 ∗ ( t ( tMask )−tau ) . / ( t ( tMask ) −2∗tau ) ) ; tMask= 2∗ tau <= t ; z ( tMask )= 1 ; end function p h i D e r i v= r h s ( t , p h i ) % RHS o f system o f ODE’ s . p h i D e r i v= 1 − s ( t − T, tau ) . ∗ ( sin ( 2 ∗ pi ∗ p h i ) ) . ˆ 2 ; end end 153 Posterior Clock Wave (PCW) Model Code Simulation Related Code Params.m: This is the class definition for the parameters object that holds the system parameters and other configuration information for model simulation. Objects of this class can provide either deterministic parameter values or random values drawn from a specified normal or uniform distribution. The code is lengthy and uninteresting, but it ensures accurate and repeatable parameter specification. c l a s s d e f Params % C l a s s d e f i n i t i o n f o r managing p a r a m e t e r s and s e t t i n g s f o r t h e % s o m i t o g e n e s i s .m model . % The parameter mean i s t h e nominal v a l u e o f t h e parameter . I f % n o i s y p a r a m e t e r s a r e t u r n e d o f f , t h e n t h e nominal ( s c a l a r ) % value i s returned , o t h e r w i s e the parameters returned are % random v e c t o r s drawn from a s p e c i f i e d d i s t r i b u t i o n , one % parameter f o r each c e l l . The same d e f a u l t n o i s e s e e d i s used % u n l e s s a d i f f e r e n t s e e d i s s e l e c t e d . This a l l o w s r e p e a t a b l e % sampling . p r o p e r t i e s ( Constant= t r u e ) mRNAProductionRate= 3 3 ; p e r i o d T o l= 1 e −2; end p r o p e r t i e s % D e f a u l t s o n l y used f o r s i m p l e r C o n s t r u c t o r l o g i c % Simulation / Solver parameters 154 n o i s e B o o l= f a l s e ; noiseType ; n o i s e S e e d ; nois e Propo rtio nOfMea n ; t i m e I n t e r v a l ; s e t t l i n g T i m e ; h i s t o r y ; ddeOptions ; fastModeBool ; % Model p a r a m e t e r s % C e l l /PSM p a r a m e t e r s c e l l s P e r S o m i t e ; somitesInPSM ; t a i l b u d P e r i o d ; c e l l A r r a y S i z e= [ 2 1 ] ; numGenes= 2 ; % C e l l background parameters rhoMean ; kH13H13Mean ; kH7H7Mean ; kH7H13Mean ; % HER7 Parameters numBindingSites ; tau h7Mean= 4 . 2 5 ; tau H7Mean= 1 . 7 ; aH7Mean ; bH7Mean ; bH7H7Mean ; bH7H13Mean ; dH7Mean ; rH7H7Mean ; wH7H7 H7H7Mean ; % DELTAC/NOTCH Parameters c o u p l i n g B o o l ; tau dMean= 1 2 . 2 ; tau DMean= 2 0 ; aDMean ; bDMean... ; dDMean ; rNMean ; wNMean ; wN H7H7Mean ; wN H7H7 H7H7Mean ; % Her13 . 2 / g r a d i e n t p a r a m e t e r s g r a d i e n t F u n c ; H13TotalMaxMean ; H13TotalMinMean= 0 ; H13TotalHalfLifeMean ; end p r o p e r t i e s ( Dependent= t r u e , S e t A c c e s s= p r i v a t e ) timeLags ; somiteGrowthRate ; c e l l B i r t h R a t e ; b i r t h T i m e s ; numCells ; e q u a t i o n s P e r C e l l ; numEquations ; gH7Mean ; gDMean ; couplingMatrix ; % Indexing vectors 155 H7TotalIndices ; h7Indices ; DIndices ; dIndices ; H7TotalDelayedh7Indices ; h7DelayedH7Indices ; DDelayedh7Indices ; H7TotalDelayeddIndices ; dDelayedDIndices ; % Computed p a r a m e t e r s rho ; kH13H13 ; kH7H7 ; kH7H13 ; t a u h 7 ; tau H7 ; aH7 ; bH7 ; bH7H7... ; bH7H13 ; gH7 ; rH7H7 ; wH7H7 H7H7 ; dH7 ; t a u d ; tau D ; aD ; bD ; gD ; rN ; wN; wN H7H7 ; wN H7H7 H7H7 ; dD ; H13TotalMax ; H13TotalMin ; H 1 3 T o t a l H a l f L i f e ; end p r o p e r t i e s ( SetAccess = private ) % Random number s t r e a m s f o r r e p r o d u c i b i l i t y p u r p o s e s rhoStream ; kH13H13Stream ; kH7H7Stream ; kH7H13Stream ; tau h7Stream ; tau H7Stream ; aH7Stream ; bH7Stream ; bH7H7Stream ; bH7H13Stream ; gH7Stream ; rH7H7Stream ; wH7H7 H7H7Stream ; dH7Stream ; tau dStream ; tau DStream ; aDStream ; bDStream ; gDStream ; rNStream ; wNStream ; wN H7H7Stream ; wN H7H7 H7H7Stream ; dDStream ; H13TotalMaxStream ; H13TotalMinStream ; H 1 3 T o t a l H a l f L i f e S t r e a m ... ; end methods % CONSTRUCTOR function params= Params ( n o i s e B o o l ) i f ( nargin > 0 ) params . n o i s e B o o l= n o i s e B o o l ; 156 else params . n o i s e B o o l= params . n o i s e B o o l ; end params . noiseType= ’normal ’ ; params . n o i s e S e e d= 0 ; params . nois e Propo rtionOfMea n= 0 . 0 1 ; params= i n i t S t r e a m s ( params ) ; params . t i m e I n t e r v a l= [ 0 5 0 0 ] ; params . s e t t l i n g T i m e= 5 0 0 ; params . h i s t o r y= 0 ; % Becomes c o n s t a n t z e r o v e c t o r params . ddeOptions= d d e s e t ( ’AbsTol ’ , 1 e −15 , ’RelTol ’ , 1 e −4, ... ’MaxStep ’ , 5 , ’Events ’ , @ z e r o C r o s s i n g E v e n t ) ; params . fastModeBool= f a l s e ; params . c e l l s P e r S o m i t e= 5 ; params . somitesInPSM= 7 ; params . t a i l b u d P e r i o d= 3 0 ; % May be u p d a t e d a f t e r ... s e t t l i n g T i m e t o a computed p e r i o d params . c e l l A r r a y S i z e= params . c e l l A r r a y S i z e ; % [ ax l a t ] params . numGenes= params . numGenes ; % 1 or 2 genes , HER7 w/... p o s s i b l y DELTAC params . rhoMean= 1 ; % rRNAP∗RNAP, u n i t l e s s params . kH13H13Mean= 3 0 0 ; % c o p i e s params . kH7H7Mean= 3 0 0 ; % c o p i e s params . kH7H13Mean= 3 0 0 ; % c o p i e s params . numBindingSites= 2 ; % 1 or 2 f o r Her7 dimer params . tau h7Mean= params . tau h7Mean ; % min params . tau H7Mean= params . tau H7Mean ; % min 157 params . aH7Mean= 4 . 5 ; % Her7 p r o t e i n c o p i e s /min params . bH7Mean= 0 . 4 5 ; % minˆ( −1) params . bH7H7Mean= 0 ; % minˆ( −1) params . bH7H13Mean= 0 ; % minˆ( −1) params . rH7H7Mean= 0 . 1 ; % c o p i e s ˆ( −1) params . wH7H7 H7H7Mean= 2 5 ; % u n i t l e s s params . dH7Mean= 1 / ( 0 . 6 ∗ 8 . 1 ) ; % minˆ( −1) params . c o u p l i n g B o o l= t r u e ; params . tau dMean= params . tau dMean ; % min params . tau DMean= params . tau DMean ; % min params . aDMean= 4 . 5 ; % DeltaC p r o t e i n c o p i e s /min params . bDMean= 0 . 2 3 ; % minˆ( −1) params . rNMean= params . rH7H7Mean / 1 0 ; % c o p i e s ˆ( −1) params . wNMean= 2 5 ; % u n i t l e s s params . wN H7H7Mean= 1 ; % u n i t l e s s params . wN H7H7 H7H7Mean= 1 ; % u n i t l e s s params . dDMean= 1 / ( 0 . 6 ∗ 6 . 1 ) ; % minˆ( −1) params . g r a d i e n t F u n c= ’sigmoidalGradient ’ ; params . H13TotalMaxMean= 0 ; % Copies ( i n n u c l e u s ) params . H13TotalMinMean= params . H13TotalMinMean ; % Copies (... in nucleus ) params . H13TotalHalfLifeMean= 3 0 ; % min end % Params C o n s t r u c t o r end % CONSTRUCTOR methods % P u b l i c SET methods function params= set . n o i s e B o o l ( params , n o i s e B o o l ) 158 i f ˜ i s l o g i c a l ( noiseBool ) disp ( ’noiseBool not set , true/ false noiseBool required... .’ ) else params . n o i s e B o o l= n o i s e B o o l ; end end % n o i s e B o o l s e t f u n c t i o n function params= set . noiseType ( params , noiseType ) i f ˜ i s c h a r ( noiseType ) | | ˜ ( s t r c m p i ( noiseType , ’uniform ’ ) ... | | s t r c m p i ( noiseType , ’normal ’ ) ) disp ( ’noiseType not set , uniform OR normal noiseType ... required .’ ) else params . noiseType= noiseType ; end end % noiseType s e t f u n c t i o n function params= set . n o i s e S e e d ( params , n o i s e S e e d ) i f ˜ i s s c a l a r ( noiseSeed ) | | ( noiseSeed < 0) disp ( ’noiseSeed not set , 0 <= noiseSeed required .’ ) else params . n o i s e S e e d= n o i s e S e e d ; params= i n i t S t r e a m s ( params ) ; end end % n o i s e S e e d s e t f u n c t i o n function params= set . nois e Propo rtio nOfMea n ( params , ... nois e Propo rtio nOfMea n ) 159 i f ˜ i s s c a l a r ( noise ProportionOfMea n ) | | ( ... nois e Propo rtio nOfMea n < 0) disp ( ’noiseProportionOfMean not set , 0 <= ... noiseProportionOfMean required .’ ) else params . nois e Propo rtio nOfMea n= nois e Propo rtio nOfMea n ; end end % noiseProportionOfMean s e t f u n c t i o n function params= set . t i m e I n t e r v a l ( params , t i m e I n t e r v a l ) i f ˜ i s v e c t o r ( t i m e I n t e r v a l ) | | any ( s i z e ( t i m e I n t e r v a l ) ˜= [ 1 ... 2]) | | ( timeInterval (1) > timeInterval (2) ) disp ( ’timeInterval not set , timeInterval (1) <= ... timeInterval (2) required .’ ) ; else params . t i m e I n t e r v a l ( 1 , 1 )= t i m e I n t e r v a l ( 1 ) ; params . t i m e I n t e r v a l ( 1 , 2 )= t i m e I n t e r v a l ( 2 ) ; end end % t i m e I n t e r v a l s e t f u n c t i o n function params= set . s e t t l i n g T i m e ( params , s e t t l i n g T i m e ) i f ˜ i s s c a l a r ( settlingTime ) | | ( settlingTime < 0) disp ( ’settlingTime not set , 0 <= settlingTime required .... ’) ; else params . s e t t l i n g T i m e= s e t t l i n g T i m e ; end end % s e t t l i n g T i m e s e t f u n c t i o n function params= set . h i s t o r y ( params , h i s t o r y ) 160 if isstruct ( history ) i f i s f i e l d ( h i s t o r y , ’solver ’ ) && ( strcmp ( h i s t o r y . s o l v e r , ... ’dde23 ’ ) | | strcmp ( h i s t o r y . s o l v e r , ’ddesd ’ ) ) params . h i s t o r y= h i s t o r y ; else disp ( ’history not set , unrecognized previous solution... .’ ) ; end e l s e i f i s a ( h i s t o r y , ’function_handle ’ ) params . h i s t o r y= h i s t o r y ; elseif isscalar ( history ) if history < 0 disp ( ’history not set , 0 <= history required .’ ) ; else params . h i s t o r y= h i s t o r y ∗ o n e s ( 1 , params . numEquations ) ; end elseif isvector ( history ) i f length ( h i s t o r y ) ˜= params . numEquations disp ( ’history not set , length ( history ) == ... numEquations required .’ ) ; else params . h i s t o r y= h i s t o r y ; end else disp ( ’history not set , unrecognized history type.’ ) ; end end % h i s t o r y s e t f u n c t i o n 161 function params= set . ddeOptions ( params , ddeOptions ) i f ˜ i s s t r u c t ( ddeOptions ) disp ( ’ddeOptions not set , use ddeset () to get the ... appropriate struct .’ ) ; else params . ddeOptions= ddeOptions ; end end % d d e O p t i o n s s e t f u n c t i o n function params= set . fastModeBool ( params , fastModeBool ) i f ˜ i s l o g i c a l ( fastModeBool ) disp ( ’fastModeBool not set , true/ false fastModeBool ... required .’ ) ; else params . fastModeBool= fastModeBool ; end end % fastModeBool s e t f u n c t i o n function params= set . c e l l s P e r S o m i t e ( params , c e l l s P e r S o m i t e ) i f ˜ i s s c a l a r ( c e l l s P e r S o m i t e ) | | ( c e l l s P e r S o m i t e <= 0 ) disp ( ’cellsPerSomite not set , 0 < cellsPerSomite ... required .’ ) ; else params . c e l l s P e r S o m i t e= c e l l s P e r S o m i t e ; end end % c e l l s P e r S o m i t e s e t f u n c t i o n function params= set . somitesInPSM ( params , somitesInPSM ) i f ˜ i s s c a l a r ( somitesInPSM ) | | ( somitesInPSM <= 0 ) 162 disp ( ’somitesInPSM not set , 0 < somitesInPSM required .’ ) ... ; else params . somitesInPSM= somitesInPSM ; end end % somitesInPSM s e t f u n c t i o n function params= set . t a i l b u d P e r i o d ( params , t a i l b u d P e r i o d ) i f ˜ i s s c a l a r ( t a i l b u d P e r i o d ) | | ( t a i l b u d P e r i o d <= 0 ) disp ( ’tailbudPeriod not set , 0 < tailbudPeriod required... .’ ) ; else params . t a i l b u d P e r i o d= t a i l b u d P e r i o d ; end end % t a i l b u d P e r i o d s e t f u n c t i o n function params= set . c e l l A r r a y S i z e ( params , c e l l A r r a y S i z e ) i f ˜ i s v e c t o r ( c e l l A r r a y S i z e ) | | any ( s i z e ( c e l l A r r a y S i z e ) ˜= ... [ 1 2 ] ) | | (rem( c e l l A r r a y S i z e ( 1 ) , 1 ) ˜= 0 ) | | ( c e l l A r r a y S i z e ( 1 ) < ... 0 ) | | (rem( c e l l A r r a y S i z e ( 2 ) , 1 ) ˜= 0 ) | | ( c e l l A r r a y S i z e ( 2 ) < 0 ) disp ( ’cellArraySize not set , cellArraySize = [M N], M ... and N positive integers , required .’ ) ; e l s e i f any ( params . c e l l A r r a y S i z e ˜= c e l l A r r a y S i z e ) i f params . numCells > 1 % E x i s t i n g v a l u e params . c e l l A r r a y S i z e= c e l l A r r a y S i z e ; i f params . numCells == 1 % New v a l u e params . c o u p l i n g B o o l= f a l s e ; e l s e % params . numCells > 1 params . c o u p l i n g B o o l= params . c o u p l i n g B o o l ; 163 end e l s e % E x i s t i n g params . numCells == 1 params . c e l l A r r a y S i z e= c e l l A r r a y S i z e ; i f params . numCells > 1 params . c o u p l i n g B o o l= t r u e ; end end i f i s v e c t o r ( params . h i s t o r y ) disp ( ’Notice : history reset to default constant zero ... vector .’ ) params . h i s t o r y= 0 ; else disp ( ’Notice : Existing history may be invalid .’ ) ; end end end % c e l l A r r a y S i z e s e t f u n c t i o n function params= set . numGenes ( params , numGenes ) i f ˜ i s s c a l a r ( numGenes ) | | ( ( numGenes ˜= 1 ) && ( numGenes ˜=... 2) ) disp ( ’numGenes not set , numGenes = 1 or 2 required .’ ) ; e l s e i f params . numGenes ˜= numGenes params . numGenes= numGenes ; i f i s v e c t o r ( params . h i s t o r y ) disp ( ’Notice : history reset to default constant zero ... vector .’ ) params . h i s t o r y= 0 ; else 164 disp ( ’Notice : Existing history may be invalid .’ ) end i f params . numGenes == 1 params . c o u p l i n g B o o l= f a l s e ; % Turn o f f c o u p l i n g e l s e i f params . numGenes == 2 i f params . numCells > 1 i f ˜ params . c o u p l i n g B o o l disp ( ’Notice : couplingBool reset to default true.... ’) ; params . c o u p l i n g B o o l= t r u e ; % C o u p l i n g on by ... default end e l s e % params . numCells == 1 params . c o u p l i n g B o o l= f a l s e ; end end end end % numGenes s e t f u n c t i o n function params= set . rhoMean ( params , rhoMean ) i f ˜ i s s c a l a r ( rhoMean ) | | ( rhoMean < 0 ) disp ( ’rhoMean not set , 0 <= rhoMean required .’ ) ; else params . rhoMean= rhoMean ; end end % rhoMean s e t f u n c t i o n function params= set . kH13H13Mean ( params , kH13H13Mean ) i f ˜ i s s c a l a r ( kH13H13Mean ) | | ( kH13H13Mean <= 0 ) 165 disp ( ’kH13H13Mean not set , 0 < kH13H13Mean required .’ ) ; else params . kH13H13Mean= kH13H13Mean ; end end % kH13H13Mean s e t f u n c t i o n function params= set . kH7H7Mean ( params , kH7H7Mean ) i f ˜ i s s c a l a r ( kH7H7Mean ) | | ( kH7H7Mean <= 0 ) disp ( ’kH7H7Mean not set , 0 < kH7H7Mean required .’ ) ; else params . kH7H7Mean= kH7H7Mean ; end end % kH7H7Mean s e t f u n c t i o n function params= set . kH7H13Mean ( params , kH7H13Mean ) i f ˜ i s s c a l a r ( kH7H13Mean ) | | ( kH7H13Mean <= 0 ) disp ( ’kH7H13Mean not set , 0 < kH7H13Mean required .’ ) ; else params . kH7H13Mean= kH7H13Mean ; end end % kH7H13Mean s e t f u n c t i o n function params= set . numBindingSites ( params , numBindingSites... ) i f ˜ i s s c a l a r ( numBindingSites ) | | ( ( numBindingSites ˜= 1 ) ... && ( numBindingSites ˜= 2 ) ) disp ( ’numBindingSites not set , numBindingSites = 1 or 2 ... required .’ ) ; else params . numBindingSites= numBindingSites ; 166 end end % n u m B in d i n gS i t e s s e t f u n c t i o n function params= set . tau h7Mean ( params , tau h7Mean ) i f ˜ i s s c a l a r ( tau h7Mean ) | | ( tau h7Mean <= 0 ) disp ( ’tau_h7Mean not set , 0 < tau_h7Mean required .’ ) ; else params . tau h7Mean= tau h7Mean ; end end % tau h7Mean s e t f u n c t i o n function params= set . tau H7Mean ( params , tau H7Mean ) i f ˜ i s s c a l a r ( tau H7Mean ) | | ( tau H7Mean <= 0 ) disp ( ’tau_H7Mean not set , 0 < tau_H7Mean required .’ ) ; else params . tau H7Mean= tau H7Mean ; end end % tau H7Mean s e t f u n c t i o n function params= set . aH7Mean ( params , aH7Mean ) i f ˜ i s s c a l a r ( aH7Mean ) | | ( aH7Mean < 0 ) disp ( ’aH7Mean not set , 0 <= aH7Mean required .’ ) ; else params . aH7Mean= aH7Mean ; end end % aH7Mean s e t f u n c t i o n function params= set . bH7Mean ( params , bH7Mean ) i f ˜ i s s c a l a r ( bH7Mean ) | | ( bH7Mean < 0 ) disp ( ’bH7Mean not set , 0 <= bH7Mean required .’ ) ; else 167 params . bH7Mean= bH7Mean ; end end % bH7Mean s e t f u n c t i o n function params= set . bH7H7Mean( params , bH7H7Mean) i f ˜ i s s c a l a r (bH7H7Mean) | | (bH7H7Mean < 0 ) disp ( ’bH7H7Mean not set , 0 <= bH7H7Mean required .’ ) ; else params . bH7H7Mean= bH7H7Mean ; end end % bH7H7Mean s e t f u n c t i o n function params= set . bH7H13Mean ( params , bH7H13Mean ) i f ˜ i s s c a l a r ( bH7H13Mean ) | | ( bH7H13Mean < 0 ) disp ( ’bH7H13Mean not set , 0 <= bH7H13Mean required .’ ) ; else params . bH7H13Mean= bH7H13Mean ; end end % bH7H13Mean s e t f u n c t i o n function params= set . rH7H7Mean ( params , rH7H7Mean ) i f ˜ i s s c a l a r ( rH7H7Mean ) | | ( rH7H7Mean < 0 ) disp ( ’rH7H7Mean not set , 0 <= rH7H7Mean required .’ ) ; else params . rH7H7Mean= rH7H7Mean ; end end % rH7H7Mean s e t f u n c t i o n function params= set . wH7H7 H7H7Mean( params , wH7H7 H7H7Mean) i f ˜ i s s c a l a r (wH7H7 H7H7Mean) | | (wH7H7 H7H7Mean < 0 ) 168 disp ( ’wH7H7_H7H7Mean not set , 0 <= wH7H7_H7H7Mean ... required .’ ) ; else params . wH7H7 H7H7Mean= wH7H7 H7H7Mean ; end end % wH7H7 H7H7Mean s e t f u n c t i o n function params= set . dH7Mean ( params , dH7Mean ) i f ˜ i s s c a l a r ( dH7Mean ) | | ( dH7Mean < 0 ) disp ( ’dH7Mean not set , 0 <= dH7Mean required .’ ) ; else params . dH7Mean= dH7Mean ; end end % dH7Mean s e t f u n c t i o n function params= set . c o u p l i n g B o o l ( params , c o u p l i n g B o o l ) i f ˜ i s l o g i c a l ( couplingBool ) disp ( ’couplingBool not set , true/ false couplingBool ... required .’ ) ; e l s e i f c o u p l i n g B o o l && ( ( params . numGenes ˜= 2 ) | | ( params . ... numCells == 1 ) ) disp ( ’couplingBool not set , numGenes == 2 and numCells ... >= 2 required .’ ) ; else params . c o u p l i n g B o o l= c o u p l i n g B o o l ; end end % c o u p l i n g B o o l s e t f u n c t i o n function params= set . tau dMean ( params , tau dMean ) i f ˜ i s s c a l a r ( tau dMean ) | | ( tau dMean <= 0 ) 169 disp ( ’tau_dMean not set , 0 < tau_dMean required .’ ) ; else params . tau dMean= tau dMean ; end end % tau dMean s e t f u n c t i o n function params= set . tau DMean ( params , tau DMean ) i f ˜ i s s c a l a r ( tau DMean ) | | ( tau DMean <= 0 ) disp ( ’tau_DMean not set , 0 < tau_DMean required .’ ) ; else params . tau DMean= tau DMean ; end end % tau DMean s e t f u n c t i o n function params= set . aDMean( params , aDMean) i f ˜ i s s c a l a r (aDMean) | | (aDMean < 0 ) disp ( ’aDMean not set , 0 <= aDMean required .’ ) ; else params . aDMean= aDMean ; end end % aDMean s e t f u n c t i o n function params= set . bDMean( params , bDMean) i f ˜ i s s c a l a r (bDMean) | | (bDMean < 0 ) disp ( ’bDMean not set , 0 <= bDMean required .’ ) ; else params . bDMean= bDMean ; end end % bDMean s e t f u n c t i o n function params= set . rNMean ( params , rNMean ) 170 i f ˜ i s s c a l a r ( rNMean ) | | ( rNMean < 0 ) disp ( ’rNMean not set , 0 <= rNMean required .’ ) ; else params . rNMean= rNMean ; end end % rNMean s e t f u n c t i o n function params= set . wNMean( params , wNMean) i f ˜ i s s c a l a r (wNMean) | | (wNMean < 0 ) disp ( ’wNMean not set , 0 <= wNMean required .’ ) ; else params . wNMean= wNMean ; end end % wNMean s e t f u n c t i o n function params= set . wN H7H7Mean( params , wN H7H7Mean) i f ˜ i s s c a l a r (wN H7H7Mean) | | (wN H7H7Mean < 0 ) disp ( ’wN_H7H7Mean not set , 0 <= wN_H7H7Mean required .’ ) ; else params . wN H7H7Mean= wN H7H7Mean ; end end % wN H7H7Mean s e t f u n c t i o n function params= set . wN H7H7 H7H7Mean ( params , ... wN H7H7 H7H7Mean ) i f ˜ i s s c a l a r ( wN H7H7 H7H7Mean ) | | ( wN H7H7 H7H7Mean < 0 ) disp ( ’wN_H7H7_H7H7Mean not set , 0 <= wN_H7H7_H7H7Mean ... required .’ ) ; else params . wN H7H7 H7H7Mean= wN H7H7 H7H7Mean ; 171 end end % wN H7H7 H7H7Mean s e t f u n c t i o n function params= set . dDMean( params , dDMean) i f ˜ i s s c a l a r (dDMean) | | (dDMean < 0 ) disp ( ’dDMean not set , 0 <= dDMean required .’ ) ; else params . dDMean= dDMean ; end end % dDMean s e t f u n c t i o n function params= set . H13TotalMaxMean ( params , H13TotalMaxMean... ) i f ˜ i s s c a l a r ( H13TotalMaxMean ) | | ( H13TotalMaxMean < 0 ) | | ... ( H13TotalMaxMean < params . H13TotalMinMean ) disp ( ’H13TotalMaxMean not set , 0 <= H13TotalMinMean <= ... H13TotalMaxMean required .’ ) ; else params . H13TotalMaxMean= H13TotalMaxMean ; end end % H13TotalMaxMean s e t f u n c t i o n function params= set . H13TotalMinMean ( params , H13TotalMinMean... ) i f ˜ i s s c a l a r ( H13TotalMinMean ) | | ( H13TotalMinMean < 0 ) | | ... ( params . H13TotalMaxMean < H13TotalMinMean ) disp ( ’H13TotalMinMean not set , 0 <= H13TotalMinMean <= ... H13TotalMaxMean required .’ ) ; else params . H13TotalMinMean= H13TotalMinMean ; 172 end end % H13TotalMinMean s e t f u n c t i o n function params= set . H13TotalHalfLifeMean ( params , ... H13TotalHalfLifeMean ) i f ˜ i s s c a l a r ( H13TotalHalfLifeMean ) | | ( ... H13TotalHalfLifeMean <= 0 ) disp ( ’H13TotalHalfLifeMean not set , 0 < ... H13TotalHalfLifeMean required .’ ) ; else params . H13TotalHalfLifeMean= H13TotalHalfLifeMean ; end end % H13TotalHalfLifeMean s e t f u n c t i o n function params= set . g r a d i e n t F u n c ( params , g r a d i e n t F u n c ) i f ˜ i s c h a r ( gradientFunc ) disp ( ’gradientFunc not set , a string is required .’ ) ; else params . g r a d i e n t F u n c= g r a d i e n t F u n c ; end end % g r a d i e n t F u n c s e t f u n c t i o n end % P u b l i c SET methods methods % P u b l i c GET methods function timeLags= get . timeLags ( params ) i f params . numGenes == 1 timeLags= [ params . tau h7 ’ ; params . tau H7 ’ ] ; timeLags= timeLags ( : ) ’ ; % Reorder by c e l l e l s e i f params . numGenes == 2 173 timeLags= [ params . tau h7 ’ ; params . tau H7 ’ ; params . tau d ... ’ ; params . tau D ’ ] ; timeLags= timeLags ( : ) ’ ; % Reorder by c e l l end end function somiteGrowthRate= get . somiteGrowthRate ( params ) somiteGrowthRate= 1/ params . t a i l b u d P e r i o d ; end % g e t somiteGrowthRate function c e l l B i r t h R a t e= get . c e l l B i r t h R a t e ( params ) c e l l B i r t h R a t e= params . c e l l s P e r S o m i t e ∗ params . ... somiteGrowthRate ; end % g e t somiteGrowthRate function b i r t h T i m e s= get . b i r t h T i m e s ( params ) b i r t h T i m e s= repmat ( params . t i m e I n t e r v a l ( 1 ) + ( 0 : params . ... c e l l A r r a y S i z e ( 1 ) − 1 ) ’ / params . c e l l B i r t h R a t e , params . ... c e l l A r r a y S i z e (2) , 1) ; end function numCells= get . numCells ( params ) numCells= prod ( params . c e l l A r r a y S i z e ) ; end function e q u a t i o n s P e r C e l l= get . e q u a t i o n s P e r C e l l ( params ) e q u a t i o n s P e r C e l l= 2∗ params . numGenes ; end function numEquations= get . numEquations ( params ) numEquations= params . numCells ∗ params . e q u a t i o n s P e r C e l l ; end function gH7Mean= get . gH7Mean ( params ) 174 gH7Mean= params . mRNAProductionRate ∗ ( 1 + params . rhoMean ) /... params . rhoMean ; end function gDMean= get . gDMean( params ) gDMean= params . mRNAProductionRate ∗ ( 1 + params . rhoMean ) /... params . rhoMean ; end function c o u p l i n g M a t r i x= get . c o u p l i n g M a t r i x ( params ) i f params . c o u p l i n g B o o l % A d d i t i v e n e a r e s t −n e i g h b o r ( i n c l u d e s c o r n e r i n g c e l l s ) c o u p l i n g M a t r i x= Params . ... c r e a t e N e a r e s t N e i g h b o r C o u p l i n g M a t r i x ( params . c e l l A r r a y S i z e ) ; % A l t e r n a t i v e : A d d i t i v e , a x i a l −only , n e a r e s t −n e i g h b o r % c o u p l i n g M a t r i x= Params . c r e a t e A x i a l C o u p l i n g M a t r i x ( params... . cellArraySize ) ; % Option : n e i g h b o r −a v e r a g e d c o u p l i n g % c o u p l i n g M a t r i x= c o u p l i n g M a t r i x . / repmat ( sum (... c o u p l i n g M a t r i x , 2) , 1 , params . numCells ) ; e l s e i f params . numGenes == 2 c o u p l i n g M a t r i x= zeros ( params . numCells ) ; else c o u p l i n g M a t r i x= [ ] ; end end % Indexing vectors function H 7 T o t a l I n d i c e s= get . H 7 T o t a l I n d i c e s ( params ) 175 H 7 T o t a l I n d i c e s= 1 : params . e q u a t i o n s P e r C e l l : params . ... numEquations ; end function h 7 I n d i c e s= get . h 7 I n d i c e s ( params ) h 7 I n d i c e s= 2 : params . e q u a t i o n s P e r C e l l : params . numEquations ; end function D I n d i c e s= get . D I n d i c e s ( params ) i f params . numGenes == 1 D I n d i c e s= [ ] ; e l s e i f params . numGenes == 2 D I n d i c e s= 3 : params . e q u a t i o n s P e r C e l l : params . numEquations ; end end function d I n d i c e s= get . d I n d i c e s ( params ) i f params . numGenes == 1 d I n d i c e s= [ ] ; e l s e i f params . numGenes == 2 d I n d i c e s= 4 : params . e q u a t i o n s P e r C e l l : params . numEquations ; end end function H 7 T o t a l D e l a y e d h 7 I n d i c e s= get . ... H 7 T o t a l D e l a y e d h 7 I n d i c e s ( params ) i f params . n o i s e B o o l i f params . numGenes == 1 H 7 T o t a l D e l a y e d h 7 I n d i c e s= diag ( repmat ( [ t r u e f a l s e ] , 1 , ... params . numCells ) ) ; e l s e i f params . numGenes == 2 176 H 7 T o t a l D e l a y e d h 7 I n d i c e s= diag ( repmat ( [ t r u e f a l s e f a l s e ... f a l s e ] , 1 , params . numCells ) ) ; end e l s e % No n o i s e i f params . numGenes == 1 H 7 T o t a l D e l a y e d h 7 I n d i c e s= repmat ( [ t r u e f a l s e ; f a l s e ... f a l s e ] , params . numCells , 1 ) ; e l s e i f params . numGenes == 2 H 7 T o t a l D e l a y e d h 7 I n d i c e s= repmat ( [ t r u e f a l s e f a l s e ... f a l s e ; f a l s e f a l s e f a l s e f a l s e ; f a l s e f a l s e f a l s e f a l s e ; f a l s e ... f a l s e f a l s e f a l s e ] , params . numCells , 1 ) ; end end end function h 7 D e l a y e d H 7 I n d i c e s= get . h 7 D e l a y e d H 7 I n d i c e s ( params ) i f params . n o i s e B o o l i f params . numGenes == 1 h 7 D e l a y e d H 7 I n d i c e s= diag ( repmat ( [ f a l s e t r u e ] , 1 , ... params . numCells ) ) ; e l s e i f params . numGenes == 2 h 7 D e l a y e d H 7 I n d i c e s= diag ( repmat ( [ f a l s e t r u e f a l s e ... f a l s e ] , 1 , params . numCells ) ) ; end e l s e % No n o i s e i f params . numGenes == 1 h 7 D e l a y e d H 7 I n d i c e s= repmat ( [ f a l s e f a l s e ; f a l s e t r u e ] , ... params . numCells , 1 ) ; 177 e l s e i f params . numGenes == 2 h 7 D e l a y e d H 7 I n d i c e s= repmat ( [ f a l s e f a l s e f a l s e f a l s e ; ... f a l s e t r u e f a l s e f a l s e ; f a l s e f a l s e f a l s e f a l s e ; f a l s e f a l s e ... f a l s e f a l s e ] , params . numCells , 1 ) ; end end end function D D e l a y e d h 7 I n d i c e s= get . D D e l a y e d h 7 I n d i c e s ( params ) i f params . n o i s e B o o l i f params . numGenes == 1 D D e l a y e d h 7 I n d i c e s= [ ] ; e l s e i f params . numGenes == 2 D D e l a y e d h 7 I n d i c e s= diag ( [ repmat ( [ t r u e f a l s e f a l s e ... f a l s e ] , 1 , params . numCells − 1 ) , t r u e , f a l s e ] , −2) ; end else i f params . numGenes == 1 D D e l a y e d h 7 I n d i c e s= [ ] ; e l s e i f params . numGenes == 2 D D e l a y e d h 7 I n d i c e s= repmat ( [ f a l s e f a l s e f a l s e f a l s e ; ... f a l s e f a l s e f a l s e f a l s e ; t r u e f a l s e f a l s e f a l s e ; f a l s e f a l s e ... f a l s e f a l s e ] , params . numCells , 1 ) ; end end end function H 7 T o t a l D e l a y e d d I n d i c e s= get . H 7 T o t a l D e l a y e d d I n d i c e s ( ... params ) 178 i f params . n o i s e B o o l i f params . numGenes == 1 H 7 T o t a l D e l a y e d d I n d i c e s= [ ] ; e l s e i f params . numGenes == 2 H 7 T o t a l D e l a y e d d I n d i c e s= diag ( [ repmat ( [ t r u e f a l s e f a l s e ... f a l s e ] , 1 , params . numCells − 1 ) , t r u e , f a l s e ] , 2 ) ; end else i f params . numGenes == 1 H 7 T o t a l D e l a y e d d I n d i c e s= [ ] ; e l s e i f params . numGenes == 2 H 7 T o t a l D e l a y e d d I n d i c e s= repmat ( [ f a l s e f a l s e t r u e f a l s e ... ; f a l s e f a l s e f a l s e f a l s e ; f a l s e f a l s e f a l s e f a l s e ; f a l s e f a l s e ... f a l s e f a l s e ] , params . numCells , 1 ) ; end end end function d D e l a y e d D I n d i c e s= get . d D e l a y e d D I n d i c e s ( params ) i f params . n o i s e B o o l i f params . numGenes == 1 d D e l a y e d D I n d i c e s= [ ] ; e l s e i f params . numGenes == 2 d D e l a y e d D I n d i c e s= diag ( repmat ( [ f a l s e f a l s e f a l s e t r u e ... ] , 1 , params . numCells ) ) ; end else i f params . numGenes == 1 179 d D e l a y e d D I n d i c e s= [ ] ; e l s e i f params . numGenes == 2 d D e l a y e d D I n d i c e s= repmat ( [ f a l s e f a l s e f a l s e f a l s e ; ... f a l s e f a l s e f a l s e f a l s e ; f a l s e f a l s e f a l s e f a l s e ; f a l s e f a l s e ... f a l s e t r u e ] , params . numCells , 1 ) ; end end end % Computed Parameters function rho= get . rho ( params ) i f params . n o i s e B o o l rho= addNoise ( params , params . rhoMean , params . rhoStream ) ; else rho= params . rhoMean ; end end function kH13H13= get . kH13H13 ( params ) i f params . n o i s e B o o l kH13H13= addNoise ( params , params . kH13H13Mean , params . ... kH13H13Stream ) ; else kH13H13= params . kH13H13Mean ; end end function kH7H7= get . kH7H7 ( params ) i f params . n o i s e B o o l 180 kH7H7= addNoise ( params , params . kH7H7Mean , params . ... kH7H7Stream ) ; else kH7H7= params . kH7H7Mean ; end end function kH7H13= get . kH7H13 ( params ) i f params . n o i s e B o o l kH7H13= addNoise ( params , params . kH7H13Mean , params . ... kH7H13Stream ) ; else kH7H13= params . kH7H13Mean ; end end function t a u h 7= get . t a u h 7 ( params ) i f params . n o i s e B o o l t a u h 7= addNoise ( params , params . tau h7Mean , params . ... tau h7Stream ) ; else t a u h 7= params . tau h7Mean ; end end function tau H7= get . tau H7 ( params ) i f params . n o i s e B o o l tau H7= addNoise ( params , params . tau H7Mean , params . ... tau H7Stream ) ; else 181 tau H7= params . tau H7Mean ; end end function aH7= get . aH7 ( params ) i f params . n o i s e B o o l aH7= addNoise ( params , params . aH7Mean , params . aH7Stream ) ; else aH7= params . aH7Mean ; end end function bH7= get . bH7 ( params ) i f params . n o i s e B o o l bH7= addNoise ( params , params . bH7Mean , params . bH7Stream ) ; else bH7= params . bH7Mean ; end end function bH7H7= get . bH7H7( params ) i f params . n o i s e B o o l bH7H7= addNoise ( params , params . bH7H7Mean , params . ... bH7H7Stream ) ; else bH7H7= params . bH7H7Mean ; end end function bH7H13= get . bH7H13 ( params ) i f params . n o i s e B o o l 182 bH7H13= addNoise ( params , params . bH7H13Mean , params . ... bH7H13Stream ) ; else bH7H13= params . bH7H13Mean ; end end function gH7= get . gH7 ( params ) i f params . n o i s e B o o l gH7= addNoise ( params , params . gH7Mean , params . gH7Stream ) ; else gH7= params . gH7Mean ; end end function dH7= get . dH7 ( params ) i f params . n o i s e B o o l dH7= addNoise ( params , params . dH7Mean , params . dH7Stream ) ; else dH7= params . dH7Mean ; end end function rH7H7= get . rH7H7 ( params ) i f params . n o i s e B o o l rH7H7= addNoise ( params , params . rH7H7Mean , params . ... rH7H7Stream ) ; else rH7H7= params . rH7H7Mean ; end 183 end function wH7H7 H7H7= get . wH7H7 H7H7( params ) i f params . n o i s e B o o l wH7H7 H7H7= addNoise ( params , params . wH7H7 H7H7Mean , ... params . wH7H7 H7H7Stream ) ; else wH7H7 H7H7= params . wH7H7 H7H7Mean ; end end function t a u d= get . t a u d ( params ) i f params . n o i s e B o o l t a u d= addNoise ( params , params . tau dMean , params . ... tau dStream ) ; else t a u d= params . tau dMean ; end end function tau D= get . tau D ( params ) i f params . n o i s e B o o l tau D= addNoise ( params , params . tau DMean , params . ... tau DStream ) ; else tau D= params . tau DMean ; end end function aD= get . aD( params ) i f params . n o i s e B o o l 184 aD= addNoise ( params , params . aDMean , params . aDStream ) ; else aD= params . aDMean ; end end function bD= get . bD( params ) i f params . n o i s e B o o l bD= addNoise ( params , params . bDMean , params . bDStream ) ; else bD= params . bDMean ; end end function gD= get . gD( params ) i f params . n o i s e B o o l gD= addNoise ( params , params . gDMean , params . gDStream ) ; else gD= params . gDMean ; end end function dD= get . dD( params ) i f params . n o i s e B o o l dD= addNoise ( params , params . dDMean , params . dDStream ) ; else dD= params . dDMean ; end end function rN= get . rN ( params ) 185 i f params . n o i s e B o o l rN= addNoise ( params , params . rNMean , params . rNStream ) ; else rN= params . rNMean ; end end function wN= get .wN( params ) i f params . n o i s e B o o l wN= addNoise ( params , params . wNMean, params . wNStream ) ; else wN= params . wNMean ; end end function wN H7H7= get . wN H7H7( params ) i f params . n o i s e B o o l wN H7H7= addNoise ( params , params . wN H7H7Mean , params . ... wN H7H7Stream ) ; else wN H7H7= params . wN H7H7Mean ; end end function wN H7H7 H7H7= get . wN H7H7 H7H7 ( params ) i f params . n o i s e B o o l wN H7H7 H7H7= addNoise ( params , params . wN H7H7 H7H7Mean , ... params . wN H7H7 H7H7Stream ) ; else wN H7H7 H7H7= params . wN H7H7 H7H7Mean ; 186 end end function H13TotalMax= get . H13TotalMax ( params ) i f params . n o i s e B o o l H13TotalMax= addNoise ( params , params . H13TotalMaxMean , ... params . H13TotalMaxStream ) ; else H13TotalMax= params . H13TotalMaxMean ; end end function H13TotalMin= get . H13TotalMin ( params ) i f params . n o i s e B o o l H13TotalMin= addNoise ( params , params . H13TotalMinMean , ... params . H13TotalMinStream ) ; else H13TotalMin= params . H13TotalMinMean ; end end function H 1 3 T o t a l H a l f L i f e= get . H 1 3 T o t a l H a l f L i f e ( params ) i f params . n o i s e B o o l H 1 3 T o t a l H a l f L i f e= addNoise ( params , params . ... H13TotalHalfLifeMean , params . H 1 3 T o t a l H a l f L i f e S t r e a m ) ; else H 1 3 T o t a l H a l f L i f e= params . H13TotalHalfLifeMean ; end end 187 % addNoise method function paramVec= addNoise ( params , paramMean , paramStream ) paramVec= zeros ( params . numCells , 1 ) ; i f 0 < paramMean % Only add n o i s e t o ( s t r i c t l y ) p o s i t i v e ... parameters paramStream . reset ; % Makes n o i s e r e p e a t a b l e i f s t r c m p i ( params . noiseType , ’uniform ’ ) paramVec= paramMean ∗ ( 1 + (−params . ... nois e Propo rtio nOfMea n + 2∗ params . nois e Propo rtio nOfMea n ∗ ( rand ( ... paramStream , s i z e ( paramVec ) ) ) ) ) ; e l s e % ” p o s i t i v e ” normal u n c o n v e r g e d I n d i c e s= ( paramVec <= 0 ) ; % Non−n e g a t i v i t y ... constraint while any ( u n c o n v e r g e d I n d i c e s ( : ) ) % Note : 99.7% w i t h i n +/− noiseProportionOfMean o f ... mean v a l u e paramVec ( u n c o n v e r g e d I n d i c e s )= paramMean ∗ ( 1 + params . ... nois e Propo rtio nOfMea n /3∗randn ( paramStream , s i z e ( find ( ... unconvergedIndices ) ) ) ) ; u n c o n v e r g e d I n d i c e s= ( paramVec <= 0 ) ; end end end end % addNoise method % DISP method function disp ( params ) 188 i f params . n o i s e B o o l disp ( ’noiseBool : true ’ ) ; else disp ( ’noiseBool : false ’ ) ; end disp ( [ ’noiseType : ’ params . noiseType ] ) ; disp ( [ ’noiseSeed : ’ num2str ( params . n o i s e S e e d ) ] ) ; disp ( [ ’noiseProportionOfMean : ’ num2str ( params . ... nois e Propo rtio nOfMea n ) ] ) ; disp ( [ ’timeInterval : ’ m a t 2 s t r ( params . t i m e I n t e r v a l ) ] ) ; disp ( [ ’settlingTime : ’ num2str ( params . s e t t l i n g T i m e ) ] ) ; disp ( [ ’timeLags : ’ m a t 2 s t r ( params . timeLags ) ] ) ; i f i s s t r u c t ( params . h i s t o r y ) disp ( ’history : ’ ) ; disp ( params . h i s t o r y ) ; e l s e i f i s a ( params . h i s t o r y , ’function_handle ’ ) disp ( [ ’history : @’ f u n c 2 s t r ( params . h i s t o r y ) ] ) ; e l s e i f i s v e c t o r ( params . h i s t o r y ) disp ( [ ’history : ’ m a t 2 s t r ( params . h i s t o r y ) ] ) ; end i f isempty ( params . ddeOptions ) disp ( ’ddeOptions : [] ’ ) ; else disp ( ’ddeOptions : ’ ) ; disp ( params . ddeOptions ) ; end i f ( params . fastModeBool ) disp ( ’fastMode : true ’ ) ; else 189 disp ( ’fastMode : false ’ ) ; end disp ( [ ’cellsPerSomite : ’ num2str ( params . c e l l s P e r S o m i t e ) ... ]) ; disp ( [ ’somitesInPSM : ’ num2str ( params . somitesInPSM ) ] ) ; disp ( [ ’tailbudPeriod : ’ num2str ( params . t a i l b u d P e r i o d ) ] ) ; disp ( [ ’somiteGrowthRate : ’ num2str ( params . ... somiteGrowthRate ) ] ) ; disp ( [ ’cellBirthRate : ’ num2str ( params . c e l l B i r t h R a t e ) ] ) ; disp ( [ ’birthTimes : ’ m a t 2 s t r ( params . birthTimes ’ ) ] ) ; disp ( [ ’cellArraySize : ’ m a t 2 s t r ( params . c e l l A r r a y S i z e ) ] ) ; disp ( [ ’numCells : ’ num2str ( params . numCells ) ] ) ; disp ( [ ’numGenes : ’ num2str ( params . numGenes ) ] ) ; disp ( [ ’equationsPerCell : ’ num2str ( params . ... equationsPerCell ) ] ) ; disp ( [ ’numEquations : ’ num2str ( params . numEquations ) ] ) ; disp ( [ ’gradientFunc : ’ params . g r a d i e n t F u n c ] ) ; disp ( [ ’H13TotalMaxMean : ’ num2str ( params . H13TotalMaxMean ) ... ]) ; disp ( [ ’H13TotalMinMean : ’ num2str ( params . H13TotalMinMean ) ... ]) ; disp ( [ ’H13TotalHalfLifeMean : ’ num2str ( params . ... H13TotalHalfLifeMean ) ] ) ; disp ( [ ’rhoMean : ’ num2str ( params . rhoMean ) ] ) ; disp ( [ ’numBindingSites : ’ num2str ( params . numBindingSites ) ... ]) ; disp ( [ ’tau_h7Mean : ’ num2str ( params . tau h7Mean ) ] ) ; 190 disp ( [ ’tau_H7Mean : ’ num2str ( params . tau H7Mean ) ] ) ; disp ( [ ’aH7Mean : ’ num2str ( params . aH7Mean ) ] ) ; disp ( [ ’bH7Mean : ’ num2str ( params . bH7Mean ) ] ) ; disp ( [ ’bH7H7Mean : ’ num2str ( params . bH7H7Mean) ] ) ; disp ( [ ’bH7H13Mean : ’ num2str ( params . bH7H13Mean ) ] ) ; disp ( [ ’gH7Mean : ’ num2str ( params . gH7Mean ) ] ) ; disp ( [ ’dH7Mean : ’ num2str ( params . dH7Mean ) ] ) ; disp ( [ ’rH7H7Mean : ’ num2str ( params . rH7H7Mean ) ] ) ; disp ( [ ’wH7H7_H7H7Mean : ’ num2str ( params . wH7H7 H7H7Mean) ... ]) ; disp ( [ ’kH13H13Mean : ’ num2str ( params . kH13H13Mean ) ] ) ; disp ( [ ’kH7H7Mean : ’ num2str ( params . kH7H7Mean ) ] ) ; disp ( [ ’kH7H13Mean : ’ num2str ( params . kH7H13Mean ) ] ) ; disp ( [ ’tau_dMean : ’ num2str ( params . tau dMean ) ] ) ; disp ( [ ’tau_DMean : ’ num2str ( params . tau DMean ) ] ) ; disp ( [ ’aDMean : ’ num2str ( params . aDMean) ] ) ; disp ( [ ’bDMean : ’ num2str ( params . bDMean) ] ) ; disp ( [ ’gDMean : ’ num2str ( params . gDMean) ] ) ; disp ( [ ’dDMean : ’ num2str ( params . dDMean) ] ) ; disp ( [ ’rNMean : ’ num2str ( params . rNMean ) ] ) ; disp ( [ ’wNMean : ’ num2str ( params . wNMean) ] ) ; disp ( [ ’wN_H7H7Mean : ’ num2str ( params . wN H7H7Mean) ] ) ; disp ( [ ’wN_H7H7_H7H7Mean : ’ num2str ( params . ... wN H7H7 H7H7Mean ) ] ) ; i f ( params . c o u p l i n g B o o l ) disp ( ’couplingBool : true ’ ) ; else 191 disp ( ’couplingBool : false ’ ) ; end i f isempty ( params . c o u p l i n g M a t r i x ) disp ( ’couplingMatrix : [] ’ ) ; else [M N]= s i z e ( params . c o u p l i n g M a t r i x ) ; i f (M > 2 ) | | (N > 2 ) disp ( [ ’couplingMatrix : ’ num2str (M) ’ x ’ num2str (N) ... ’ matrix ’ ] ) ; else disp ( ’couplingMatrix : ’ ) ; disp ( params . c o u p l i n g M a t r i x ) ; end end disp ( [ ’H7TotalIndices : ’ m a t 2 s t r ( params . H 7 T o t a l I n d i c e s ) ... ]) ; disp ( [ ’h7Indices : ’ m a t 2 s t r ( params . h 7 I n d i c e s ) ] ) ; disp ( [ ’DIndices : ’ m a t 2 s t r ( params . D I n d i c e s ) ] ) ; disp ( [ ’dIndices : ’ m a t 2 s t r ( params . d I n d i c e s ) ] ) ; [M N]= s i z e ( params . H 7 T o t a l D e l a y e d h 7 I n d i c e s ) ; i f (M == 0 ) && (N == 0 ) disp ( ’H7TotalDelayedh7Indices : [] ’ ) ; disp ( ’h7DelayedH7Indices : [] ’ ) ; disp ( ’DDelayedh7Indices : [] ’ ) ; disp ( ’H7TotalDelayeddIndices : [] ’ ) ; disp ( ’dDelayedDIndices : [] ’ ) ; e l s e i f (M > 8 ) | | (N > 8 ) 192 disp ( [ ’H7TotalDelayedh7Indices : ’ num2str (M) ’ x ’ ... num2str (N) ’ matrix ’ ] ) ; disp ( [ ’h7DelayedH7Indices : ’ num2str (M) ’ x ’ num2str (N... ) ’ matrix ’ ] ) ; disp ( [ ’DDelayedh7Indices : ’ num2str (M) ’ x ’ num2str (N) ... ’ matrix ’ ] ) ; disp ( [ ’H7TotalDelayeddIndices : ’ num2str (M) ’ x ’ ... num2str (N) ’ matrix ’ ] ) ; disp ( [ ’dDelayedDIndices : ’ num2str (M) ’ x ’ num2str (N) ... ’ matrix ’ ] ) ; else disp ( ’H7TotalDelayedh7Indices : ’ ) ; disp ( params . ... H7TotalDelayedh7Indices ) ; disp ( ’h7DelayedH7Indices : ’ ) ; disp ( params . ... h7DelayedH7Indices ) ; disp ( ’DDelayedh7Indices : ’ ) ; disp ( params . ... DDelayedh7Indices ) ; disp ( ’H7TotalDelayeddIndices : ’ ) ; disp ( params . ... H7TotalDelayeddIndices ) ; disp ( ’dDelayedDIndices : ’ ) ; disp ( params . d D e l a y e d D I n d i c e s ... ); end end % d i s p end % P u b l i c GET methods methods ( A c c e s s = ’private ’ ) % Access by c l a s s members o n l y function params= i n i t S t r e a m s ( params ) 193 [ params . rhoStream , params . kH13H13Stream , params . ... kH7H7Stream , params . kH7H13Stream , params . tau h7Stream , params . ... tau H7Stream , params . gH7Stream , params . aH7Stream , params . ... bH7Stream , params . bH7H7Stream , params . bH7H13Stream , params . ... dH7Stream , params . rH7H7Stream , params . wH7H7 H7H7Stream , params . ... tau dStream , params . tau DStream , params . gDStream , params . ... aDStream , params . bDStream , params . dDStream , params . rNStream , ... params . wNStream , params . wN H7H7Stream , params . wN H7H7 H7H7Stream... , params . H13TotalMaxStream , params . H13TotalMinStream , params . ... H 1 3 T o t a l H a l f L i f e S t r e a m ]= RandStream . c r e a t e ( ’mrg32k3a ’ , ’... NumStreams ’ , 2 7 , ’Seed ’ , params . n o i s e S e e d ) ; end end % P r i v a t e methods methods ( S t a t i c ) function c o u p l i n g M a t r i x= c r e a t e N e a r e s t N e i g h b o r C o u p l i n g M a t r i x ... ( cellArraySize ) % Note : Works f o r 1D v e c t o r s and 2D a r r a y s . % Note : DeltaC assumed t o be e v e n l y d i s t r i b u t e d t h r o u g h c e l l ... membrane % t o a d j a c e n t c e l l s w i t h o u t Notch r e c e p t o r s a t u r a t i o n . This... scaling % i s lumped i n t o t h e rN parameter . M= c e l l A r r a y S i z e ( 1 ) ; N= c e l l A r r a y S i z e ( 2 ) ; K= M∗N; 194 c o u p l i n g M a t r i x= zeros (K) ; f o r k= 1 :K i f k == 1 % Top− l e f t c o r n e r if M > 1 c o u p l i n g M a t r i x ( 1 , 2 )= 1 ; if N > 1 c o u p l i n g M a t r i x ( 1 ,M+1:M+2)= 1 ; end elseif N > 1 c o u p l i n g M a t r i x ( 1 ,M+1)= 1 ; end e l s e i f ( 2 <= k ) && ( k <= M−1) % L e f t s i d e c o u p l i n g M a t r i x ( k , [ k−1,k +1])= 1 ; if N > 1 c o u p l i n g M a t r i x ( k , k+M−1:k+M+1)= 1 ; end e l s e i f k == M % Bottom− l e f t c o r n e r c o u p l i n g M a t r i x (M, k−1)= 1 ; if N > 1 c o u p l i n g M a t r i x (M, k+M−1:k+M)= 1 ; end e l s e i f (rem( k , M) == 1 ) && ( k < K−M+1) % Top s i d e c o u p l i n g M a t r i x ( k , [ k−M: k−M+1, k+1, k+M: k+M+1])= 1 ; e l s e i f (rem( k , M) == 0 ) && ( k < K) % Bottom s i d e if M > 1 c o u p l i n g M a t r i x ( k , [ k−M−1:k−M, k−1, k+M−1:k+M] )= 1 ; 195 else c o u p l i n g M a t r i x ( k , [ k−M, k+M] )= 1 ; end e l s e i f k == K−M+1 % Top−r i g h t c o r n e r if M > 1 c o u p l i n g M a t r i x ( k , [ k−M: k−M+1, k +1])= 1 ; else c o u p l i n g M a t r i x ( k , k−M)= 1 ; end e l s e i f (K−M+1 < k ) && ( k < K) % R i g h t s i d e c o u p l i n g M a t r i x ( k , [ k−M−1:k−M+1, k−1, k +1])= 1 ; e l s e i f k == K % Bottom−r i g h t c o r n e r c o u p l i n g M a t r i x ( k , [ k−M−1:k−M, k −1])= 1 ; else % Inside c o u p l i n g M a t r i x ( k , [ k−M−1:k−M+1, k−1, k+1, k+M−1:k+M+1])... = 1; end end end % c r e a t e N e a r e s t N e i g h b o r C o u p l i n g M a t r i x ( ) function c o u p l i n g M a t r i x= c r e a t e A x i a l C o u p l i n g M a t r i x ( ... cellArraySize ) % Note : Works f o r 1D v e c t o r s and 2D a r r a y s . % Note : DeltaC assumed t o be e v e n l y d i s t r i b u t e d t h r o u g h c e l l ... membrane % t o a d j a c e n t c e l l s w i t h o u t Notch r e c e p t o r s a t u r a t i o n . This... scaling 196 % i s lumped i n t o t h e rN parameter . M= c e l l A r r a y S i z e ( 1 ) ; N= c e l l A r r a y S i z e ( 2 ) ; K= M∗N; c o u p l i n g M a t r i x= zeros (K) ; f o r k= 1 :K i f k == 1 % Top− l e f t c o r n e r if M > 1 c o u p l i n g M a t r i x ( 1 , 2 )= 1 ; end e l s e i f ( 2 <= k ) && ( k <= M−1) % L e f t s i d e c o u p l i n g M a t r i x ( k , [ k−1, k +1])= 1 ; e l s e i f k == M % Bottom− l e f t c o r n e r c o u p l i n g M a t r i x (M, k−1)= 1 ; e l s e i f (rem( k , M) == 1 ) && ( k < K−M+1) % Top s i d e c o u p l i n g M a t r i x ( k , k+1)= 1 ; e l s e i f (rem( k , M) == 0 ) && ( k < K) % Bottom s i d e if M > 1 c o u p l i n g M a t r i x ( k , k−1)= 1 ; end e l s e i f k == K−M+1 % Top−r i g h t c o r n e r if M > 1 c o u p l i n g M a t r i x ( k , k+1)= 1 ; end e l s e i f (K−M+1 < k ) && ( k < K) % R i g h t s i d e 197 c o u p l i n g M a t r i x ( k , [ k−1, k +1])= 1 ; e l s e i f k == K % Bottom−r i g h t c o r n e r c o u p l i n g M a t r i x ( k , k−1)= 1 ; else % Inside c o u p l i n g M a t r i x ( k , [ k−1, k +1])= 1 ; end end end % c r e a t e A x i a l C o u p l i n g M a t r i x ( ) end % S t a t i c methods end % c l a s s d e f somitogenesisPCW.m: This is the main simulation function for the PCW model. This code calls the built-in Matlab DDE solver ddesd by default, but it also works with dde23. function s o l= somitogenesisPCW ( params ) % Usage : % s o l= somitogenesisPCW ( params ) % % S i m u l a t e s z e b r a f i s h s o m i t o g e n e s i s i n p o s t e r i o r PSM. % S i n g l e c l o c k −gene i s HER7, d e n o t e d H7 ( p r o t e i n ) or h7 (mRNA) . % C o n t r o l p r o t e i n i s Her13 . 2 , d e n o t e d H13 . % C o o r d i n a t i n g −s i g n a l gene ( o p t i o n a l ) i s DELTAC, d e n o t e d % % D ( p r o t e i n ) or d (mRNA) . 198 % Note : To g e t a d e f a u l t params o b j e c t f o r t h e i n p u t argument ... use % params= Params ( ) %s o m i t o g e n e s i s T i c= t i c ; % S e l e c t r h s system t o s o l v e ( s e e n e s t e d f u n c t i o n s b e l o w ) i f params . numGenes == 1 % HER7 o n l y i f params . numBindingSites == 1 % R e p r e s s o r b i n d i n g s i t e s rhsSystem= @rhs1Gene1Site ; e l s e i f params . numBindingSites == 2 rhsSystem= @rhs1Gene2Site ; end e l s e i f params . numGenes == 2 % HER7 and DELTAC i f params . numBindingSites == 1 % R e p r e s s o r b i n d i n g s i t e s rhsSystem= @rhs2Gene1Site ; e l s e i f params . numBindingSites == 2 rhsSystem= @rhs2Gene2Site ; end end % O p t i m i z a t i o n s t o a v o i d i n e f f i c i e n t params o b j e c t a c c e s s numEquations= params . numEquations ; b i r t h T i m e s= params . b i r t h T i m e s ; H 7 T o t a l I n d i c e s= params . H 7 T o t a l I n d i c e s ; h 7 I n d i c e s= params . h 7 I n d i c e s ; D I n d i c e s= params . D I n d i c e s ; d I n d i c e s= params . d I n d i c e s ; H 7 T o t a l D e l a y e d h 7 I n d i c e s= params . H 7 T o t a l D e l a y e d h 7 I n d i c e s ; 199 D D e l a y e d h 7 I n d i c e s= params . D D e l a y e d h 7 I n d i c e s ; h 7 D e l a y e d H 7 I n d i c e s= params . h 7 D e l a y e d H 7 I n d i c e s ; H 7 T o t a l D e l a y e d d I n d i c e s= params . H 7 T o t a l D e l a y e d d I n d i c e s ; d D e l a y e d D I n d i c e s= params . d D e l a y e d D I n d i c e s ; rho= params . rho ; kH13H13= params . kH13H13 ; kH7H7= params . kH7H7 ; kH7H13= params . kH7H13 ; t a u h 7= params . t a u h 7 ; % tau H7= params . tau H7 ; aH7= params . aH7 ; bH7= params . bH7 ; bH7H7= params . bH7H7 ; bH7H13= params . bH7H13 ; gH7= params . gH7 ; rH7H7= params . rH7H7 ; wH7H7 H7H7= params . wH7H7 H7H7 ; dH7= params . dH7 ; t a u d= params . t a u d ; % tau D= params . tau D ; aD= params . aD ; bD= params . bD ; gD= params . gD ; rN= params . rN ; wN= params .wN; wN H7H7= params . wN H7H7 ; wN H7H7 H7H7= params . wN H7H7 H7H7 ; 200 dD= params . dD ; c o u p l i n g M a t r i x= params . c o u p l i n g M a t r i x ; gradientFuncH= s t r 2 f u n c ( params . g r a d i e n t F u n c ) ; H13TotalMax= params . H13TotalMax ; H13TotalMin= params . H13TotalMin ; H 1 3 T o t a l H a l f L i f e= params . H 1 3 T o t a l H a l f L i f e ; i f i s s t r u c t ( params . h i s t o r y ) % Continue e x i s t i n g s o l u t i o n % Assumes l o n g e r params . t i m e I n t e r v a l f o r c o n t i n u a t i o n % TBD: How t o t r a c k / r e c o r d c o n t i n u a t i o n s ? s o l= ddesd ( rhsSystem , params . timeLags , params . h i s t o r y , [ ... params . h i s t o r y . params . t i m e I n t e r v a l ( 2 ) , params . t i m e I n t e r v a l ( 2 ) ] , ... params . ddeOptions ) ; i f ˜isempty ( s o l . xe ) % S o l u t i o n went n e g a t i v e warning ( ’Zero - crossing in solution during continuation .’ ) ; end s o l . params= params ; s o l . s t a t i s t i c s = s o l . params . h i s t o r y . s t a t i s t i c s ; e l s e % S t a r t a new s o l u t i o n i f params . s e t t l i n g T i m e > 0 % Compute ” s e t t l i n g time ” p o r t i o n o f s o l u t i o n s o l= ddesd ( rhsSystem , params . timeLags , params . h i s t o r y , [ ... params . t i m e I n t e r v a l ( 1 ) − params . s e t t l i n g T i m e , params . ... t i m e I n t e r v a l ( 1 ) ] , params . ddeOptions ) ; i f isempty ( s o l . xe ) % S o l u t i o n d i d not go n e g a t i v e s o l . params= params ; % Needed f o r calcPerMedAmp ( ) c a l l 201 % C a l c u l a t e p e r i o d s , medians , and a m p l i t u d e s a t end o f ... settlingTime [ s t a t i s t i c s . p e r i o d s , s t a t i s t i c s . medians , s t a t i s t i c s . ... a m p l i t u d e s ]= calcPerMedAmp ( s o l ) ; % Update d e f a u l t t a i l b u d p e r i o d i f ˜any ( isnan ( s t a t i s t i c s . p e r i o d s ) ) && ˜any ( s t a t i s t i c s . ... p e r i o d s <= 0 ) periodMean= mean( s t a t i s t i c s . p e r i o d s ) ; i f a l l ( abs ( ( s t a t i s t i c s . p e r i o d s − periodMean ) /... periodMean ) < params . p e r i o d T o l ) params . t a i l b u d P e r i o d= periodMean ; b i r t h T i m e s= params . b i r t h T i m e s ; end end % Continue w i t h ” time o f i n t e r e s t ” p o r t i o n o f s o l u t i o n i f params . t i m e I n t e r v a l ( 2 ) − params . t i m e I n t e r v a l ( 1 ) > 0 s o l= ddesd ( rhsSystem , params . timeLags , s o l , params . ... t i m e I n t e r v a l , params . ddeOptions ) ; i f ˜isempty ( s o l . xe ) % S o l u t i o n went n e g a t i v e warning ( ’Zero - crossing in solution during "time of ... interest ". ’ ) ; end end else warning ( ’Zero - crossing in solution during " settling ... time ". ’ ) ; end 202 e l s e i f params . t i m e I n t e r v a l ( 2 ) − params . t i m e I n t e r v a l ( 1 ) > 0 % Compute s o l u t i o n w i t h o u t any ” s e t t l i n g time ” s t a t i s t i c s . p e r i o d s= nan ( numEquations , 1 ) ; s t a t i s t i c s . medians= nan ( numEquations , 1 ) ; s t a t i s t i c s . a m p l i t u d e s= nan ( numEquations , 1 ) ; s o l= ddesd ( rhsSystem , params . timeLags , params . h i s t o r y , ... params . t i m e I n t e r v a l , params . ddeOptions ) ; i f ˜isempty ( s o l . xe ) % S o l u t i o n went n e g a t i v e warning ( ’Zero - crossing in solution during "time of ... interest ". ’ ) ; end else warning ( ’No non - empty time - interval on which to solve the... system .’ ) ; s o l . params= params ; % Record p a r a m e t e r s o b j e c t i n s o l u t i o n ... structure return ; end s o l . params= params ; % Record p a r a m e t e r s o b j e c t i n s o l u t i o n ... structure s o l . s t a t i s t i c s = s t a t i s t i c s ; % Record s t a t i s t i c s i n s o l u t i o n ... structure end %t o c ( s o m i t o g e n e s i s T i c ) i f ˜ params . fastModeBool % C a l c u l a t e Her13 . 2 & Her7 monomer & dimer c o n c e n t r a t i o n s 203 s o l . output . H13Total= gradientFuncH ( repmat ( s o l . x , length ( ... b i r t h T i m e s ) , 1 ) − repmat ( birthTimes , 1 , length ( s o l . x ) ) , ... H13TotalMax , H13TotalMin , H 1 3 T o t a l H a l f L i f e ) ; [ s o l . output . H13 , s o l . output . H7 , s o l . output . H13H13 , s o l . ... output . H7H7 , s o l . output . H7H13]= c a l c D i m e r i z a t i o n ( s o l . output . ... H13Total , s o l . y ( H 7 T o t a l I n d i c e s , : ) , kH13H13 , kH7H7 , kH7H13 ) ; n e g a t i v i t y C h e c k= ( s o l . output . H7 < 0 ) | ( s o l . output . H13 < 0 ) ... | ( s o l . output . H7H7 < 0 ) | ( s o l . output . H13H13 < 0 ) | ( s o l . output . ... H7H13 < 0 ) ; i f any ( n e g a t i v i t y C h e c k ( : ) ) warning ( ’Negative copy number ( possibly near zero) ... detected in CalcDimerization () computation .’ ) ; end plotSolution ( sol ) ; % Plot r e s u l t s end % Nested f u n c t i o n s function dzdt= r h s 1 G e n e 1 S i t e ( t , z , Z ) dzdt= zeros ( numEquations , 1 ) ; % P r e a l l o c a t e % C a l c u l a t e f a s t d i m e r i z a t i o n ( Her monomer and dimer amounts ) [ H13 , H7 , H13H13 , H7H7 , H7H13]= c a l c D i m e r i z a t i o n ( ... gradientFuncH ( t − birthTimes , H13TotalMax , H13TotalMin , ... H 1 3 T o t a l H a l f L i f e ) , z ( H 7 T o t a l I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; [ H13Delayedh7 , H7Delayedh7 , H13H13Delayedh7 , H7H7Delayedh7 , ... H7H13Delayedh7 ]= c a l c D i m e r i z a t i o n ( gradientFuncH ( t − b i r t h T i m e s −... tau h7 , H13TotalMax , H13TotalMin , H 1 3 T o t a l H a l f L i f e ) , Z ( ... H 7 T o t a l D e l a y e d h 7 I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; 204 % System o f d i f f e r e n t i a l e q u a t i o n s % Her7 t o t a l p r o t e i n dzdt ( H 7 T o t a l I n d i c e s )= aH7 . ∗ Z ( h 7 D e l a y e d H 7 I n d i c e s ) − bH7 . ∗ H7 −... 2∗bH7H7 . ∗ H7H7 − bH7H13 . ∗ H7H13 ; % Her7 mRNA dzdt ( h 7 I n d i c e s )= gH7 . ∗ rho . / ( rho + 1 + rH7H7 . ∗ H7H7Delayedh7 ) ... − dH7 . ∗ z ( h 7 I n d i c e s ) ; end function dzdt= r h s 1 G e n e 2 S i t e ( t , z , Z ) dzdt= zeros ( numEquations , 1 ) ; % P r e a l l o c a t e % C a l c u l a t e f a s t d i m e r i z a t i o n ( Her monomer and dimer amounts ) [ H13 , H7 , H13H13 , H7H7 , H7H13]= c a l c D i m e r i z a t i o n ( ... gradientFuncH ( t − birthTimes , H13TotalMax , H13TotalMin , ... H 1 3 T o t a l H a l f L i f e ) , z ( H 7 T o t a l I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; [ H13Delayedh7 , H7Delayedh7 , H13H13Delayedh7 , H7H7Delayedh7 , ... H7H13Delayedh7 ]= c a l c D i m e r i z a t i o n ( gradientFuncH ( t − b i r t h T i m e s −... tau h7 , H13TotalMax , H13TotalMin , H 1 3 T o t a l H a l f L i f e ) , Z ( ... H 7 T o t a l D e l a y e d h 7 I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; % System o f d i f f e r e n t i a l e q u a t i o n s % Her7 t o t a l p r o t e i n dzdt ( H 7 T o t a l I n d i c e s )= aH7 . ∗ Z ( h 7 D e l a y e d H 7 I n d i c e s ) − bH7 . ∗ H7 −... 2∗bH7H7 . ∗ H7H7 − bH7H13 . ∗ H7H13 ; % Her7 mRNA dzdt ( h 7 I n d i c e s )= gH7 . ∗ rho . / ( rho + 1 + 2∗rH7H7 . ∗ H7H7Delayedh7... + wH7H7 H7H7 . ∗ ( rH7H7 . ∗ H7H7Delayedh7 ) . ˆ 2 ) − dH7 . ∗ z ( h 7 I n d i c e s ) ; end 205 function dzdt= r h s 2 G e n e 1 S i t e ( t , z , Z ) dzdt= zeros ( numEquations , 1 ) ; % P r e a l l o c a t e % C a l c u l a t e f a s t d i m e r i z a t i o n ( Her monomer and dimer amounts ) [ H13 , H7 , H13H13 , H7H7 , H7H13]= c a l c D i m e r i z a t i o n ( ... gradientFuncH ( t − birthTimes , H13TotalMax , H13TotalMin , ... H 1 3 T o t a l H a l f L i f e ) , z ( H 7 T o t a l I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; [ H13Delayedh7 , H7Delayedh7 , H13H13Delayedh7 , H7H7Delayedh7 , ... H7H13Delayedh7 ]= c a l c D i m e r i z a t i o n ( gradientFuncH ( t − b i r t h T i m e s −... tau h7 , H13TotalMax , H13TotalMin , H 1 3 T o t a l H a l f L i f e ) , Z ( ... H 7 T o t a l D e l a y e d h 7 I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; [ H13Delayedd , H7Delayedd , H13H13Delayedd , H7H7Delayedd , ... H7H13Delayedd ]= c a l c D i m e r i z a t i o n ( gradientFuncH ( t − b i r t h T i m e s − ... tau d , H13TotalMax , H13TotalMin , H 1 3 T o t a l H a l f L i f e ) , Z ( ... H 7 T o t a l D e l a y e d d I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; % C a l c u l a t e NICD from c o u p l i n g NDelayedh7= c o u p l i n g M a t r i x ∗Z ( D D e l a y e d h 7 I n d i c e s ) ; % System o f d i f f e r e n t i a l e q u a t i o n s % Her7 t o t a l p r o t e i n dzdt ( H 7 T o t a l I n d i c e s )= aH7∗Z ( h 7 D e l a y e d H 7 I n d i c e s ) − bH7∗H7 − ... 2∗bH7H7∗H7H7 − bH7H13∗H7H13 ; % Her7 mRNA dzdt ( h 7 I n d i c e s )= gH7∗ rho ∗ ( 1 + wN∗rN∗ NDelayedh7 ) . / ( rho ∗ ( 1 + ... wN∗rN∗ NDelayedh7 ) + ( 1 + rH7H7∗ H7H7Delayedh7 ) + rN∗ NDelayedh7... . ∗ ( 1 + wN H7H7∗rH7H7∗ H7H7Delayedh7 ) ) − dH7∗ z ( h 7 I n d i c e s ) ; % Delta protein dzdt ( D I n d i c e s )= aD . ∗ Z ( d D e l a y e d D I n d i c e s ) − bD . ∗ z ( D I n d i c e s ) ; 206 % D e l t a mRNA dzdt ( d I n d i c e s )= gD . ∗ rho . / ( rho + 1 + rH7H7 . ∗ H7H7Delayedd ) − ... dD . ∗ z ( d I n d i c e s ) ; end function dzdt= r h s 2 G e n e 2 S i t e ( t , z , Z ) dzdt= zeros ( numEquations , 1 ) ; % P r e a l l o c a t e % C a l c u l a t e f a s t d i m e r i z a t i o n ( Her monomer and dimer amounts ) [ H13 , H7 , H13H13 , H7H7 , H7H13]= c a l c D i m e r i z a t i o n ( ... gradientFuncH ( t − birthTimes , H13TotalMax , H13TotalMin , ... H 1 3 T o t a l H a l f L i f e ) , z ( H 7 T o t a l I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; [ H13Delayedh7 , H7Delayedh7 , H13H13Delayedh7 , H7H7Delayedh7 , ... H7H13Delayedh7 ]= c a l c D i m e r i z a t i o n ( gradientFuncH ( t − b i r t h T i m e s −... tau h7 , H13TotalMax , H13TotalMin , H 1 3 T o t a l H a l f L i f e ) , Z ( ... H 7 T o t a l D e l a y e d h 7 I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; [ H13Delayedd , H7Delayedd , H13H13Delayedd , H7H7Delayedd , ... H7H13Delayedd ]= c a l c D i m e r i z a t i o n ( gradientFuncH ( t − b i r t h T i m e s − ... tau d , H13TotalMax , H13TotalMin , H 1 3 T o t a l H a l f L i f e ) , Z ( ... H 7 T o t a l D e l a y e d d I n d i c e s ) , kH13H13 , kH7H7 , kH7H13 ) ; % C a l c u l a t e NICD from c o u p l i n g NDelayedh7= c o u p l i n g M a t r i x ∗Z ( D D e l a y e d h 7 I n d i c e s ) ; % System o f d i f f e r e n t i a l e q u a t i o n s % Her7 t o t a l p r o t e i n dzdt ( H 7 T o t a l I n d i c e s )= aH7 . ∗ Z ( h 7 D e l a y e d H 7 I n d i c e s ) − bH7 . ∗ H7 −... 2∗bH7H7 . ∗ H7H7 − bH7H13 . ∗ H7H13 ; % Her7 mRNA 207 dzdt ( h 7 I n d i c e s )= gH7 . ∗ rho . ∗ ( 1 + wN. ∗ rN . ∗ NDelayedh7 ) . / ( rho... . ∗ ( 1 + wN. ∗ rN . ∗ NDelayedh7 ) + ( 1 + 2∗rH7H7 . ∗ H7H7Delayedh7 + ... wH7H7 H7H7 . ∗ ( rH7H7 . ∗ H7H7Delayedh7 ) . ˆ 2 ) + rN . ∗ NDelayedh7 . ∗ ( 1 + 2∗... wN H7H7 . ∗ rH7H7 . ∗ H7H7Delayedh7 + wN H7H7 H7H7 . ∗ wH7H7 H7H7 . ∗ ( rH7H7... . ∗ H7H7Delayedh7 ) . ˆ 2 ) ) − dH7 . ∗ z ( h 7 I n d i c e s ) ; % Delta protein dzdt ( D I n d i c e s )= aD . ∗ Z ( d D e l a y e d D I n d i c e s ) − bD . ∗ z ( D I n d i c e s ) ; % D e l t a mRNA dzdt ( d I n d i c e s )= gD . ∗ rho . / ( rho + 1 + rH7H7 . ∗ H7H7Delayedd ) − ... dD . ∗ z ( d I n d i c e s ) ; end end calcDimerization.m: This implements the iterative numerical scheme for calculating monomer, homodimer, and heterodimer amounts from total clock protein and total control protein amounts. function [ H13 , H7 , H13H13 , H7H7 , H7H13]= c a l c D i m e r i z a t i o n ( ... H13Total , H7Total , kH13H13 , kH7H7 , kH7H13 ) % Usage : % [ H13 , H7 , H13H13 , H7H7 , H7H13]= c a l c D i m e r i z a t i o n ( H13Total , ... H7Total , kH13H13 , kH7H7 , kH7H13 ) % % Computes ( v i a i t e r a t i o n ) t h e n o n l i n e a r a l g e b r a i c system o f % equations for the f a s t dimerization . % 2D V e c t o r i z e d − assumes H7Total & H13Total have same s i z e and 208 % a r e non−n e g a t i v e : % 1) The f i r s t ( row ) dimension i s t h e t o t a l number o f c e l l s . % 2) The second ( column ) dimension i s t y p i c a l l y time . % The kappa p a r a m e t e r s may be a l l s c a l a r s or a l l column v e c t o r s % w i t h t h e same number o f columns as H7Total & H13Total . r e s i d u a l T o l= 1 e −6; promptFlag= t r u e ; H7= H7Total ; % IC H13= H13Total ; % IC H 1 3 T o t a l S i z e= s i z e ( H13Total ) ; u n c o n v e r g e d I n d i c e s= t r u e ( H 1 3 T o t a l S i z e ) ; i f i s s c a l a r ( kH13H13 ) k= 0 ; % I t e r a t i o n c o u n t e r while any ( u n c o n v e r g e d I n d i c e s ( : ) ) k= k + 1 ; i f promptFlag && ˜rem( k , 1 0 0 0 ) while t r u e % User i n p u t l o o p r e s p o n s e= menu ( [ ’No convergence to root after ’ ... num2str ( k ) ’ iterations . Iterate further ? ’ ] , ’Yes ’ , ’Yes , turn... off prompting ’ , ’No , terminate execution ’ ) ; switch response case 1 break ; case 2 promptFlag= f a l s e ; 209 break ; case 3 disp ( ’Parameter Dump:’ ) ; disp ( [ ’H13Total = ’ m a t 2 s t r ( H13Total ) ] ) ; disp ( [ ’H7Total = ’ m a t 2 s t r ( H7Total ) ] ) ; disp ( [ ’kH13H13 = ’ m a t 2 s t r ( kH13H13 ) ] ) ; disp ( [ ’kH7H7 = ’ m a t 2 s t r ( kH7H7 ) ] ) ; disp ( [ ’kH7H13 = ’ m a t 2 s t r ( kH7H13 ) ] ) ; error ( ’Failed to converge to root.’ ) ; otherwise continue ; end end end % Only u p d a t e un c on v er ge d i n d i c e s H7( u n c o n v e r g e d I n d i c e s )= ( sqrt ( ( kH7H7∗ ( 1 + H13 ( ... u n c o n v e r g e d I n d i c e s ) /kH7H13 ) ) . ˆ 2 + 8∗kH7H7∗ H7Total ( ... u n c o n v e r g e d I n d i c e s ) ) − kH7H7∗ ( 1 + H13 ( u n c o n v e r g e d I n d i c e s ) /kH7H13... ) ) /4; H13 ( u n c o n v e r g e d I n d i c e s )= ( sqrt ( ( kH13H13 ∗ ( 1 + H7( ... u n c o n v e r g e d I n d i c e s ) /kH7H13 ) ) . ˆ 2 + 8∗kH13H13∗ H13Total ( ... u n c o n v e r g e d I n d i c e s ) ) − kH13H13 ∗ ( 1 + H7( u n c o n v e r g e d I n d i c e s ) /... kH7H13 ) ) / 4 ; % Use r e s i d u a l t o compute remainin g un c on v er ge d i n d i c e s u n c o n v e r g e d I n d i c e s ( u n c o n v e r g e d I n d i c e s )= (H7( ... u n c o n v e r g e d I n d i c e s ) . ˆ 2 + kH7H7 / 2 . ∗ ( 1 + H13 ( u n c o n v e r g e d I n d i c e s ) /... kH7H13 ) . ∗ H7( u n c o n v e r g e d I n d i c e s ) − kH7H7∗ H7Total ( ... 210 u n c o n v e r g e d I n d i c e s ) /2 >= r e s i d u a l T o l ) | ( H13 ( u n c o n v e r g e d I n d i c e s ) ... . ˆ 2 + kH13H13 / 2 . ∗ ( 1 + H7( u n c o n v e r g e d I n d i c e s ) /kH7H13 ) . ∗ H13 ( ... u n c o n v e r g e d I n d i c e s ) − kH13H13∗ H13Total ( u n c o n v e r g e d I n d i c e s ) /2 >= ... residualTol ) ; end else i f H13TotalSize (2) > 1 kH7H7= repmat ( kH7H7 , 1 , H 1 3 T o t a l S i z e ( 2 ) ) ; kH13H13= repmat ( kH13H13 , 1 , H 1 3 T o t a l S i z e ( 2 ) ) ; kH7H13= repmat ( kH7H13 , 1 , H 1 3 T o t a l S i z e ( 2 ) ) ; end k= 0 ; % I t e r a t i o n c o u n t e r while any ( u n c o n v e r g e d I n d i c e s ( : ) ) k= k + 1 ; i f promptFlag && ˜rem( k , 1 0 0 0 ) while t r u e % User i n p u t l o o p r e s p o n s e= menu ( [ ’No convergence to root after ’ ... num2str ( k ) ’ iterations . Iterate further ? ’ ] , ’Yes ’ , ’Yes , turn... off prompting ’ , ’No , terminate execution ’ ) ; switch response case 1 break ; case 2 promptFlag= f a l s e ; break ; case 3 211 disp ( ’Parameter Dump:’ ) ; disp ( [ ’H13Total = ’ m a t 2 s t r ( H13Total ) ] ) ; disp ( [ ’H7Total = ’ m a t 2 s t r ( H7Total ) ] ) ; disp ( [ ’kH13H13 = ’ m a t 2 s t r ( kH13H13 ) ] ) ; disp ( [ ’kH7H7 = ’ m a t 2 s t r ( kH7H7 ) ] ) ; disp ( [ ’kH7H13 = ’ m a t 2 s t r ( kH7H13 ) ] ) ; error ( ’Failed to converge to root.’ ) ; otherwise continue ; end end end % Only u p d a t e un c on v er ge d i n d i c e s H7( u n c o n v e r g e d I n d i c e s )= ( sqrt ( ( kH7H7 ( u n c o n v e r g e d I n d i c e s ) ... . ∗ ( 1 + H13 ( u n c o n v e r g e d I n d i c e s ) . / kH7H13 ( u n c o n v e r g e d I n d i c e s ) ) ) . ˆ 2 ... + 8∗kH7H7 ( u n c o n v e r g e d I n d i c e s ) . ∗ H7Total ( u n c o n v e r g e d I n d i c e s ) ) − ... kH7H7 ( u n c o n v e r g e d I n d i c e s ) . ∗ ( 1 + H13 ( u n c o n v e r g e d I n d i c e s ) . / kH7H13 ( ... unconvergedIndices ) ) ) /4; H13 ( u n c o n v e r g e d I n d i c e s )= ( sqrt ( ( kH13H13 ( u n c o n v e r g e d I n d i c e s ... ) . ∗ ( 1 + H7( u n c o n v e r g e d I n d i c e s ) . / kH7H13 ( u n c o n v e r g e d I n d i c e s ) ) ) . ˆ 2 ... + 8∗kH13H13 ( u n c o n v e r g e d I n d i c e s ) . ∗ H13Total ( u n c o n v e r g e d I n d i c e s ) ) −... kH13H13 ( u n c o n v e r g e d I n d i c e s ) . ∗ ( 1 + H7( u n c o n v e r g e d I n d i c e s ) . / ... kH7H13 ( u n c o n v e r g e d I n d i c e s ) ) ) / 4 ; % Use r e s i d u a l t o compute remainin g un c on v er ge d i n d i c e s u n c o n v e r g e d I n d i c e s ( u n c o n v e r g e d I n d i c e s )= (H7( ... u n c o n v e r g e d I n d i c e s ) . ˆ 2 + kH7H7 ( u n c o n v e r g e d I n d i c e s ) / 2 . ∗ ( 1 + H13 ( ... u n c o n v e r g e d I n d i c e s ) . / kH7H13 ( u n c o n v e r g e d I n d i c e s ) ) . ∗ H7( ... 212 u n c o n v e r g e d I n d i c e s ) − kH7H7 ( u n c o n v e r g e d I n d i c e s ) . ∗ H7Total ( ... u n c o n v e r g e d I n d i c e s ) /2 >= r e s i d u a l T o l ) | ( H13 ( u n c o n v e r g e d I n d i c e s ) ... . ˆ 2 + kH13H13 ( u n c o n v e r g e d I n d i c e s ) / 2 . ∗ ( 1 + H7( u n c o n v e r g e d I n d i c e s ) ... . / kH7H13 ( u n c o n v e r g e d I n d i c e s ) ) . ∗ H13 ( u n c o n v e r g e d I n d i c e s ) − kH13H13... ( u n c o n v e r g e d I n d i c e s ) . ∗ H13Total ( u n c o n v e r g e d I n d i c e s ) /2 >= ... residualTol ) ; end end % Compute h e t e r o d i m e r s H7H13= H7 . ∗ H13 . / kH7H13 ; H7H7= ( H7Total − H7 − H7H13 ) / 2 ; H13H13= ( H13Total − H13 − H7H13 ) / 2 ; end calcPerMedAmp.m: This computes the component-wise period, median, and amplitude of simply periodic or steady-state solutions computed with somitogenesisPCW.m. function [ p e r i o d s , medians , a m p l i t u d e s ]= calcPerMedAmp ( s o l ) % Usage : % [ p e r i o d s , medians , a m p l i t u d e s ]= calcPerMedAmp ( s o l ) % % C a l c u l a t e p e r i o d s , medians , and a m p l i t u d e s o f s i m p l y p e r i o d i c % ( i n c l u d i n g e q u i l i b r a t e d ) s t a t e v a r i a b l e s in the % dde23 ( ) / ddsd ( ) s o l u t i o n s o l . % This a l g o r i t h m assumes i t i s a n a l y z i n g ( i n each component o f 213 % s o l . y ) a time s e r i e s r e a c h i n g an e q u i l i b r i u m or a s i m p l y % p e r i o d i c b e h a v i o r w i t h a t l e a s t t h r e e i n t e r n a l peak−to−peak % o s c i l l a t i o n s ( two i n t e r n a l max and two i n t e r n a l min , i n % e i t h e r a l t e r n a t i n g order ) . % Simply p e r i o d i c time s e r i e s have i s o l a t e d extrema , w i t h a % s i n g l e maximum and a s i n g l e minimum i n each f u n d a m e n t a l % period . % Assumes (& r e q u i r e s ) a t l e a s t t h r e e d a t a p o i n t s i n s o l . x . % E q u i l i b r i a t e d s t a t e v a r i a b l e s are assigned zero period , % a l t h o u g h i n c e r t a i n s i t u a t i o n s an e q u i l i b r i u m may be % r e p r e s e n t e d by a p e r i o d i c s o l u t i o n w i t h v e r y s m a l l a m p l i t u d e ... % i n which c a s e t h e median e s t i m a t e s t h e e q u i l i b r i u m . , % T o l e r a n c e s ( componentwise ) r e l T o l= 1 e −2; % R e l a t i v e t o l e r a n c e f o r d e t e c t i o n o f ... equilibrium absTol= 1 e −2; % A b s o l u t e t o l e r a n c e f o r d e t e c t i o n o f ... equilibrium t o l= 1 e −2; % R e l a t i v e t o l e r a n c e f o r d e t e c t i o n o f p e r i o d i c ... signal [M N]= s i z e ( s o l . y ) ; % Record d i m e n s i o n s o f time−s e r i e s minMask= zeros ( 1 , N) ; % Pre−a l l o c a t e maxMask= minMask ; % Pre−a l l o c a t e % D e f a u l t v a l u e s (NaN) p e r i o d s= nan (M, 1 ) ; % P r o t e i n ( s ) & mRNA( s ) f o r each c e l l 214 medians= p e r i o d s ; a m p l i t u d e s= medians ; t a i l T i m e= s o l . params . s e t t l i n g T i m e / 5 ; % Somewhat a r b i t r a r y t a i l S t a r t I n d e x= find ( ( s o l . x ( end ) − t a i l T i m e ) <= s o l . x , 1 ) ; i f isempty ( t a i l S t a r t I n d e x ) t a i l S t a r t I n d e x= 1 ; % Use w h o le time−s e r i e s end % TBD: V e c t o r i z e f o r l o o p ? fo r k= 1 :M % Check f i r s t f o r an e q u i l i b r i u m t a i l M e a n= mean( s o l . y ( k , t a i l S t a r t I n d e x : end ) ) ; i f ( t a i l M e a n ˜= 0 ) i f a l l ( abs ( ( s o l . y ( k , t a i l S t a r t I n d e x : end ) − t a i l M e a n ) /... tailMean ) < r e l T o l ) p e r i o d s ( k )= 0 ; medians ( k )= t a i l M e a n ; a m p l i t u d e s ( k )= 0 ; continue ; end e l s e i f a l l ( abs ( s o l . y ( k , t a i l S t a r t I n d e x : end ) ) < absTol ) p e r i o d s ( k )= 0 ; medians ( k )= 0 ; a m p l i t u d e s ( k )= 0 ; continue ; end 215 % Not an e q u i l i b r i u m , or e q u i l i b r i u m not s u f f i c i e n t l y % ” r e a c h e d ” , so c h e c k f o r a s i m p l y p e r i o d i c component % Note : Assumes t h a t n e i t h e r minMask nor maxMask m a t r i c e s a r e % empty , and t h e i s o l a t e d extrema a ssump ti on i s key t o t h e % following detection logic . % Find l o c a l minima minMask ( 2 : end−1)= ( s o l . y ( k , 1 : end−2) >= s o l . y ( k , 2 : end−1) ) & ( ... s o l . y ( k , 2 : end−1) <= s o l . y ( k , 3 : end ) ) ; minMask ( 1 )= s o l . y ( k , 1 ) <= s o l . y ( k , 2 ) ; minMask ( end )= s o l . y ( k , end−1) >= s o l . y ( k , end ) ; m i n I n d i c e s= find ( minMask ) ; % Find l o c a l maxima maxMask ( 2 : end−1)= s o l . y ( k , 1 : end−2) <= s o l . y ( k , 2 : end−1) & s o l ... . y ( k , 2 : end−1) >= s o l . y ( k , 3 : end ) ; maxMask ( 1 )= s o l . y ( k , 1 ) <= s o l . y ( k , 2 ) ; maxMask ( end )= s o l . y ( k , end−1) <= s o l . y ( k , end ) ; m a x I n d i c e s= find ( maxMask ) ; % C l e a r any i n i t i a l c o n s t a n t a r t i f a c t from c o n s t a n t h i s t o r y f o r i= 1 : min( length ( m i n I n d i c e s ) , length ( m a x I n d i c e s ) ) i f m i n I n d i c e s ( i ) ˜= m a x I n d i c e s ( i ) m i n I n d i c e s= m i n I n d i c e s ( i : end ) ; m a x I n d i c e s= m ax I n d i c e s ( i : end ) ; break ; end end % Check f o r a t l e a s t 1 . 5 o s c i l l a t i o n s f o r a n a l y s i s i f isempty ( m i n I n d i c e s ) | | isempty ( m a x I n d i c e s ) 216 % d i s p ( [ ’ Omega l i m i t s e t not found i n component ’ num2str (... k) ’; equilibrium ? ’] ) ; continue ; else numEdgeMinima= ( m i n I n d i c e s ( 1 ) < m a x I n d i c e s ( 1 ) ) + ( ... m i n I n d i c e s ( end ) == N) ; numEdgeMaxima= ( m a x I n d i c e s ( 1 ) < m i n I n d i c e s ( 1 ) ) + ( ... m ax I n d i c e s ( end ) == N) ; end i f ( ( length ( m i n I n d i c e s ) − numEdgeMinima <= 1 ) && ( length ( ... m ax I n d i c e s ) − numEdgeMaxima <= 1 ) ) | | ( m i n I n d i c e s ( end ) == ... m ax I n d i c e s ( end ) ) % d i s p ( [ ’ Omega l i m i t s e t not found i n component ’ num2str (... k) ’; equilibrium ? ’] ) ; else % O s c i l l a t o r y − analyze using l a s t 1.5 o s c i l l a t i o n s i f m i n I n d i c e s ( end ) == N % I g n o r e any l a s t minimum a t end l a s t M i n I n d e x= m i n I n d i c e s ( end−1) ; lastMaxIndex= m a x I n d i c e s ( end ) ; penultimateMaxIndex= m a x I n d i c e s ( end−1) ; e l s e i f m a x I n d i c e s ( end ) == N % I g n o r e any l a s t maximum a t ... end lastMaxIndex= m a x I n d i c e s ( end−1) ; l a s t M i n I n d e x= m i n I n d i c e s ( end ) ; penultimat eMinInde x= m i n I n d i c e s ( end−1) ; e l s e % TBD: This doesn ’ t happen ? i f s o l . x ( lastMaxIndex ) < s o l . x ( l a s t M i n I n d e x ) % L a s t ... extremum i s a minimum 217 l a s t M i n I n d e x= m i n I n d i c e s ( end ) ; penultimat eMinInde x= m i n I n d i c e s ( end−1) ; lastMaxIndex= m a x I n d i c e s ( end ) ; e l s e % L a s t extremum i s a maximum lastMaxIndex= m a x I n d i c e s ( end ) ; penultimateMaxIndex= m a x I n d i c e s ( end−1) ; l a s t M i n I n d e x= m i n I n d i c e s ( end ) ; end end % Function h a n d l e s f o r fminbnd ( ) s o l F n= @( x ) d e v a l ( s o l , x , k ) ; minusSolFn= @( x ) −d e v a l ( s o l , x , k ) ; % Try t o f i n d and c h a r a c t e r i z e a l i m i t c y c l e o s c i l l a t i o n i f s o l . x ( lastMaxIndex ) < s o l . x ( l a s t M i n I n d e x ) % L a s t ... extremum i s a minimum % Use l a s t two minima and i n t e r v e n i n g maximum % Use l e f t or r i g h t a d j a c e n t p o i n t d e p e n d i n g on s l o p e i f s o l . yp ( k , l a s t M i n I n d e x ) < 0 xLastMin= fminbnd ( solFn , s o l . x ( l a s t M i n I n d e x ) , s o l . x ( ... l a s t M i n I n d e x +1) ) ; e l s e i f s o l . yp ( k , l a s t M i n I n d e x ) > 0 xLastMin= fminbnd ( solFn , s o l . x ( l a s t M i n I n d e x −1) , s o l . x ( ... lastMinIndex ) ) ; else xLastMin= s o l . x ( l a s t M i n I n d e x ) ; end 218 i f s o l . yp ( k , penultimat eMinInde x ) < 0 xPenultimateMin= fminbnd ( solFn , s o l . x ( ... penultimat eMinInde x ) , s o l . x ( penultimat eMinInde x +1) ) ; e l s e i f s o l . yp ( k , penultimat eMinInde x ) > 0 xPenultimateMin= fminbnd ( solFn , s o l . x ( ... penultimateMinIndex −1) , s o l . x ( penultimat eMinInde x ) ) ; else xPenultimateMin= s o l . x ( penultimat eMinInde x ) ; end % l a s t M a x I n d e x s h o u l d be i n b e t w e e n % I n v e r t time s e r i e s so t h a t maxima become minima i f s o l . yp ( k , lastMaxIndex ) < 0 xLastMax= fminbnd ( minusSolFn , s o l . x ( lastMaxIndex −1) , ... s o l . x ( lastMaxIndex ) ) ; e l s e i f s o l . yp ( k , lastMaxIndex ) > 0 xLastMax= fminbnd ( minusSolFn , s o l . x ( lastMaxIndex ) , s o l ... . x ( lastMaxIndex +1) ) ; else xLastMax= s o l . x ( lastMaxIndex ) ; end l a s t M i n= d e v a l ( s o l , xLastMin , k ) ; lastMax= d e v a l ( s o l , xLastMax , k ) ; penultimateMin= d e v a l ( s o l , xPenultimateMin , k ) ; l a s t A m p l i t u d e= lastMax − l a s t M i n ; p e n u l t i m a t e A m p l i t u d e= lastMax − penultimateMin ; 219 i f ( l a s t A m p l i t u d e ˜= 0 ) && ( abs ( ( l a s t A m p l i t u d e − ... penultimateAmplitude ) / lastAmplitude ) < t o l ) p e r i o d s ( k )= xLastMin − xPenultimateMin ; medians ( k )= ( l a s t M i n + lastMax ) / 2 ; a m p l i t u d e s ( k )= l a s t A m p l i t u d e ; else % d i s p ( [ ’ Omega l i m i t s e t not found i n component ’ ... num2str ( k ) ’ ; damped o s c i l l a t i o n s ? ’ ] ) ; end e l s e % L a s t extremum i s a maximum % Use l a s t two maxima and i n t e r v e n i n g minimum % Use l e f t or r i g h t a d j a c e n t p o i n t d e p e n d i n g on s l o p e % Time s e r i e s i s i n v e r t e d t o t u r n maxima i n t o minima i f s o l . yp ( k , lastMaxIndex ) < 0 xLastMax= fminbnd ( minusSolFn , s o l . x ( lastMaxIndex −1) , ... s o l . x ( lastMaxIndex ) ) ; e l s e i f s o l . yp ( k , lastMaxIndex ) > 0 xLastMax= fminbnd ( minusSolFn , s o l . x ( lastMaxIndex ) , s o l ... . x ( lastMaxIndex +1) ) ; else xLastMax= s o l . x ( lastMaxIndex ) ; end i f s o l . yp ( k , penultimateMaxIndex ) < 0 xPenultimateMax= fminbnd ( minusSolFn , s o l . x ( ... penultimateMaxIndex −1) , s o l . x ( penultimateMaxIndex ) ) ; 220 e l s e i f s o l . yp ( k , penultimateMaxIndex ) > 0 xPenultimateMax= fminbnd ( minusSolFn , s o l . x ( ... penultimateMaxIndex ) , s o l . x ( penultimateMaxIndex +1) ) ; else xPenultimateMax= s o l . x ( penultimateMaxIndex ) ; end % l a s t M i n I n d e x s h o u l d be i n b e t w e e n i f s o l . yp ( k , l a s t M i n I n d e x ) < 0 xLastMin= fminbnd ( solFn , s o l . x ( l a s t M i n I n d e x ) , s o l . x ( ... l a s t M i n I n d e x +1) ) ; e l s e i f s o l . yp ( k , l a s t M i n I n d e x ) > 0 xLastMin= fminbnd ( solFn , s o l . x ( l a s t M i n I n d e x −1) , s o l . x ( ... lastMinIndex ) ) ; else xLastMin= s o l . x ( l a s t M i n I n d e x ) ; end lastMax= d e v a l ( s o l , xLastMax , k ) ; l a s t M i n= d e v a l ( s o l , xLastMin , k ) ; penultimateMax= d e v a l ( s o l , xPenultimateMax , k ) ; l a s t A m p l i t u d e= lastMax − l a s t M i n ; p e n u l t i m a t e A m p l i t u d e= penultimateMax − l a s t M i n ; i f ( l a s t A m p l i t u d e ˜= 0 ) && ( abs ( ( l a s t A m p l i t u d e − ... penultimateAmplitude ) / lastAmplitude ) < t o l ) p e r i o d s ( k )= xLastMax − xPenultimateMax ; medians ( k )= ( l a s t M i n + lastMax ) / 2 ; 221 a m p l i t u d e s ( k )= l a s t A m p l i t u d e ; else % d i s p ( [ ’ Omega l i m i t s e t not found i n component ’ ... num2str ( k ) ’ ; damped o s c i l l a t i o n s ? ’ ] ) ; end end end end end sigmoidalGradient.m: This computes the total protein level using a sigmoidal spatiotemporal gradient. function H13Total= s i g m o i d a l G r a d i e n t ( t , H13TotalMax , H13TotalMin ... , H13TotalHalfLife ) % Usage : % H13Total= s i g m o i d a l G r a d i e n t ( t , H13TotalMax , H13TotalMin , ... H13TotalHalfLife ) % % C a l c u l a t e s t o t a l Her13 . 2 g r a d i e n t a t time t . % 2D V e c t o r i z e d b a s e d on d i m e n s i o n s o f t : % 1) The f i r s t ( row ) dimension r e p r e s e n t s c e l l number . % 2) The second ( column ) dimension r e p r e s e n t s time . % % H13TotalMax , H13TotalMin , and H 1 3 T o t a l H a l f L i f e may be s c a l a r s % or column v e c t o r s , and a r e assumed t o have t h e same 222 % d i m e n s i o n s . I f t h e y a r e column v e c t o r s , t h e n t h e y s h o u l d have % t h e same number o f rows as t . % % This f u n c t i o n c a l c u l a t e s : % % % % I f t <= 0 H13Total= H13TotalMax E l s e i f 0 < t <= H 1 3 T o t a l H a l f L i f e H13Total= H13TotalMin + ( H13TotalMax − H13TotalMin ) /2 ∗ (2 ... − exp ( 2 ∗ ( 1 − H 1 3 T o t a l H a l f L i f e / t ) ) ) % % E l s e i f H 1 3 T o t a l H a l f L i f e <= t < 2∗ H 1 3 T o t a l H a l f L i f e H13Total= H13TotalMin + ( H13TotalMax − H13TotalMin ) /2 ∗ exp... ( 2 ∗ ( 1 + H 1 3 T o t a l H a l f L i f e /( t − 2∗ H 1 3 T o t a l H a l f L i f e ) ) ) % % % Else H13Total= H13TotalMin End i f i s s c a l a r ( H13TotalMax ) H13Total= H13TotalMax∗ o n e s ( s i z e ( t ) ) ; % Pre−a l l o c a t e tMask= ( 0 < t ) & ( t <= H 1 3 T o t a l H a l f L i f e ) ; H13Total ( tMask )= H13TotalMin + ( H13TotalMax − H13TotalMin ) ... / 2 ∗ ( 2 − exp ( 2 ∗ ( 1 − H 1 3 T o t a l H a l f L i f e . / t ( tMask ) ) ) ) ; tMask= ( H 1 3 T o t a l H a l f L i f e < t ) & ( t < 2∗ H 1 3 T o t a l H a l f L i f e ) ; H13Total ( tMask )= H13TotalMin + ( H13TotalMax − H13TotalMin ) ... /2∗exp ( 2 ∗ ( 1 + H 1 3 T o t a l H a l f L i f e . / ( t ( tMask ) − 2∗ H 1 3 T o t a l H a l f L i f e ) ) ... ); 223 tMask= ( 2 ∗ H 1 3 T o t a l H a l f L i f e <= t ) ; H13Total ( tMask )= H13TotalMin ; else t S i z e= s i z e ( t ) ; i f t S i z e ( 2 ) > 1 % Match second dimension l e n g t h H13TotalMax= repmat ( H13TotalMax , 1 , t S i z e ( 2 ) ) ; H13TotalMin= repmat ( H13TotalMin , 1 , t S i z e ( 2 ) ) ; H 1 3 T o t a l H a l f L i f e= repmat ( H 1 3 T o t a l H a l f L i f e , 1 , t S i z e ( 2 ) ) ; end H13Total= H13TotalMax ; % Pre−a l l o c a t e tMask= ( 0 < t ) & ( t <= H 1 3 T o t a l H a l f L i f e ) ; H13Total ( tMask )= H13TotalMin ( tMask ) + ( H13TotalMax ( tMask ) − ... H13TotalMin ( tMask ) ) / 2 . ∗ ( 2 − exp ( 2 ∗ ( 1 − H 1 3 T o t a l H a l f L i f e ( tMask ) . / ... t ( tMask ) ) ) ) ; tMask= ( H 1 3 T o t a l H a l f L i f e < t ) & ( t < 2∗ H 1 3 T o t a l H a l f L i f e ) ; H13Total ( tMask )= H13TotalMin ( tMask ) + ( H13TotalMax ( tMask ) − ... H13TotalMin ( tMask ) ) / 2 . ∗ exp ( 2 ∗ ( 1 + H 1 3 T o t a l H a l f L i f e ( tMask ) . / ( t ( ... tMask ) − 2∗ H 1 3 T o t a l H a l f L i f e ( tMask ) ) ) ) ; tMask= ( 2 ∗ H 1 3 T o t a l H a l f L i f e <= t ) ; H13Total ( tMask )= H13TotalMin ( tMask ) ; end end 224 exponentialGradient.m: This computes the total protein level using an exponential spatiotemporal gradient. function H13Total= e x p o n e n t i a l G r a d i e n t ( t , H13TotalMax , ... H13TotalMin , H 1 3 T o t a l H a l f L i f e ) % Usage : % H13Total= e x p o n e n t i a l G r a d i e n t ( t , H13TotalMax , H13TotalMin , ... H13TotalHalfLife ) % % C a l c u l a t e s t o t a l Her13 . 2 g r a d i e n t a t time t . % 2D V e c t o r i z e d b a s e d on d i m e n s i o n s o f t : % 1) The f i r s t ( row ) dimension r e p r e s e n t s c e l l number . % 2) The second ( column ) dimension r e p r e s e n t s time . % % H13TotalMax , H13TotalMin , and H 1 3 T o t a l H a l f L i f e may be s c a l a r s % or column v e c t o r s , and a r e assumed t o have t h e same % d i m e n s i o n s . I f t h e y a r e column v e c t o r s , t h e n t h e y s h o u l d have % t h e same number o f rows as t . % % This f u n c t i o n c a l c u l a t e s : % % % % I f t <= 0 H13Total= H13TotalMax Else H13Total= H13TotalMin + ( H13TotalMax − H13TotalMin ) ∗ exp(−... ln (2) ∗ t / H13TotalHalfLife ) % End 225 i f i s s c a l a r ( H13TotalMax ) H13Total= H13TotalMax∗ o n e s ( s i z e ( t ) ) ; % Pre−a l l o c a t e tMask= ( 0 < t ) ; H13Total ( tMask )= H13TotalMin + ( H13TotalMax − H13TotalMin ) ... ∗... exp(−log ( 2 ) ∗ t ( tMask ) / H 1 3 T o t a l H a l f L i f e ) ; else t S i z e= s i z e ( t ) ; i f t S i z e ( 2 ) > 1 % Match second dimension l e n g t h H13TotalMax= repmat ( H13TotalMax , 1 , t S i z e ( 2 ) ) ; H13TotalMin= repmat ( H13TotalMin , 1 , t S i z e ( 2 ) ) ; H 1 3 T o t a l H a l f L i f e= repmat ( H 1 3 T o t a l H a l f L i f e , 1 , t S i z e ( 2 ) ) ; end H13Total= H13TotalMax ; % Pre−a l l o c a t e tMask= ( 0 < t ) ; H13Total ( tMask )= H13TotalMin ( tMask ) + . . . ( H13TotalMax ( tMask ) − H13TotalMin ( tMask ) ) / 2 . ∗ . . . exp(−log ( 2 ) ∗ t ( tMask ) . / H 1 3 T o t a l H a l f L i f e ( tMask ) ) ; end end zeroCrossingEvent.m: This short routine, called internally by ddesd or dde23, ensures that computed solutions are non-negative. 226 function [ value , i s T e r m i n a l , d i r e c t i o n ]= z e r o C r o s s i n g E v e n t ( t , z , ... Z) % Stop i n t e g r a t i o n i f t h e r e i s a z e r o c r o s s i n g b e c a u s e ... solutions % s h o u l d be non−n e g a t i v e . Going n e g a t i v e => s o m e t h i n g i s wrong... . v a l u e= z ; % D e t e c t z e r o c r o s s i n g i n any component i s T e r m i n a l= o n e s ( s i z e ( z ) ) ; % Stop t h e i n t e g r a t i o n d i r e c t i o n= −o n e s ( s i z e ( z ) ) ; % N e g a t i v e d i r e c t i o n end Parameter Estimation Code parameterSamplerParallel.m: For parameter estimation and model selection purposes, this code runs multiple simulations using somitogenesisPCW.m at parameter combinations selected from a uniformly distributed parameter space. Matlab’s parfor loop structure is used to run simulations with different parameters in parallel on multiple processors, if they are available. function sample= p a r a m e t e r S a m p l e r P a r a l l e l ( argIn1 , v a r a r g i n ) % % Usage : % % sample= p a r a m e t e r S a m p l e r P a r a l l e l ( argIn1 , v a r a r g i n ) 227 % Compares one and two b i n d i n g s i t e s c e n a r i o s f o r a random ... sample % o f s e l e c t p a r a m e t e r s . L i n e a r t o t a l p r o t e i n decay v s . % d i f f e r e n t i a l decay i s chosen w i t h a b o o l e a n v a r i a b l e b e l o w . ... An % range from an e x i s t i n g parameter sample may be used by ... passing % t h e parameter sample s t r u c t i n a r g I n 1 and t h e f i r s t and l a s t % sample i n d i c e s t o use i n t h e second and t h i r d arguments , % r e s p e c t i v e l y . Otherwise , p a s s i n g a s i n g l e p o s i t i v e i n t e g e r i n % a r g I n 1 g e n e r a t e s a new parameter sample o f s i z e a r g I n 1 . % S i m u l a t i o n s f o r d i f f e r e n t s a m p l e s can run i n p a r a l l e l by use % of the parfor loop . parameterSamplerTic= t i c ; % Initialize timeStamp= d a t e s t r ( now , 3 0 ) ; H13TotalMaxSweepStepSize= 1 0 ; H13TotalMaxSweepLimit= 2 0 0 0 ; l i n e a r D e c a y B o o l= f a l s e ; % l i n e a r OR d i f f e r e n t i a l decay % Parameters o b j e c t t o b r o a d c a s t a c r o s s p a r f o r l o o p s paramsBroadcast= Params ( f a l s e ) ; % f a l s e => no parameter n o i s e paramsBroadcast . t i m e I n t e r v a l= [ 0 0 ] ; paramsBroadcast . s e t t l i n g T i m e= 5 0 0 ; paramsBroadcast . fastModeBool= t r u e ; % Parameter sample r a n g e s ( params i s a s t r u c t ) 228 params . rhoRange= [ 1 / 3 3 ] ; params . kH13H13LogRange= [ 1 3 ] ; params . kH7H7LogRange= [ 1 3 ] ; params . kH7H13LogRange= [ 1 3 ] ; params . tau h7Range= [ 2 . 3 8 . 1 ] ; params . tau H7Range= paramsBroadcast . tau H7Mean ; params . aH7Range= paramsBroadcast . aH7Mean ; params . bH7Range= [ 0 . 2 0 0 . 5 0 ] ; i f linearDecayBool params . bH7H7Range= params . bH7Range ; params . bH7H13Range= params . bH7Range ; else params . bH7H7Range= 0 ; params . bH7H13Range= 0 ; end params . rhoMean= params . rhoRange ( 1 ) ; params . gH7Range ( 2 )= paramsBroadcast . gH7Mean ; params . rhoMean= params . rhoRange ( 2 ) ; params . gH7Range ( 1 )= paramsBroadcast . gH7Mean ; params . rH7H7LogRange= [−2 0 ] ; params . wH7H7 H7H7LogRange= [ 0 2 ] ; params . dH7Range= paramsBroadcast . dH7Mean ; params . tau dRange= paramsBroadcast . tau dMean ; params . tau DRange= paramsBroadcast . tau DMean ; params . aDRange= paramsBroadcast . aDMean ; params . bDRange= paramsBroadcast . bDMean ; params . rhoMean= params . rhoRange ( 1 ) ; 229 params . gDRange ( 2 )= paramsBroadcast . gDMean ; params . rhoMean= params . rhoRange ( 2 ) ; params . gDRange ( 1 )= paramsBroadcast . gDMean ; params . rNLogRange= [−1 1 ] ; params . wNRange= paramsBroadcast . wNMean ; params . wN H7H7Range= paramsBroadcast . wN H7H7Mean ; params . wN H7H7 H7H7Range= paramsBroadcast . wN H7H7 H7H7Mean ; params . dDRange= paramsBroadcast . dDMean ; params . H13TotalMaxSweep= 0 : H13TotalMaxSweepStepSize : ... H13TotalMaxSweepLimit ; H13TotalMaxSweepLength= length ( params . H13TotalMaxSweep ) ; i f ˜ i s s t r u c t ( a r g I n 1 ) % Generate a random sample o f s i z e a r g I n 1 sample . s a m p l e S i z e= a r g I n 1 ; % Generate s a m p l i n g from uniform d i s t r i b u t i o n s [ params . rhoStream , params . kH13H13Stream , params . kH7H7Stream , ... params . kH7H13Stream , params . tau h7Stream , params . bH7Stream , ... params . rH7H7Stream , params . wH7H7 H7H7Stream]= RandStream . c r e a t e ( ... ’mrg32k3a ’ , ’NumStreams ’ , 8 , ’Seed ’ ,sum( 1 0 0 ∗ clock ) ) ; rhoSample= params . rhoRange ( 1 ) + ( params . rhoRange ( 2 ) − params... . rhoRange ( 1 ) ) ∗rand ( params . rhoStream , sample . s a m p l e S i z e , 1 ) ; kH13H13Sample= 1 0 . ˆ ( params . kH13H13LogRange ( 1 ) + ( params . ... kH13H13LogRange ( 2 ) − params . kH13H13LogRange ( 1 ) ) ∗rand ( params . ... kH13H13Stream , sample . s a m p l e S i z e , 1 ) ) ; kH7H7Sample= 1 0 . ˆ ( params . kH7H7LogRange ( 1 ) + ( params . ... kH7H7LogRange ( 2 ) − params . kH7H7LogRange ( 1 ) ) ∗rand ( params . ... kH7H7Stream , sample . s a m p l e S i z e , 1 ) ) ; 230 kH7H13Sample= 1 0 . ˆ ( params . kH7H13LogRange ( 1 ) + ( params . ... kH7H13LogRange ( 2 ) − params . kH7H13LogRange ( 1 ) ) ∗rand ( params . ... kH13H13Stream , sample . s a m p l e S i z e , 1 ) ) ; tau h7Sample= params . tau h7Range ( 1 ) + ( params . tau h7Range ( 2 ) ... − params . tau h7Range ( 1 ) ) ∗rand ( params . tau h7Stream , sample . ... sampleSize , 1) ; bH7Sample= params . bH7Range ( 1 ) + ( params . bH7Range ( 2 ) − params... . bH7Range ( 1 ) ) ∗rand ( params . bH7Stream , sample . s a m p l e S i z e , 1 ) ; rH7H7Sample= 1 0 . ˆ ( params . rH7H7LogRange ( 1 ) + ( params . ... rH7H7LogRange ( 2 ) − params . rH7H7LogRange ( 1 ) ) ∗rand ( params . ... rH7H7Stream , sample . s a m p l e S i z e , 1 ) ) ; wH7H7 H7H7Sample= 1 0 . ˆ ( params . wH7H7 H7H7LogRange ( 1 ) + ( ... params . wH7H7 H7H7LogRange ( 2 ) − params . wH7H7 H7H7LogRange ( 1 ) ) ∗... rand ( params . wH7H7 H7H7Stream , sample . s a m p l e S i z e , 1 ) ) ; rNSample= params . rH7H7Sample / 1 0 ; e l s e % Use g i v e n sample paramsIn= a r g I n 1 ; i f nargin == 3 s t a r t I n d e x= v a r a r g i n { 1 } ; endIndex= v a r a r g i n { 2 } ; sample . s a m p l e S i z e= length ( s t a r t I n d e x : endIndex ) ; else sample . s a m p l e S i z e= length ( paramsIn . rho ) ; s t a r t I n d e x= 1 ; endIndex= sample . s a m p l e S i z e ; end 231 % Generate s a m p l i n g from e x i s t i n g sample , WIP: M i g r a t e t o ... Streams rhoSample= paramsIn . rho ( s t a r t I n d e x : endIndex ) ; kH13H13Sample= paramsIn . kH13H13 ( s t a r t I n d e x : endIndex ) ; kH7H7Sample= paramsIn . kH7H7 ( s t a r t I n d e x : endIndex ) ; kH7H13Sample= paramsIn . kH7H13 ( s t a r t I n d e x : endIndex ) ; tau h7Sample= paramsIn . t a u h 7 ( s t a r t I n d e x : endIndex ) ; bH7Sample= paramsIn . bH7 ( s t a r t I n d e x : endIndex ) ; rH7H7Sample= paramsIn . rH7H7 ( s t a r t I n d e x : endIndex ) ; wH7H7 H7H7Sample= paramsIn . wH7H7 H7H7( s t a r t I n d e x : endIndex ) ; rNSample= rH7H7Sample / 1 0 ; end % Initialize o n e S i t e P r o b l e m P o i n t s= [ ] ; oneSiteH13TotalMaxSweepLimitPoints= [ ] ; t w o S i t e P r o b l e m P o i n t s= [ ] ; twoSiteH13TotalMaxSweepLimitPoints= [ ] ; o n e S i t e P e r i o d s= zeros ( [ paramsBroadcast . numEquations ... H13TotalMaxSweepLength sample . s a m p l e S i z e ] ) ; o n e S i t e M e d i a n s= o n e S i t e P e r i o d s ; o n e S i t e A m p l i t u d e s= o n e S i t e P e r i o d s ; t w o S i t e P e r i o d s= o n e S i t e P e r i o d s ; twoSiteMedians= o n e S i t e P e r i o d s ; t w o S i t e A m p l i t u d e s= o n e S i t e P e r i o d s ; % Run s i m u l a t i o n f o r parameter sample , f o r b o t h one & two 232 % b i n d i n g s i t e s ; p a r f o r l o o p s can e x e c u t e i n p a r a l l e l and i n % any o r d e r . p a r f o r sampleCtr= 1 : sample . s a m p l e S i z e paramsLocal= paramsBroadcast ; % I n i t i a l i z e f o r 1 or 2 b i n d i n g s i t e s paramsLocal . rhoMean= rhoSample ( sampleCtr ) ; paramsLocal . kH13H13Mean= kH13H13Sample ( sampleCtr ) ; paramsLocal . kH7H7Mean= kH7H7Sample ( sampleCtr ) ; paramsLocal . kH7H13Mean= kH7H13Sample ( sampleCtr ) ; paramsLocal . tau h7Mean= tau h7Sample ( sampleCtr ) ; paramsLocal . bH7Mean= bH7Sample ( sampleCtr ) ; i f linearDecayBool paramsLocal . bH7H7Mean= paramsLocal . bH7Mean ; paramsLocal . bH7H13Mean= paramsLocal . bH7Mean ; else paramsLocal . bH7H7Mean= 0 ; paramsLocal . bH7H13Mean= 0 ; end paramsLocal . rH7H7Mean= rH7H7Sample ( sampleCtr ) ; paramsLocal . wH7H7 H7H7Mean= wH7H7 H7H7Sample ( sampleCtr ) ; paramsLocal . rNMean= rNSample ( sampleCtr ) ; % One b i n d i n g −s i t e paramsLocal . numBindingSites= 1 ; [ o n e S i t e P e r i o d s ( : , : , sampleCtr ) , o n e S i t e M e d i a n s ( : , : , sampleCtr... ) , o n e S i t e A m p l i t u d e s ( : , : , sampleCtr ) , nanFlag , s w e e p L i m i t F l a g ]= ... sweepH13TotalMax ( paramsLocal , params . H13TotalMaxSweep ) ; 233 i f nanFlag o n e S i t e P r o b l e m P o i n t s= [ o n e S i t e P r o b l e m P o i n t s sampleCtr ] ; e l s e i f s w e e p L i m i t F l ag oneSiteH13TotalMaxSweepLimitPoints= [ ... oneSiteH13TotalMaxSweepLimitPoints sampleCtr ] ; end % Two b i n d i n g −s i t e s paramsLocal . numBindingSites= 2 ; [ t w o S i t e P e r i o d s ( : , : , sampleCtr ) , twoSiteMedians ( : , : , sampleCtr... ) , t w o S i t e A m p l i t u d e s ( : , : , sampleCtr ) , nanFlag , s w e e p L i m i t Fl a g ]= ... sweepH13TotalMax ( paramsLocal , params . H13TotalMaxSweep ) ; i f nanFlag t w o S i t e P r o b l e m P o i n t s= [ t w o S i t e P r o b l e m P o i n t s sampleCtr ] ; e l s e i f s w e e p L i m i t F l ag twoSiteH13TotalMaxSweepLimitPoints= [ ... twoSiteH13TotalMaxSweepLimitPoints sampleCtr ] ; end end params . rhoSample= rhoSample ; params . kH13H13Sample= kH13H13Sample ; params . kH7H7Sample= kH7H7Sample ; params . kH7H13Sample= kH7H13Sample ; params . tau h7Sample= tau h7Sample ; params . bH7Sample= bH7Sample ; params . rH7H7Sample= rH7H7Sample ; 234 params . wH7H7 H7H7Sample= wH7H7 H7H7Sample ; params . rNSample= rNSample ; sample . params= params ; sample . o n e S i t e . p e r i o d s=o n e S i t e P e r i o d s ; sample . o n e S i t e . medians= o n e S i t e M e d i a n s ; sample . o n e S i t e . a m p l i t u d e s= o n e S i t e A m p l i t u d e s ; sample . o n e S i t e . p r o b l e m P o i n t s= o n e S i t e P r o b l e m P o i n t s ; sample . o n e S i t e . H13TotalMaxSweepLimitPoints= ... oneSiteH13TotalMaxSweepLimitPoints ; sample . t w o S i t e . p e r i o d s= t w o S i t e P e r i o d s ; sample . t w o S i t e . medians= twoSiteMedians ; sample . t w o S i t e . a m p l i t u d e s= t w o S i t e A m p l i t u d e s ; sample . t w o S i t e . p r o b l e m P o i n t s= t w o S i t e P r o b l e m P o i n t s ; sample . t w o S i t e . H13TotalMaxSweepLimitPoints= ... twoSiteH13TotalMaxSweepLimitPoints ; toc ( parameterSamplerTic ) % Save sample t o a f i l e w i t h a time−stamp [ s u c c e s s , message , messageID ]= mkdir ( ’datasets ’ ) ; if success save ( [ ’datasets ’ f i l e s e p ’parameterSample_ ’ timeStamp ’_’ ... num2str ( s t a r t I n d e x ) ’to ’ num2str ( endIndex ) ] , ’sample ’ ) ; else disp ( ’WARNING : Failed to save the dataset to disk.’ ) ; end 235 % Warn a b o u t problem p o i n t s i f ˜ ( isempty ( sample . o n e S i t e . p r o b l e m P o i n t s ) && isempty ( sample . ... twoSite . problemPoints ) ) disp ( ’WARNING : There are problem points !’ ) ; end end parameterStatistics.m: This code statistically analyzes parameter sampling results for modeling scenarios I–IV using outputs from parameterSamplerParallel.m. The results of these analyses enable model selection. function p a r a m e t e r S t a t i s t i c s ( n o n l i n e a r S a m p l e , l i n e a r S a m p l e ) % Usage : % p a r a m e t e r S t a t i s t i c s ( nonlinearSample , linearSample ) % % This f u n c t i o n d o e s a c o m p a r a t i v e s t a t i s t i c a l a n a l y s i s on model % s c e n a r i o s I−IV . Each o f t h e two i n p u t d a t a s e t s , % n o n l i n e a r S a m p l e and l i n e a r S a m p l e , i n c l u d e s one and two % b i n d i n g s i t e d a t a . n o n l i n e a r S a m p l e and l i n e a r S a m p l e a r e % r e q u i r e d t o have t h e same dimension d a t a s e t s . disp ( ’ ’ ) ; i f ˜isempty ( n o n l i n e a r S a m p l e . o n e S i t e . p r o b l e m P o i n t s ) | | ˜isempty... ( n o n l i n e a r S a m p l e . t w o S i t e . p r o b l e m P o i n t s ) | | ˜isempty ( l i n e a r S a m p l e ... 236 . o n e S i t e . p r o b l e m P o i n t s ) | | ˜isempty ( l i n e a r S a m p l e . t w o S i t e . ... problemPoints ) disp ( ’WARNING : There are problem points !’ ) ; disp ( ’ ’ ) ; end amplitudeThresh= 5 ; % R e q u i r e a t l e a s t t h i s peak−to−peak ... a m p l i t u d e o f mRNA & p r o t e i n m o l e c u l e s p e r i o d T o l= 0 . 0 1 ; % R e q u i r e t h a t mRNA & p r o t e i n o s c i l l a t i o n ... periods agree to within t h i s t a r g e t P e r i o d= 3 0 ; % D e s i r e d p e r i o d o f o s c i l l a t i o n d e l t a P e r i o d= 3 ; % A l l o w a b l e +/− range i n o s c i l l a t i o n p e r i o d t a r g e t D e l t a= 1 5 ; % F i l t e r o u t c h a n g e s i n p e r i o d l e s s than t h i s [ numEquations numSweeps numSamples]= s i z e ( n o n l i n e a r S a m p l e . ... oneSite . amplitudes ) ; % One b i n d i n g s i t e , n o n l i n e a r decay disp ( ’MODEL I, 1 binding site , nonlinear decay :’ ) ; i f ˜isempty ( n o n l i n e a r S a m p l e . o n e S i t e . ... H13TotalMaxSweepLimitPoints ) disp ( ’ Notice : H13TotalMax sweep limit reached .’ ) ; end % P e r i o d mask periodMeans1n= mean( n o n l i n e a r S a m p l e . o n e S i t e . p e r i o d s , 1 ) ; f u l l P e r i o d M e a n s 1 n = repmat ( periodMeans1n , [ numEquations , 1 , ... 1]) ; 237 periodMeans1n= s q u e e z e ( periodMeans1n ) ’ ; periodMask1n= zeros ( s i z e ( f u l l P e r i o d M e a n s 1 n ) ) ; periodMask1n ( f u l l P e r i o d M e a n s 1 n ˜= 0 )= abs ( ( n o n l i n e a r S a m p l e . ... o n e S i t e . p e r i o d s ( f u l l P e r i o d M e a n s 1 n ˜= 0 ) − f u l l P e r i o d M e a n s 1 n ( ... f u l l P e r i o d M e a n s 1 n ˜= 0 ) ) . / f u l l P e r i o d M e a n s 1 n ( f u l l P e r i o d M e a n s 1 n ˜=... 0) ) < periodTol ; periodMask1n ( f u l l P e r i o d M e a n s 1 n == 0 )= abs ( n o n l i n e a r S a m p l e . ... o n e S i t e . p e r i o d s ( f u l l P e r i o d M e a n s 1 n == 0 ) ) < p e r i o d T o l ; periodMask1n= s q u e e z e ( a l l ( periodMask1n , 1 ) ) ’ ; clear fullPeriodMeans1n % Amplitude mask amplitudeMask1n= s q u e e z e ( a l l ( amplitudeThresh <=n o n l i n e a r S a m p l e ... . oneSite . amplitudes , 1) ) ’ ; % Combine masks and f i n d o s c i l l a t i n g p r o p o r t i o n fullOscMask1n= periodMask1n & amplitudeMask1n ; oscMask1n= any ( fullOscMask1n , 2 ) ; o s c I n d i c e s 1 n= find ( oscMask1n ) ; oscProp1n= length ( o s c I n d i c e s 1 n ) /numSamples ; disp ( [ ’Oscillating proportion : ’ num2str ( length ( o s c I n d i c e s 1 n ) ... ) ’/’ num2str ( numSamples ) ’= ’ num2str ( oscProp1n ) ] ) ; [ maxArray1n , maxIndices1n ]= max( fullOscMask1n . ∗ periodMeans1n , ... [ ] , 2) ; globalMax1n= max( maxArray1n ) ; minArray1n= zeros ( numSamples , 1 ) ; m i n I n d i c e s 1 n= o n e s ( numSamples , 1 ) ; fo r k= 1 : numSamples 238 % I g n o r e z e r o p e r i o d s ; p o s i t i v e I n d i c e s v e c t o r s h o u l d c o n s i s t ... o f 0 or more ones f o l l o w e d by 0 or more z e r o s p o s i t i v e I n d i c e s= fullOscMask1n ( k , : ) > 0 ; i f any ( p o s i t i v e I n d i c e s ) [ minArray1n ( k ) , m i n I n d i c e s 1 n ( k ) ]= min( periodMeans1n ( k , ... positiveIndices ) ) ; end end globalMin1n= min( minArray1n ( 0 < minArray1n ) ) ; i f isempty ( globalMin1n ) disp ( ’No period range .’ ) ; else disp ( [ ’Nontrivial period range : [’ num2str ( globalMin1n ) ’,... ’ num2str ( globalMax1n ) ’]’ ] ) ; end [ deltaMax1n , deltaMaxIndex1n ]= max( maxArray1n − minArray1n ) ; i f ˜isempty ( o s c I n d i c e s 1 n ) disp ( [ ’Maximum Delta T: [’ num2str ( minArray1n ( ... deltaMaxIndex1n ) ) ’, ’ num2str ( maxArray1n ( deltaMaxIndex1n ) ) ’],... Delta T= ’ num2str ( deltaMax1n ) ’, k= ’ num2str ( deltaMaxIndex1n ) ... ’, j= [’ num2str ( m i n I n d i c e s 1 n ( deltaMaxIndex1n ) ) ’,’ num2str ( ... maxIndices1n ( deltaMaxIndex1n ) ) ’]’ ] ) ; else disp ( ’Maximum Delta T: NaN ’ ) ; end 239 % Analyze s u b s e t o f d a t a w i t h t a i l b u d p e r i o d i n d e s i r e d range % Uses IVT which assumes p e r i o d i s a c t s . f n . o f H13TotalMax periodOscMask1n= ( minArray1n <= t a r g e t P e r i o d + d e l t a P e r i o d ) & ... ( t a r g e t P e r i o d − d e l t a P e r i o d <= maxArray1n ) ; p e r i o d O s c I n d i c e s 1 n= find ( periodOscMask1n ) ; periodOscProp1n= length ( p e r i o d O s c I n d i c e s 1 n ) /numSamples ; disp ( [ num2str ( t a r g e t P e r i o d ) ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ ... min period oscillating proportion : ’ num2str ( length ( ... p e r i o d O s c I n d i c e s 1 n ) ) ’/’ num2str ( numSamples ) ’= ’ num2str ( ... periodOscProp1n ) ] ) ; periodMaxArray1n= periodOscMask1n . ∗ maxArray1n ; p e r i o d M a x I n d i c e s 1 n= maxIndices1n ; p e r i o d M a x I n d i c e s 1 n ( periodOscMask1n == 0 )= 1 ; periodMinArray1n= periodOscMask1n . ∗ minArray1n ; p e r i o d M i n I n d i c e s 1 n= m i n I n d i c e s 1 n ; p e r i o d M i n I n d i c e s 1 n ( periodOscMask1n == 0 )= 1 ; p e r i o d D e l t a A r r a y 1 n= periodMaxArray1n − periodMinArray1n ; [ periodDeltaMax1n , periodDeltaMaxIndex1n ]= max( ... periodDeltaArray1n ) ; i f ˜isempty ( p e r i o d O s c I n d i c e s 1 n ) disp ( [ ’Maximum Delta T containing ’ num2str ( t a r g e t P e r i o d ) ... ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ : [’ num2str ( periodMinArray1n ( ... periodDeltaMaxIndex1n ) ) ’, ’ num2str ( periodMaxArray1n ( ... periodDeltaMaxIndex1n ) ) ’], Delta T= ’ num2str ( periodDeltaMax1n ) ... ’, k= ’ num2str ( periodDeltaMaxIndex1n ) ’, j= [’ num2str ( ... 240 p e r i o d M i n I n d i c e s 1 n ( periodDeltaMaxIndex1n ) ) ’,’ num2str ( ... p e r i o d M a x I n d i c e s 1 n ( periodDeltaMaxIndex1n ) ) ’] @’ 10 ’ rho= ’ ... num2str ( n o n l i n e a r S a m p l e . params . rhoSample ( periodDeltaMaxIndex1n ) ) ... ’, kH13H13 = ’ num2str ( n o n l i n e a r S a m p l e . params . kH13H13Sample ( ... periodDeltaMaxIndex1n ) ) ’, kH7H7 = ’ num2str ( n o n l i n e a r S a m p l e . ... params . kH7H7Sample ( periodDeltaMaxIndex1n ) ) ’, kH7H13 = ’ num2str ( ... n o n l i n e a r S a m p l e . params . kH7H13Sample ( periodDeltaMaxIndex1n ) ) ’, ... tau_h7 = ’ num2str ( n o n l i n e a r S a m p l e . params . tau h7Sample ( ... periodDeltaMaxIndex1n ) ) ’, bH7= ’ num2str ( n o n l i n e a r S a m p l e . params... . bH7Sample ( periodDeltaMaxIndex1n ) ) ’, rH7H7 = ’ num2str ( ... n o n l i n e a r S a m p l e . params . rH7H7Sample ( periodDeltaMaxIndex1n ) ) ’, ... wH7H7_H7H7 = ’ num2str ( n o n l i n e a r S a m p l e . params . wH7H7 H7H7Sample ( ... periodDeltaMaxIndex1n ) ) ’, rN= ’ num2str ( n o n l i n e a r S a m p l e . params . ... rNSample ( periodDeltaMaxIndex1n ) ) ] ) ; else disp ( [ ’Maximum Delta T containing ’ num2str ( t a r g e t P e r i o d ) ... ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ : NaN ’ ] ) ; end periodDeltaCountFuncH1n= @( deltaTMin ) nnz ( deltaTMin <= ... periodDeltaArray1n ( periodOscIndices1n ) ) ; disp ( [ num2str ( t a r g e t P e r i o d ) ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ ... min period oscillating proportion with Delta T >= ’ num2str ( ... t a r g e t D e l t a ) ’: ’ num2str ( periodDeltaCountFuncH1n ( t a r g e t D e l t a ) ) ... ’/’ num2str ( numSamples ) ’= ’ num2str ( periodDeltaCountFuncH1n ( ... t a r g e t D e l t a ) /numSamples ) ] ) ; 241 disp ( ’ ’ ) ; % One b i n d i n g s i t e , l i n e a r decay disp ( ’MODEL II , 1 binding site , linear decay :’ ) ; i f ˜isempty ( l i n e a r S a m p l e . o n e S i t e . H13TotalMaxSweepLimitPoints ) disp ( ’ Notice : H13TotalMax sweep limit reached .’ ) ; end % P e r i o d mask p e r i o d M e a n s 1 l= mean( l i n e a r S a m p l e . o n e S i t e . p e r i o d s , 1 ) ; f u l l P e r i o d M e a n s 1 l= repmat ( periodMe ans 1l , [ numEquations , 1 , 1 ] ) ... ; p e r i o d M e a n s 1 l= s q u e e z e ( p e r i o d M e a n s 1 l ) ’ ; p e r i o d M a s k 1 l= zeros ( s i z e ( f u l l P e r i o d M e a n s 1 l ) ) ; p e r i o d M a s k 1 l ( f u l l P e r i o d M e a n s 1 l ˜= 0 )= abs ( ( l i n e a r S a m p l e . ... o n e S i t e . p e r i o d s ( f u l l P e r i o d M e a n s 1 l ˜= 0 ) − f u l l P e r i o d M e a n s 1 l ( ... f u l l P e r i o d M e a n s 1 l ˜= 0 ) ) . / f u l l P e r i o d M e a n s 1 l ( f u l l P e r i o d M e a n s 1 l ˜=... 0) ) < periodTol ; p e r i o d M a s k 1 l ( f u l l P e r i o d M e a n s 1 l == 0 )= abs ( l i n e a r S a m p l e . o n e S i t e ... . p e r i o d s ( f u l l P e r i o d M e a n s 1 l == 0 ) ) < p e r i o d T o l ; p e r i o d M a s k 1 l= s q u e e z e ( a l l ( periodMask1l , 1 ) ) ’ ; clear fullPeriodMeans1l % Amplitude mask amplitudeMask1l= s q u e e z e ( a l l ( amplitudeThresh <= l i n e a r S a m p l e . ... oneSite . amplitudes , 1) ) ’ ; % Combine masks and f i n d o s c i l l a t i n g p r o p o r t i o n f u l l O s c M a s k 1 l= p e r i o d M a s k 1 l & amplitudeMask1l ; 242 oscMask1l= any ( f u l l O s c M a s k 1 l , 2 ) ; o s c I n d i c e s 1 l= find ( oscMask1l ) ; o s c P r o p 1 l= length ( o s c I n d i c e s 1 l ) /numSamples ; disp ( [ ’Oscillating proportion : ’ num2str ( length ( o s c I n d i c e s 1 l ... ) ) ’/’ num2str ( numSamples ) ’= ’ num2str ( o s c P r o p 1 l ) ] ) ; [ maxArray1l , m a x I n d i c e s 1 l ]= max( f u l l O s c M a s k 1 l . ∗ periodMe ans 1l , ... [ ] , 2) ; g l o b a l M a x 1 l= max( maxArray1l ) ; minArray1l= zeros ( numSamples , 1 ) ; m i n I n d i c e s 1 l= o n e s ( numSamples , 1 ) ; fo r k= 1 : numSamples p o s i t i v e I n d i c e s= f u l l O s c M a s k 1 l ( k , : ) > 0 ; i f any ( p o s i t i v e I n d i c e s ) [ minArray1l ( k ) , m i n I n d i c e s 1 l ( k ) ]= min( p e r i o d M e a n s 1 l ( k , ... positiveIndices ) ) ; end end g l o b a l M i n 1 l= min( minArray1l ( 0 < minArray1l ) ) ; i f isempty ( g l o b a l M i n 1 l ) disp ( ’No period range .’ ) ; else disp ( [ ’Nontrivial period range : [’ num2str ( g l o b a l M i n 1 l ) ’,... ’ num2str ( g l o b a l M a x 1 l ) ’]’ ] ) ; end [ deltaMax1l , d e l t a M a x I n d e x 1 l ]= max( maxArray1l − minArray1l ) ; 243 i f ˜isempty ( o s c I n d i c e s 1 l ) disp ( [ ’Maximum Delta T: [’ num2str ( minArray1l ( ... d e l t a M a x I n d e x 1 l ) ) ’, ’ num2str ( maxArray1l ( d e l t a M a x I n d e x 1 l ) ) ’],... Delta T= ’ num2str ( d e l t a M a x 1 l ) ’, k= ’ num2str ( d e l t a M a x I n d e x 1 l ) ... ’, j= [’ num2str ( m i n I n d i c e s 1 l ( d e l t a M a x I n d e x 1 l ) ) ’,’ num2str ( ... m a x I n d i c e s 1 l ( d e l t a M a x I n d e x 1 l ) ) ’]’ ] ) ; else disp ( ’Maximum Delta T: NaN ’ ) ; end periodOscMask1l= ( minArray1l <= t a r g e t P e r i o d + d e l t a P e r i o d ) & ... ( t a r g e t P e r i o d − d e l t a P e r i o d <= maxArray1l ) ; p e r i o d O s c I n d i c e s 1 l= find ( periodOscMask1l ) ; p e r i o d O s c P r o p 1 l= length ( p e r i o d O s c I n d i c e s 1 l ) /numSamples ; disp ( [ num2str ( t a r g e t P e r i o d ) ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ ... min period oscillating proportion : ’ num2str ( length ( ... p e r i o d O s c I n d i c e s 1 l ) ) ’/’ num2str ( numSamples ) ’= ’ num2str ( ... periodOscProp1l ) ] ) ; periodMaxArray1l= periodOscMask1l . ∗ maxArray1l ; p e r i o d M a x I n d i c e s 1 l= m a x I n d i c e s 1 l ; p e r i o d M a x I n d i c e s 1 l ( periodOscMask1l == 0 )= 1 ; p e r i o d M i n A r r a y 1 l= periodOscMask1l . ∗ minArray1l ; p e r i o d M i n I n d i c e s 1 l= m i n I n d i c e s 1 l ; p e r i o d M i n I n d i c e s 1 l ( periodOscMask1l == 0 )= 1 ; p e r i o d D e l t a A r r a y 1 l= periodMaxArray1l − p e r i o d M i n A r r a y 1 l ; 244 [ pe riodDe ltaMax1l , p e r i o d D e l t a M a x I n d e x 1 l ]= max( ... periodDeltaArray1l ) ; i f ˜isempty ( p e r i o d O s c I n d i c e s 1 l ) disp ( [ ’Maximum Delta T containing ’ num2str ( t a r g e t P e r i o d ) ... ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ : [’ num2str ( p e r i o d M i n A r r a y 1 l ( ... p e r i o d D e l t a M a x I n d e x 1 l ) ) ’, ’ num2str ( periodMaxArray1l ( ... p e r i o d D e l t a M a x I n d e x 1 l ) ) ’], Delta T= ’ num2str ( p e r i o d D e l t a M a x 1 l ) ... ’, k= ’ num2str ( p e r i o d D e l t a M a x I n d e x 1 l ) ’, j= [’ num2str ( ... p e r i o d M i n I n d i c e s 1 l ( p e r i o d D e l t a M a x I n d e x 1 l ) ) ’,’ num2str ( ... p e r i o d M a x I n d i c e s 1 l ( p e r i o d D e l t a M a x I n d e x 1 l ) ) ’] @’ 10 ’ rho= ’ ... num2str ( l i n e a r S a m p l e . params . rhoSample ( p e r i o d D e l t a M a x I n d e x 1 l ) ) ’... , kH13H13 = ’ num2str ( l i n e a r S a m p l e . params . kH13H13Sample ( ... p e r i o d D e l t a M a x I n d e x 1 l ) ) ’, kH7H7 = ’ num2str ( l i n e a r S a m p l e . params . ... kH7H7Sample ( p e r i o d D e l t a M a x I n d e x 1 l ) ) ’, kH7H13 = ’ num2str ( ... l i n e a r S a m p l e . params . kH7H13Sample ( p e r i o d D e l t a M a x I n d e x 1 l ) ) ’, ... tau_h7 = ’ num2str ( l i n e a r S a m p l e . params . tau h7Sample ( ... p e r i o d D e l t a M a x I n d e x 1 l ) ) ’, bH7= ’ num2str ( l i n e a r S a m p l e . params . ... bH7Sample ( p e r i o d D e l t a M a x I n d e x 1 l ) ) ’, rH7H7 = ’ num2str ( ... l i n e a r S a m p l e . params . rH7H7Sample ( p e r i o d D e l t a M a x I n d e x 1 l ) ) ’, ... wH7H7_H7H7 = ’ num2str ( l i n e a r S a m p l e . params . wH7H7 H7H7Sample ( ... p e r i o d D e l t a M a x I n d e x 1 l ) ) ’, rN= ’ num2str ( l i n e a r S a m p l e . params . ... rNSample ( p e r i o d D e l t a M a x I n d e x 1 l ) ) ] ) ; else disp ( [ ’Maximum Delta T containing ’ num2str ( t a r g e t P e r i o d ) ... ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ : NaN ’ ] ) ; end 245 periodDeltaCountFuncH1l= @( deltaTMin ) nnz ( deltaTMin <= ... periodDeltaArray1l ( periodOscIndices1l ) ) ; disp ( [ num2str ( t a r g e t P e r i o d ) ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ ... min period oscillating proportion with Delta T >= ’ num2str ( ... t a r g e t D e l t a ) ’: ’ num2str ( periodDeltaCountFuncH1l ( t a r g e t D e l t a ) ) ... ’/’ num2str ( numSamples ) ’= ’ num2str ( periodDeltaCountFuncH1l ( ... t a r g e t D e l t a ) /numSamples ) ] ) ; disp ( ’ ’ ) ; % Two b i n d i n g s i t e s , n o n l i n e a r decay disp ( ’MODEL III , 2 binding sites , nonlinear decay :’ ) ; i f ˜isempty ( n o n l i n e a r S a m p l e . t w o S i t e . ... H13TotalMaxSweepLimitPoints ) disp ( ’ Notice : H13TotalMax sweep limit reached .’ ) ; end % P e r i o d mask periodMeans2n= mean( n o n l i n e a r S a m p l e . t w o S i t e . p e r i o d s , 1 ) ; f u l l P e r i o d M e a n s 2 n = repmat ( periodMeans2n , [ numEquations , 1 , ... 1]) ; periodMeans2n= s q u e e z e ( periodMeans2n ) ’ ; periodMask2n= zeros ( s i z e ( f u l l P e r i o d M e a n s 2 n ) ) ; periodMask2n ( f u l l P e r i o d M e a n s 2 n ˜= 0 )= abs ( ( n o n l i n e a r S a m p l e . ... t w o S i t e . p e r i o d s ( f u l l P e r i o d M e a n s 2 n ˜= 0 ) − f u l l P e r i o d M e a n s 2 n ( ... 246 f u l l P e r i o d M e a n s 2 n ˜= 0 ) ) . / f u l l P e r i o d M e a n s 2 n ( f u l l P e r i o d M e a n s 2 n ˜=... 0) ) < periodTol ; periodMask2n ( f u l l P e r i o d M e a n s 2 n == 0 )= abs ( n o n l i n e a r S a m p l e . ... t w o S i t e . p e r i o d s ( f u l l P e r i o d M e a n s 2 n == 0 ) ) < p e r i o d T o l ; periodMask2n= s q u e e z e ( a l l ( periodMask2n , 1 ) ) ’ ; clear fullPeriodMeans2n ; % Amplitude mask amplitudeMask2n= s q u e e z e ( a l l ( amplitudeThresh <= ... nonlinearSample . twoSite . amplitudes , 1) ) ’ ; % Combine masks and f i n d o s c i l l a t i n g p r o p o r t i o n fullOscMask2n= periodMask2n & amplitudeMask2n ; oscMask2n= any ( fullOscMask2n , 2 ) ; o s c I n d i c e s 2 n= find ( oscMask2n ) ; oscProp2n= length ( o s c I n d i c e s 2 n ) /numSamples ; disp ( [ ’Oscillating proportion : ’ num2str ( length ( o s c I n d i c e s 2 n ... ) ) ’/’ num2str ( numSamples ) ’= ’ num2str ( oscProp2n ) ] ) ; [ maxArray2n , maxIndices2n ]= max( fullOscMask2n . ∗ periodMeans2n , ... [ ] , 2) ; globalMax2n= max( maxArray2n ) ; minArray2n= zeros ( numSamples , 1 ) ; m i n I n d i c e s 2 n= o n e s ( numSamples , 1 ) ; fo r k= 1 : numSamples p o s i t i v e I n d i c e s= fullOscMask2n ( k , : ) > 0 ; i f any ( p o s i t i v e I n d i c e s ) [ minArray2n ( k ) , m i n I n d i c e s 2 n ( k ) ]= min( periodMeans2n ( k , ... positiveIndices ) ) ; 247 end end globalMin2n= min( minArray2n ( 0 < minArray2n ) ) ; i f isempty ( globalMin2n ) disp ( ’No period range .’ ) ; else disp ( [ ’Nontrivial period range : [’ num2str ( globalMin2n ) ’,... ’ num2str ( globalMax2n ) ’]’ ] ) ; end [ deltaMax2n , deltaMaxIndex2n ]= max( maxArray2n − minArray2n ) ; i f ˜isempty ( o s c I n d i c e s 2 n ) disp ( [ ’Maximum Delta T: [’ num2str ( minArray2n ( ... deltaMaxIndex2n ) ) ’, ’ num2str ( maxArray2n ( deltaMaxIndex2n ) ) ’],... Delta T= ’ num2str ( deltaMax2n ) ’, k= ’ num2str ( deltaMaxIndex2n ) ... ’, j= [’ num2str ( m i n I n d i c e s 2 n ( deltaMaxIndex2n ) ) ’, ’ num2str ( ... maxIndices2n ( deltaMaxIndex2n ) ) ’]’ ] ) ; else disp ( ’Maximum Delta T: NaN ’ ) ; end periodOscMask2n= ( minArray2n <= t a r g e t P e r i o d + d e l t a P e r i o d ) & ... ( t a r g e t P e r i o d − d e l t a P e r i o d <= maxArray2n ) ; p e r i o d O s c I n d i c e s 2 n= find ( periodOscMask2n ) ; periodOscProp2n= length ( p e r i o d O s c I n d i c e s 2 n ) /numSamples ; disp ( [ num2str ( t a r g e t P e r i o d ) ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ ... min period oscillating proportion : ’ num2str ( length ( ... 248 p e r i o d O s c I n d i c e s 2 n ) ) ’/’ num2str ( numSamples ) ’= ’ num2str ( ... periodOscProp2n ) ] ) ; periodMaxArray2n= periodOscMask2n . ∗ maxArray2n ; p e r i o d M a x I n d i c e s 2 n= maxIndices2n ; p e r i o d M a x I n d i c e s 2 n ( periodOscMask2n == 0 )= 1 ; periodMinArray2n= periodOscMask2n . ∗ minArray2n ; p e r i o d M i n I n d i c e s 2 n= m i n I n d i c e s 2 n ; p e r i o d M i n I n d i c e s 2 n ( periodOscMask2n == 0 )= 1 ; p e r i o d D e l t a A r r a y 2 n= periodMaxArray2n − periodMinArray2n ; [ periodDeltaMax2n , periodDeltaMaxIndex2n ]= max( ... periodDeltaArray2n ) ; i f ˜isempty ( p e r i o d O s c I n d i c e s 2 n ) disp ( [ ’Maximum Delta T containing ’ num2str ( t a r g e t P e r i o d ) ... ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ : [’ num2str ( periodMinArray2n ( ... periodDeltaMaxIndex2n ) ) ’, ’ num2str ( periodMaxArray2n ( ... periodDeltaMaxIndex2n ) ) ’], Delta T= ’ num2str ( periodDeltaMax2n ) ... ’, k= ’ num2str ( periodDeltaMaxIndex2n ) ’, j= [’ num2str ( ... p e r i o d M i n I n d i c e s 2 n ( periodDeltaMaxIndex2n ) ) ’,’ num2str ( ... p e r i o d M a x I n d i c e s 2 n ( periodDeltaMaxIndex2n ) ) ’] @’ 10 ’ rho= ’ ... num2str ( n o n l i n e a r S a m p l e . params . rhoSample ( periodDeltaMaxIndex2n ) ) ... ’, kH13H13 = ’ num2str ( n o n l i n e a r S a m p l e . params . kH13H13Sample ( ... periodDeltaMaxIndex2n ) ) ’, kH7H7 = ’ num2str ( n o n l i n e a r S a m p l e . ... params . kH7H7Sample ( periodDeltaMaxIndex2n ) ) ’, kH7H13 = ’ num2str ( ... n o n l i n e a r S a m p l e . params . kH7H13Sample ( periodDeltaMaxIndex2n ) ) ’, ... tau_h7 = ’ num2str ( n o n l i n e a r S a m p l e . params . tau h7Sample ( ... 249 periodDeltaMaxIndex2n ) ) ’, bH7= ’ num2str ( n o n l i n e a r S a m p l e . params... . bH7Sample ( periodDeltaMaxIndex2n ) ) ’, rH7H7 = ’ num2str ( ... n o n l i n e a r S a m p l e . params . rH7H7Sample ( periodDeltaMaxIndex2n ) ) ’, ... wH7H7_H7H7 = ’ num2str ( n o n l i n e a r S a m p l e . params . wH7H7 H7H7Sample ( ... periodDeltaMaxIndex2n ) ) ’, rN= ’ num2str ( n o n l i n e a r S a m p l e . params . ... rNSample ( periodDeltaMaxIndex2n ) ) ] ) ; else disp ( [ ’Maximum Delta T containing ’ num2str ( t a r g e t P e r i o d ) ... ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ : NaN ’ ] ) ; end periodDeltaCountFuncH2n= @( deltaTMin ) nnz ( deltaTMin <= ... periodDeltaArray2n ( periodOscIndices2n ) ) ; disp ( [ num2str ( t a r g e t P e r i o d ) ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ ... min period oscillating proportion with Delta T >= ’ num2str ( ... t a r g e t D e l t a ) ’: ’ num2str ( periodDeltaCountFuncH2n ( t a r g e t D e l t a ) ) ... ’/’ num2str ( numSamples ) ’= ’ num2str ( periodDeltaCountFuncH2n ( ... t a r g e t D e l t a ) /numSamples ) ] ) ; disp ( ’ ’ ) ; % Two b i n d i n g s i t e s , l i n e a r decay disp ( ’MODEL IV , 2 binding sites , linear decay :’ ) ; i f ˜isempty ( l i n e a r S a m p l e . t w o S i t e . H13TotalMaxSweepLimitPoints ) disp ( ’ Notice : H13TotalMax sweep limit reached .’ ) ; end 250 % P e r i o d mask p e r i o d M e a n s 2 l= mean( l i n e a r S a m p l e . t w o S i t e . p e r i o d s , 1 ) ; f u l l P e r i o d M e a n s 2 l = repmat ( periodMe ans 2l , [ numEquations , 1 , ... 1]) ; p e r i o d M e a n s 2 l= s q u e e z e ( p e r i o d M e a n s 2 l ) ’ ; p e r i o d M a s k 2 l= zeros ( s i z e ( f u l l P e r i o d M e a n s 2 l ) ) ; p e r i o d M a s k 2 l ( f u l l P e r i o d M e a n s 2 l ˜= 0 )= abs ( ( l i n e a r S a m p l e . ... t w o S i t e . p e r i o d s ( f u l l P e r i o d M e a n s 2 l ˜= 0 ) − f u l l P e r i o d M e a n s 2 l ( ... f u l l P e r i o d M e a n s 2 l ˜= 0 ) ) . / f u l l P e r i o d M e a n s 2 l ( f u l l P e r i o d M e a n s 2 l ˜=... 0) ) < periodTol ; p e r i o d M a s k 2 l ( f u l l P e r i o d M e a n s 2 l == 0 )= abs ( l i n e a r S a m p l e . t w o S i t e ... . p e r i o d s ( f u l l P e r i o d M e a n s 2 l == 0 ) ) < p e r i o d T o l ; p e r i o d M a s k 2 l= s q u e e z e ( a l l ( periodMask2l , 1 ) ) ’ ; clear fullPeriodMeans2l ; % Amplitude mask amplitudeMask2l= s q u e e z e ( a l l ( amplitudeThresh <= l i n e a r S a m p l e . ... twoSite . amplitudes , 1) ) ’ ; % Combine masks and f i n d o s c i l l a t i n g p r o p o r t i o n f u l l O s c M a s k 2 l= p e r i o d M a s k 2 l & amplitudeMask2l ; oscMask2l= any ( f u l l O s c M a s k 2 l , 2 ) ; o s c I n d i c e s 2 l= find ( oscMask2l ) ; o s c P r o p 2 l= length ( o s c I n d i c e s 2 l ) /numSamples ; disp ( [ ’Oscillating proportion : ’ num2str ( length ( o s c I n d i c e s 2 l ) ... ) ’/’ num2str ( numSamples ) ’= ’ num2str ( o s c P r o p 2 l ) ] ) ; [ maxArray2l , m a x I n d i c e s 2 l ]= max( f u l l O s c M a s k 2 l . ∗ periodMe ans 2l , ... [ ] , 2) ; 251 g l o b a l M a x 2 l= max( maxArray2l ) ; minArray2l= zeros ( numSamples , 1 ) ; m i n I n d i c e s 2 l= o n e s ( numSamples , 1 ) ; fo r k= 1 : numSamples p o s i t i v e I n d i c e s= f u l l O s c M a s k 2 l ( k , : ) > 0 ; i f any ( p o s i t i v e I n d i c e s ) [ minArray2l ( k ) , m i n I n d i c e s 2 l ( k ) ]= min( p e r i o d M e a n s 2 l ( k , ... positiveIndices ) ) ; end end g l o b a l M i n 2 l= min( minArray2l ( 0 < minArray2l ) ) ; i f isempty ( g l o b a l M i n 2 l ) disp ( ’No period range .’ ) ; else disp ( [ ’Nontrivial period range : [’ num2str ( g l o b a l M i n 2 l ) ’,... ’ num2str ( g l o b a l M a x 2 l ) ’]’ ] ) ; end [ deltaMax2l , d e l t a M a x I n d e x 2 l ]= max( maxArray2l − minArray2l ) ; i f ˜isempty ( o s c I n d i c e s 2 l ) disp ( [ ’Maximum Delta T: [’ num2str ( minArray2l ( ... d e l t a M a x I n d e x 2 l ) ) ’, ’ num2str ( maxArray2l ( d e l t a M a x I n d e x 2 l ) ) ’],... Delta T= ’ num2str ( d e l t a M a x 2 l ) ’, k= ’ num2str ( d e l t a M a x I n d e x 2 l ) ... ’, j= [’ num2str ( m i n I n d i c e s 2 l ( d e l t a M a x I n d e x 2 l ) ) ’, ’ num2str ( ... m a x I n d i c e s 2 l ( d e l t a M a x I n d e x 2 l ) ) ’]’ ] ) ; else disp ( ’Maximum Delta T: NaN ’ ) ; 252 end periodOscMask2l= ( minArray2l <= t a r g e t P e r i o d + d e l t a P e r i o d ) & ... ( t a r g e t P e r i o d − d e l t a P e r i o d <= maxArray2l ) ; p e r i o d O s c I n d i c e s 2 l= find ( periodOscMask2l ) ; p e r i o d O s c P r o p 2 l= length ( p e r i o d O s c I n d i c e s 2 l ) /numSamples ; disp ( [ num2str ( t a r g e t P e r i o d ) ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ ... min period oscillating proportion : ’ num2str ( length ( ... p e r i o d O s c I n d i c e s 2 l ) ) ’/’ num2str ( numSamples ) ’= ’ num2str ( ... periodOscProp2l ) ] ) ; periodMaxArray2l= periodOscMask2l . ∗ maxArray2l ; p e r i o d M a x I n d i c e s 2 l= m a x I n d i c e s 2 l ; p e r i o d M a x I n d i c e s 2 l ( periodOscMask2l == 0 )= 1 ; p e r i o d M i n A r r a y 2 l= periodOscMask2l . ∗ minArray2l ; p e r i o d M i n I n d i c e s 2 l= m i n I n d i c e s 2 l ; p e r i o d M i n I n d i c e s 2 l ( periodOscMask2l == 0 )= 1 ; p e r i o d D e l t a A r r a y 2 l= periodMaxArray2l − p e r i o d M i n A r r a y 2 l ; [ pe riodDe ltaMax2l , p e r i o d D e l t a M a x I n d e x 2 l ]= max( ... periodDeltaArray2l ) ; i f ˜isempty ( p e r i o d O s c I n d i c e s 2 l ) disp ( [ ’Maximum Delta T containing ’ num2str ( t a r g e t P e r i o d ) ... ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ : [’ num2str ( p e r i o d M i n A r r a y 2 l ( ... p e r i o d D e l t a M a x I n d e x 2 l ) ) ’, ’ num2str ( periodMaxArray2l ( ... p e r i o d D e l t a M a x I n d e x 2 l ) ) ’], Delta T= ’ num2str ( p e r i o d D e l t a M a x 2 l ) ... ’, k= ’ num2str ( p e r i o d D e l t a M a x I n d e x 2 l ) ’, j= [’ num2str ( ... 253 p e r i o d M i n I n d i c e s 2 l ( p e r i o d D e l t a M a x I n d e x 2 l ) ) ’,’ num2str ( ... p e r i o d M a x I n d i c e s 2 l ( p e r i o d D e l t a M a x I n d e x 2 l ) ) ’] @’ 10 ’ rho= ’ ... num2str ( l i n e a r S a m p l e . params . rhoSample ( p e r i o d D e l t a M a x I n d e x 2 l ) ) ’... , kH13H13 = ’ num2str ( l i n e a r S a m p l e . params . kH13H13Sample ( ... p e r i o d D e l t a M a x I n d e x 2 l ) ) ’, kH7H7 = ’ num2str ( l i n e a r S a m p l e . params . ... kH7H7Sample ( p e r i o d D e l t a M a x I n d e x 2 l ) ) ’, kH7H13 = ’ num2str ( ... l i n e a r S a m p l e . params . kH7H13Sample ( p e r i o d D e l t a M a x I n d e x 2 l ) ) ’, ... tau_h7 = ’ num2str ( l i n e a r S a m p l e . params . tau h7Sample ( ... p e r i o d D e l t a M a x I n d e x 2 l ) ) ’, bH7= ’ num2str ( l i n e a r S a m p l e . params . ... bH7Sample ( p e r i o d D e l t a M a x I n d e x 2 l ) ) ’, rH7H7 = ’ num2str ( ... l i n e a r S a m p l e . params . rH7H7Sample ( p e r i o d D e l t a M a x I n d e x 2 l ) ) ’, ... wH7H7_H7H7 = ’ num2str ( l i n e a r S a m p l e . params . wH7H7 H7H7Sample ( ... p e r i o d D e l t a M a x I n d e x 2 l ) ) ’, rN= ’ num2str ( l i n e a r S a m p l e . params . ... rNSample ( p e r i o d D e l t a M a x I n d e x 2 l ) ) ] ) ; else disp ( [ ’Maximum Delta T containing ’ num2str ( t a r g e t P e r i o d ) ... ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ : NaN ’ ] ) ; end periodDeltaCountFuncH2l= @( deltaTMin ) nnz ( deltaTMin <= ... periodDeltaArray2l ( periodOscIndices2l ) ) ; disp ( [ num2str ( t a r g e t P e r i o d ) ’ +/- ’ num2str ( d e l t a P e r i o d ) ’ ... min period oscillating proportion with Delta T >= ’ num2str ( ... t a r g e t D e l t a ) ’: ’ num2str ( periodDeltaCountFuncH2l ( t a r g e t D e l t a ) ) ... ’/’ num2str ( numSamples ) ’= ’ num2str ( periodDeltaCountFuncH2l ( ... t a r g e t D e l t a ) /numSamples ) ] ) ; 254 % F i g u r e s f o r main paper f i g u r e H= f i g u r e ( 1 ) ; c l f ( f i g u r e H ) ; set ( f i g u r e H , ’Position ’ , [ 4 5 ... 305 775 2 3 1 ] ) ; colormap ( [ 0 . 2 5 0 . 2 5 0 . 2 5 ; 0 . 7 5 0 . 7 5 0 . 7 5 ] ) ; axisH= subplot ( 1 , 3 , 1 ) ; bar ( axisH , 1 0 0 ∗ [ oscProp1n periodOscProp1n ; o s c P r o p 1 l ... p e r i o d O s c P r o p 1 l ; oscProp2n periodOscProp2n ; o s c P r o p 2 l ... periodOscProp2l ] ) ; ylim ( axisH , [ 0 7 5 ] ) ; set ( axisH , ’YTick ’ , 0 : 1 0 : 7 0 ) ; ylabel ( axisH , ’% of Simulations ’ , ’FontWeight ’ , ’demi ’ , ’... FontSize ’ , 1 2 ) ; xlim ( axisH , [ 0 . 5 4 . 5 ] ) ; xlabel ( axisH , ’Model Number ’ , ’FontWeight ’ , ’demi ’ , ’... FontSize ’ , 1 2 ) ; set ( axisH , ’XTickLabel ’ , { ’I’ ’II ’ ’III ’ ’IV ’ } ) ; legend ( axisH , ’Periodic ’ , [ num2str ( t a r g e t P e r i o d ) ’\pm ’ ... num2str ( d e l t a P e r i o d ) ’ min.’ ] , ’Location ’ , ’NorthWest ’ ) ; t i t l e ( axisH , ’Model Comparison ’ , ’FontWeight ’ , ’demi ’ , ’... FontSize ’ , 1 2 ) ; set ( axisH , ’FontWeight ’ , ’demi ’ ) ; axisH= subplot ( 1 , 3 , 2 ) ; xEdges= 0 : 2 . 5 : 3 0 ; xMidpoints= xEdges ( 1 : end−1) + 1 . 2 5 ; count2n= zeros ( length ( xMidpoints ) , 1 ) ; 255 c o u n t 2 l= count2n ; f o r k= 1 : length ( xMidpoints ) count2n ( k )= periodDeltaCountFuncH2n ( xEdges ( k ) ) − ... periodDeltaCountFuncH2n ( xEdges ( k+1) ) ; c o u n t 2 l ( k )= periodDeltaCountFuncH2l ( xEdges ( k ) ) − ... periodDeltaCountFuncH2l ( xEdges ( k+1) ) ; end bar ( axisH , xMidpoints , 100/ numSamples ∗ [ count2n c o u n t 2 l ] , ... ’BarLayout ’ , ’stacked ’ , ’BarWidth ’ , 1 ) ; ylabel ( axisH , ’% of Simulations ’ , ’FontWeight ’ , ’demi ’ , ’... FontSize ’ , 1 2 ) ; xlim ( axisH , [ 0 3 0 ] ) ; set ( axisH , ’XTick ’ , 0 : 2 . 5 : 3 0 ) ; set ( axisH , ’XTickLabel ’ , { ’0’ ’’ ’5’ ’’ ’10 ’ ’’ ’15 ’ ’’ ’... 20’ ’’ ’25 ’ ’’ ’30 ’ } ) ; xlabel ( axisH , ’{\ Delta }T (min .) ’ , ’FontWeight ’ , ’demi ’ , ’... FontSize ’ , 1 2 ) ; legend ( axisH , ’Model III ’ , ’Model IV ’ ) ; t i t l e ( axisH , ’{\ Delta }T Distributions ’ , ’FontWeight ’ , ’... demi ’ , ’FontSize ’ , 1 2 ) ; set ( axisH , ’FontWeight ’ , ’demi ’ ) ; % Tabulations disp ( ’ ’ ) ; disp ( [ ’Model III Delta T tabulation (out of ’ num2str ( ... numSamples ) ’ samples ):’ ] ) ; disp ( [ ’Bin edges : ’ , m a t 2 s t r ( xEdges ) ] ) ; disp ( [ ’Counts : ’ , m a t 2 s t r ( count2n ’ ) ] ) ; 256 disp ( ’ ’ ) ; disp ( [ ’Model IV Delta T tabulation (out of ’ num2str ( ... numSamples ) ’ samples ):’ ] ) ; disp ( [ ’Bin edges : ’ , m a t 2 s t r ( xEdges ) ] ) ; disp ( [ ’Counts : ’ , m a t 2 s t r ( c o u n t 2 l ’ ) ] ) ; axisH= subplot ( 1 , 3 , 3 ) ; n o n l i n e a r M e a n P e r i o d s= periodMeans2n ( periodDeltaMaxIndex2n ... ,:) ; l i n e a r M e a n P e r i o d s= p e r i o d M e a n s 2 l ( p e r i o d D e l t a M a x I n d e x 2 l , : ) ; s e r i e s H= plot ( axisH , n o n l i n e a r S a m p l e . params . ... H13TotalMaxSweep ( 1 : p e r i o d M i n I n d i c e s 2 n ( periodDeltaMaxIndex2n ) ) , ... n o n l i n e a r M e a n P e r i o d s ( 1 : p e r i o d M i n I n d i c e s 2 n ( periodDeltaMaxIndex2n ) ... ) , ’k-’ , l i n e a r S a m p l e . params . H13TotalMaxSweep ( 1 : ... p e r i o d M i n I n d i c e s 2 l ( p e r i o d D e l t a M a x I n d e x 2 l ) ) , l i n e a r M e a n P e r i o d s ( 1 : ... p e r i o d M i n I n d i c e s 2 l ( p e r i o d D e l t a M a x I n d e x 2 l ) ) , ’k--’ ) ; set ( s e r i e s H ( 1 ) , ’LineWidth ’ , 2 ) ; set ( s e r i e s H ( 2 ) , ’LineWidth ’ , 1 ) ; ylabel ( axisH , ’Period (min .) ’ , ’FontWeight ’ , ’demi ’ , ’... FontSize ’ , 1 2 ) ; xlabel ( axisH , ’Total Control Protein (copy #) ’ , ’... FontWeight ’ , ’demi ’ , ’FontSize ’ , 1 2 ) ; t i t l e ( axisH , ’Solutions for {\ Delta }T_{III }^{ max} & {\... Delta }T_{IV }^{ max} ’ , ’FontWeight ’ , ’demi ’ , ’FontSize ’ , 1 2 ) ; legend ( axisH , ’Model III ’ , ’Model IV ’ ) ; set ( axisH , ’FontWeight ’ , ’demi ’ ) ; 257 f i g u r e H= f i g u r e ( 2 ) ; c l f ( f i g u r e H ) ; set ( f i g u r e H , ’Position ’ , [ 3 0 ... 325 512 2 4 0 ] ) ; colormap ( [ 0 . 5 0 . 5 0 . 5 ] ) ; axisH= subplot ( 1 , 2 , 1 ) ; e d g e s= 2 : 0 . 5 : 9 ; bar ( axisH , edges , h i s t c ( n o n l i n e a r S a m p l e . params . ... tau h7Sample ( p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; % s e t ( f i n d a l l ( a l l c h i l d ( gca ) , ’ Marker ’ , ’ ∗ ’ ) , ’ Marker ’ , ’ none ... ’) ; ylabel ( axisH , ’Simulation Count ’ , ’FontWeight ’ , ’demi ’ , ’... FontSize ’ , 1 2 ) ; xlim ( axisH , [ 2 . 3 8 . 1 ] ) ; set ( axisH , ’XTick ’ , [ 2 . 3 3 : 1 : 7 8 . 1 ] ) ; xlabel ( axisH , ’\ tau_c ’ , ’FontSize ’ , 1 2 ) ; t i t l e ( axisH , ’Sensitive , Model III ’ , ’FontWeight ’ , ’demi ’ , ... ’FontSize ’ , 1 2 ) ; set ( axisH , ’FontWeight ’ , ’demi ’ ) ; axisH= subplot ( 1 , 2 , 2 ) ; e d g e s= 1 / 3 : 1 / 3 : 3 ; bar ( axisH , edges , h i s t c ( n o n l i n e a r S a m p l e . params . rhoSample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; ylabel ( axisH , ’Simulation Count ’ , ’FontWeight ’ , ’demi ’ , ’... FontSize ’ , 1 2 ) ; xlim ( axisH , [ 0 . 9 9 / 3 3 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 3 3 1 2 3 ] ) ; xlabel ( axisH , ’\rho ’ , ’FontWeight ’ , ’demi ’ , ’FontSize ’ , 1 2 ) ; 258 t i t l e ( axisH , ’Insensitive , Model III ’ , ’FontWeight ’ , ’demi... ’ , ’FontSize ’ , 1 2 ) ; set ( axisH , ’FontWeight ’ , ’demi ’ ) ; % F i g u r e s f o r Supplement t o p G r a p h T i t l e= [ ’Periodic ’ ] ; midGraphTitle= [ num2str ( t a r g e t P e r i o d ) ’\pm ’ num2str ( ... d e l t a P e r i o d ) ’ min ’ ] ; b o t G r a p h T i t l e= [ ’\ DeltaT \geq ’ num2str ( t a r g e t D e l t a ) ’ min ’ ] ; f i g u r e ( 5 ) ; c l f ; colormap ( [ 0 . 5 0 . 5 0 . 5 ] ) ; axisH= subplot ( 3 , 4 , 1 ) ; e d g e s= 1 / 3 : 1 / 3 : 3 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . rhoSample ( ... o s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 9 9 / 3 3 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 3 3 1 2 3 ] ) ; xlabel ( ’\rho ’ ) ; t i t l e ( topGraphTitle ) ; axisH= subplot ( 3 , 4 , 5 ) ; e d g e s= 1 / 3 : 1 / 3 : 3 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . rhoSample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 9 9 / 3 3 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 3 3 1 2 3 ] ) ; xlabel ( ’\rho ’ ) ; t i t l e ( midGraphTitle ) ; 259 axisH= subplot ( 3 , 4 , 9 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . rhoSample ( ... p e r i o d D e l t a A r r a y 2 n >= t a r g e t D e l t a ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 9 9 / 3 3 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 3 3 1 2 3 ] ) ; xlabel ( ’\rho ’ ) ; t i t l e ( botGraphTitle ) ; axisH= subplot ( 3 , 4 , 2 ) ; e d g e s= 2 : 0 . 5 : 9 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . tau h7Sample ( ... o s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 2 . 3 8 . 1 ] ) ; set ( axisH , ’XTick ’ , [ 2 . 3 4 : 1 : 6 8 . 1 ] ) ; xlabel ( ’\ tau_c ’ ) ; t i t l e ( topGraphTitle ) ; axisH= subplot ( 3 , 4 , 6 ) ; e d g e s= 2 : 0 . 5 : 9 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . tau h7Sample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 2 . 3 8 . 1 ] ) ; set ( axisH , ’XTick ’ , [ 2 . 3 4 : 1 : 6 8 . 1 ] ) ; xlabel ( ’\ tau_c ’ ) ; t i t l e ( midGraphTitle ) ; axisH= subplot ( 3 , 4 , 1 0 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . tau h7Sample ( ... p e r i o d D e l t a A r r a y 2 n >= t a r g e t D e l t a ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 2 . 3 8 . 1 ] ) ; 260 set ( axisH , ’XTick ’ , [ 2 . 3 4 : 1 : 6 8 . 1 ] ) ; xlabel ( ’\ tau_c ’ ) ; t i t l e ( botGraphTitle ) ; axisH= subplot ( 3 , 4 , 3 ) ; e d g e s= 0 : 0 . 1 : 1 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . rH7H7Sample ( ... o s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 0 1 1 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 0 1 0 . 5 1 ] ) ; xlabel ( ’\rho_{C:C}’ ) ; t i t l e ( topGraphTitle ) ; axisH= subplot ( 3 , 4 , 7 ) ; e d g e s= 0 : 0 . 1 : 1 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . rH7H7Sample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 0 1 1 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 0 1 0 . 5 1 ] ) ; xlabel ( ’\rho_{C:C}’ ) ; t i t l e ( midGraphTitle ) ; axisH= subplot ( 3 , 4 , 1 1 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . rH7H7Sample ( ... p e r i o d D e l t a A r r a y 2 n >= t a r g e t D e l t a ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 0 1 1 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 0 1 0 . 5 1 ] ) ; xlabel ( ’\rho_{C:C}’ ) ; t i t l e ( botGraphTitle ) ; axisH= subplot ( 3 , 4 , 4 ) ; 261 e d g e s= 0 : 1 0 : 1 0 0 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . wH7H7 H7H7Sample ( ... o s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 1 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 50 1 0 0 ] ) ; xlabel ( ’\ omega_ {C:C}’ ) ; t i t l e ( topGraphTitle ) ; axisH= subplot ( 3 , 4 , 8 ) ; e d g e s= 0 : 1 0 : 1 0 0 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . wH7H7 H7H7Sample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 1 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 50 1 0 0 ] ) ; xlabel ( ’\ omega_ {C:C}’ ) ; t i t l e ( midGraphTitle ) ; axisH= subplot ( 3 , 4 , 1 2 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . wH7H7 H7H7Sample ( ... p e r i o d D e l t a A r r a y 2 n >= t a r g e t D e l t a ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 1 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 50 1 0 0 ] ) ; xlabel ( ’\ omega_ {C:C}’ ) ; t i t l e ( botGraphTitle ) ; f i g u r e ( 6 ) ; c l f ; colormap ( [ 0 . 5 0 . 5 0 . 5 ] ) ; axisH= subplot ( 3 , 4 , 1 ) ; e d g e s= 0 . 2 : 0 . 0 5 : 0 . 5 ; 262 bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . bH7Sample ( ... o s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 2 0 . 5 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 2 0 . 3 5 0 . 5 ] ) ; xlabel ( ’\ beta_C ’ ) ; t i t l e ( topGraphTitle ) ; axisH= subplot ( 3 , 4 , 5 ) ; e d g e s= 0 . 2 : 0 . 0 5 : 0 . 5 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . bH7Sample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 2 0 . 5 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 2 0 . 3 5 0 . 5 ] ) ; xlabel ( ’\ beta_C ’ ) ; t i t l e ( midGraphTitle ) ; axisH= subplot ( 3 , 4 , 9 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . bH7Sample ( ... p e r i o d D e l t a A r r a y 2 n >= t a r g e t D e l t a ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 0 . 2 0 . 5 ] ) ; set ( axisH , ’XTick ’ , [ 0 . 2 0 . 3 5 0 . 5 ] ) ; xlabel ( ’\ beta_C ’ ) ; t i t l e ( botGraphTitle ) ; axisH= subplot ( 3 , 4 , 2 ) ; e d g e s= 0 : 5 0 : 1 0 0 0 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH13H13Sample ( ... o s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; 263 xlabel ( ’\ kappa_ {G:G}’ ) ; t i t l e ( topGraphTitle ) ; axisH= subplot ( 3 , 4 , 6 ) ; e d g e s= 0 : 5 0 : 1 0 0 0 ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH13H13Sample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; xlabel ( ’\ kappa_ {G:G}’ ) ; t i t l e ( midGraphTitle ) ; axisH= subplot ( 3 , 4 , 1 0 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH13H13Sample ( ... p e r i o d D e l t a A r r a y 2 n >= t a r g e t D e l t a ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; xlabel ( ’\ kappa_ {G:G}’ ) ; t i t l e ( botGraphTitle ) ; axisH= subplot ( 3 , 4 , 3 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH7H7Sample ( ... o s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; xlabel ( ’\ kappa_ {C:C}’ ) ; t i t l e ( topGraphTitle ) ; axisH= subplot ( 3 , 4 , 7 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH7H7Sample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; 264 xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; xlabel ( ’\ kappa_ {C:C}’ ) ; t i t l e ( midGraphTitle ) ; axisH= subplot ( 3 , 4 , 1 1 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH7H7Sample ( ... p e r i o d D e l t a A r r a y 2 n >= t a r g e t D e l t a ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; xlabel ( ’\ kappa_ {C:C}’ ) ; t i t l e ( botGraphTitle ) ; axisH= subplot ( 3 , 4 , 4 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH7H13Sample ( ... o s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; xlabel ( ’\ kappa_ {C:G}’ ) ; t i t l e ( topGraphTitle ) ; axisH= subplot ( 3 , 4 , 8 ) ; bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH7H13Sample ( ... p e r i o d O s c I n d i c e s 2 n ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; xlabel ( ’\ kappa_ {C:G}’ ) ; t i t l e ( midGraphTitle ) ; axisH= subplot ( 3 , 4 , 1 2 ) ; 265 bar ( edges , h i s t c ( n o n l i n e a r S a m p l e . params . kH7H13Sample ( ... p e r i o d D e l t a A r r a y 2 n >= t a r g e t D e l t a ) , e d g e s ) , ’histc ’ ) ; xlim ( [ 1 0 1 0 0 0 ] ) ; set ( axisH , ’XTick ’ , [ 1 0 500 1 0 0 0 ] ) ; xlabel ( ’\ kappa_ {C:G}’ ) ; t i t l e ( botGraphTitle ) ; i f t r u e % f i s e m p t y ( v e r ( ’ s t a t s ’ ) ) % S t a t i s t i c s Toolbox not ... available disp ( [ 10 ’Statistics Toolbox is not available for making ... box plots .’ ] ) ; e l s e % S t a t i s t i c s Toolbox a v a i l a b l e modelNames= c e l l ( length ( find ( periodOscMask1 ) ) + length ( find ( ... periodOscMask2 ) ) , 1 ) ; modelNames ( 1 : length ( find ( periodOscMask1 ) ) )= { ’1 Site ’ } ; modelNames ( length ( find ( periodOscMask1 ) ) +1:end )= { ’2 Site ’ } ; figure (5) ; c l f ; subplot ( 2 , 2 , 1 ) ; b o x p l o t ( [ n o n l i n e a r S a m p l e . params . t a u h 7 ( p e r i o d O s c I n d i c e s 1 ... ) ; n o n l i n e a r S a m p l e . params . t a u h 7 ( p e r i o d O s c I n d i c e s 2 ) ] , modelNames... ); t i t l e ( ’\tau_{h7} delay ’ ) ; ylabel ( ’\tau_{h7} delay (min .) ’ ) ; subplot ( 2 , 2 , 3 ) ; 266 b o x p l o t ( [ n o n l i n e a r S a m p l e . params . rho ( p e r i o d O s c I n d i c e s 1 ) ; ... n o n l i n e a r S a m p l e . params . rho ( p e r i o d O s c I n d i c e s 2 ) ] , modelNames ) ; t i t l e ( ’\rho ’ ) ; ylabel ( ’\rho ’ ) ; subplot ( 2 , 2 , 2 ) b o x p l o t ( [ n o n l i n e a r S a m p l e . params . kH13H13 ( ... p e r i o d O s c I n d i c e s 1 ) ; n o n l i n e a r S a m p l e . params . kH13H13 ( ... p e r i o d O s c I n d i c e s 2 ) ] , modelNames ) ; t i t l e ( ’\ kappa_ {13:13} ’ ) ; ylabel ( ’\ kappa_ {13:13} ’ ) ; subplot ( 2 , 2 , 4 ) b o x p l o t ( [ n o n l i n e a r S a m p l e . params . rH7H7 ( p e r i o d O s c I n d i c e s 1 ) ... ; n o n l i n e a r S a m p l e . params . rH7H7 ( p e r i o d O s c I n d i c e s 2 ) ] , modelNames ) ; t i t l e ( ’\rho_ {7:7} ’ ) ; ylabel ( ’\rho_ {7:7} ’ ) ; % Show range o f D e l t a s figure (6) ; c l f ; b o x p l o t ( [ p e r i o d D e l t a A r r a y 1 ( p e r i o d O s c I n d i c e s 1 ) ; ... p e r i o d D e l t a A r r a y 2 ( p e r i o d O s c I n d i c e s 2 ) ] , modelNames ) ; t i t l e ( ’\ Delta Period across viable H_ {13.2} range ’ ) ; ylabel ( ’\ Delta Period (min .) ’ ) ; end disp ( ’ ’ ) ; 267 end Plotting Code plotSolution.m: A simple plotting function called by somitogenesisPCW.m. function p l o t S o l u t i o n ( s o l ) % Usage : % plotSolution ( sol ) % % P l o t s v a r i o u s time s e r i e s f o r t h e f i r s t c e l l o n l y i n d i c e s= [ s o l . params . H 7 T o t a l I n d i c e s ( 1 ) ; s o l . params . h 7 I n d i c e s ... (1) ] ; i f s o l . params . numGenes == 2 i n d i c e s= [ i n d i c e s ; s o l . params . D I n d i c e s ( 1 ) ; s o l . params . ... dIndices (1) ] ; end s t a r t T i m e I n d e x= find ( s o l . x >= s o l . params . t i m e I n t e r v a l ( 1 ) , 1 ) ; i f isempty ( s t a r t T i m e I n d e x ) s t a r t T i m e I n d e x= 1 ; end maxY= max(max( s o l . y ( i n d i c e s , s t a r t T i m e I n d e x : end ) ) ) ; figure (1) ; a x i s 1= subplot ( 3 , 1 , 1 ) ; s e r i e s 1= plot ( a x i s 1 , s o l . x , s o l . y ( i n d i c e s , : ) , ’LineWidth ’... ,2) ; 268 ylim ( a x i s 1 , [ 0 , 1 . 1 ∗maxY ] ) ; set ( a x i s 1 , ’FontWeight ’ , ’demi ’ ) ; xlabel ( ’time (min)’ , ’FontSize ’ , 1 2 ) ; ylabel ( ’Copy #’ , ’FontSize ’ , 1 2 ) ; i f s o l . params . c o u p l i n g B o o l t i t l e ( [ num2str ( s o l . params . numCells , ’%d’ ) , ’ Coupled ... Cell(s) -- Cell 1’ ] , ’FontSize ’ , 1 4 ) ; else t i t l e ( [ num2str ( s o l . params . numCells , ’%d’ ) , ’ Uncoupled ... Cell(s) -- Cell 1’ ] , ’FontSize ’ , 1 4 ) ; end i f s o l . params . numGenes == 1 legend ( s e r i e s 1 ( end−1:end ) , [ ’$H_ {\ widehat {7}}= ’ num2str... ( s o l . s t a t i s t i c s . medians ( 1 ) , ’%.1f’ ) ’ \pm ’ num2str ( s o l . ... s t a t i s t i c s . a m p l i t u d e s ( 1 ) / 2 , ’%.1f’ ) ’; ’ num2str ( s o l . s t a t i s t i c s . ... p e r i o d s ( 1 ) , ’%.1f’ ) ’$ min ’ ] , [ ’$h_7= ’ num2str ( s o l . s t a t i s t i c s . ... medians ( 2 ) , ’%.1f’ ) ’ \pm ’ num2str ( s o l . s t a t i s t i c s . a m p l i t u d e s ( 2 ) ... / 2 , ’%.1f’ ) ’; ’ num2str ( s o l . s t a t i s t i c s . p e r i o d s ( 2 ) , ’%.1f’ ) ’$ ... min ’ ] ) ; set ( legend ( a x i s 1 ) , ’Location ’ , ’West ’ , ’Interpreter ’ , ’... latex ’ ) ; e l s e % s o l . params . numGenes == 2 legend ( s e r i e s 1 ( end−3:end ) , [ ’$H_ {\ widehat {7}}= ’ num2str... ( s o l . s t a t i s t i c s . medians ( 1 ) , ’%.1f’ ) ’ \pm ’ num2str ( s o l . ... s t a t i s t i c s . a m p l i t u d e s ( 1 ) / 2 , ’%.1f’ ) ’; ’ num2str ( s o l . s t a t i s t i c s . ... p e r i o d s ( 1 ) , ’%.1f’ ) ’$ min ’ ] , [ ’$h_7= ’ num2str ( s o l . s t a t i s t i c s . ... medians ( 2 ) , ’%.1f’ ) ’ \pm ’ num2str ( s o l . s t a t i s t i c s . a m p l i t u d e s ( 2 ) ... 269 / 2 , ’%.1f’ ) ’; ’ num2str ( s o l . s t a t i s t i c s . p e r i o d s ( 2 ) , ’%.1f’ ) ’$ ... min ’ ] , [ ’$D= ’ num2str ( s o l . s t a t i s t i c s . medians ( 3 ) , ’%.1f’ ) ’ \pm... ’ num2str ( s o l . s t a t i s t i c s . a m p l i t u d e s ( 3 ) / 2 , ’%.1f’ ) ’; ’ num2str ( ... s o l . s t a t i s t i c s . p e r i o d s ( 3 ) , ’%.1f’ ) ’$ min ’ ] , [ ’$d= ’ num2str ( s o l ... . s t a t i s t i c s . medians ( 4 ) , ’%.1f’ ) ’ \pm ’ num2str ( s o l . s t a t i s t i c s . ... a m p l i t u d e s ( 4 ) / 2 , ’%.1f’ ) ’; ’ num2str ( s o l . s t a t i s t i c s . p e r i o d s ( 4 ) , ... ’%.1f’ ) ’$ min ’ ] ) ; set ( legend ( a x i s 1 ) , ’Location ’ , ’West ’ , ’Orientation ’ , ’... vertical ’ , ’Interpreter ’ , ’latex ’ ) ; end x L i m i t s= xlim ; % Used i n p l o t s b e l o w a x i s 2= subplot ( 3 , 1 , 2 ) ; a r e a ( a x i s 2 , s o l . x , [ s o l . output . H7H13 ( 1 , : ) ’ , s o l . output . ... H7H7 ( 1 , : ) ’ , s o l . output . H7 ( 1 , : ) ’ ] ) ; xlim ( a x i s 2 , x L i m i t s ) ; ylim ( a x i s 2 , [ 0 , 1 . 1 ∗maxY ] ) ; set ( a x i s 2 , ’FontWeight ’ , ’demi ’ ) ; xlabel ( ’time (min)’ , ’FontSize ’ , 1 2 ) ; ylabel ( ’Copy #’ , ’FontSize ’ , 1 2 ) ; t i t l e ( ’Her7 Distribution -- Cell 1’ , ’FontSize ’ , 1 4 ) ; legend ( ’$H_ {7:13} $’ , ’$H_ {7:7} $’ , ’$H_7$ ’ ) ; set ( legend ( a x i s 2 ) , ’Location ’ , ’West ’ , ’Interpreter ’ , ’... latex ’ ) ; a x i s 3= subplot ( 3 , 1 , 3 ) ; 270 a r e a ( a x i s 3 , s o l . x , [ s o l . output . H7H13 ( 1 , : ) ’ , s o l . output . ... H13H13 ( 1 , : ) ’ , s o l . output . H13 ( 1 , : ) ’ ] ) ; xlim ( a x i s 3 , x L i m i t s ) ; set ( a x i s 3 , ’FontWeight ’ , ’demi ’ ) ; xlabel ( ’time (min)’ , ’FontSize ’ , 1 2 ) ; ylabel ( ’Copy #’ , ’FontSize ’ , 1 2 ) ; t i t l e ( ’Her13 .2 Distribution -- Cell 1’ , ’FontSize ’ , 1 4 ) ; legend ( ’$H_ {7:13} $’ , ’$H_ {13:13} $’ , ’$H_ {13}$’ ) ; set ( legend ( a x i s 3 ) , ’Location ’ , ’NorthEast ’ , ’Interpreter ’ , ... ’latex ’ ) ; end