<<

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`aˇsGedeon

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 doc- toral 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 pre- scribed 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`aˇsGedeon, 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 CLOCK- WAVE 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 SOMITOGE- NESIS...... 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 Un- coupled 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 in a zebrafish ...... 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 oscil- lator 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 Page

25 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 experi- mental, 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 vali- dation 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 slow- ing 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 im-

portant 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

1Epigenesis 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 em- bryogenesis. 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 formation, which occurs in the mesoderm, a tissue that forms just after 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 differ- entiate further into vertebrae, ribs, musculature, and dorsal . Somites arise sequentially and in pairs from the mesoderm, in an anterior (head) to posterior (tail)

2Epithelialized cells are surrounded by a well-defined layer of border cells, called epithelial cells. 3

Notch Signalling in Somite

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).

Figure 2. Blocking Notch Signalling Causes Somite Boundary Defects after a Long Delay were treated with 100 lm DAPT or with DMSO (control) medium and stained by ISH for titin at the end of somitogenesis to reveal somite boundaries. Treatment was begun (A) at 3 hpf, (B) at 5-somite stage, or (C) at 9-somite stage. Arrows with grey labels indicate stage at onset of DAPT treament; arrows with black labels indicate the level of the earliest defective somite. A detailed view of the region where disruption begins is shown to the right of each DAPT specimen. doi:10.1371/journal.pgen.0040015.g002

clock cycles before they segment overtly. From the delay we For treatment beginning at 3hpf, 7 hours before the onset see following DAPT treatment, therefore, we can infer that of somitogenesis, the calculation is slightly different. If we the pattern of clock gene expression in the posterior PSM was assume that the first somite is formed from cells in which the not effectively disrupted until long after the beginning of clock was set going synchronously by some shared devel- DAPT treatment: for treatment beginning at the 5-somite opmental cue for the initiation of somitogenesis, we can infer stage, not until 13.4 6 1.1 5, i.e., 8.4 6 1.1, clock cycles had that the critical oscillations were not significantly disrupted À elapsed; for treatment beginning at the 9-somite stage, not by the presence of Notch blockade until 7.3 6 1.3 cycles after until 12.8 6 1.9 5, i.e., 7.8 6 1.9, clock cycles had elapsed. this initiating cue. À From these delays, we should subtract the short period—2 All these observations point to the same conclusion: Notch clock cycles at most—required for DAPT to diffuse into the signalling cannot be directly required for genesis of the clock tissue and accomplish the block of Notch signalling. Thus we oscillations, since these evidently continue for 6 to 8 cycles can say that, regardless of whether the DAPT treament begins after the onset of the blockade. For the zebrafish at least, the at the 5-somite stage or the 9-somite stage, approximately 6 oscillation-generator hypothesis seems to be excluded. to 8 somite cycles must elapse from the time when the All the observations are, however, perfectly consistent with blockade of Notch signalling begins to the time when the the synchronization hypothesis, if we assume that the cells in pattern of clock gene expression is effectively disrupted. the posterior PSM continue oscillating when Notch signalling

PLoS Genetics | www.plosgenetics.org0004 February 2008 | Volume 4 | Issue 2 | e15 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. Ex- pression 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 , 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 organ- ism’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 consider- ably in the PSM, and cells’ positions relative to each other do not change consid- erably. 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). Impor-

tantly, 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 re-

served 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 uncov- ered, 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 mecha- nism. 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 tis-

sues 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, qualita- tively identified genetic control circuits were translated into quantitative mathemat- ical 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. Ex- amples 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 re- sulting 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 sys- tems [31]. Like most biological systems, developmental systems usually display mul- tiple 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 mod- els 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 success- fully 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 posterior- most 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 mech- anism. 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 con- structed 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 num- ber 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, Mathe- matica. 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 math- ematical 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 com-

plemented 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. Coun- terintuitively, the addition of diffusion to a spatially uniform and temporally stable system was shown to be capable of destabilizing the uniform distribution into a tran- sient pattern (i.e., the Turing instability). Later RD models, such as the “local activa- tion, 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 pat-

tern.

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, no-

tably, 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 suscepti-

ble 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 succes-

sion 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 funda- mental 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 expres-

sion 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 wave-

front 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 Mein-

hardt 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 non-

linear RD system of partial differential equations:

∂a ρ a2 ∂2a = − µ a + D , ∂t h a ∂2x ∂h ∂2h = ρ a2 − ν h + D , ∂t h ∂2x 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 concen-

tration of a supposed inhibitor molecule with diffusion constant Dh, and Greek letters represent positive system parameters. The activator a auto-catalyzes but is inhibited

a2 by h (note the ρ h 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 (FGF) in the PSM [64]. Decreasing levels of

FGF are at least partially responsible for triggering somite formation [65]. However,

1The 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 mecha-

nisms 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, clock-

like 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 refor- mulation 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, allow- ing 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-proteasome- mediated degradation. They complemented their experimental investigations with the following ODE model: dx = B y − C x − A x z, (1) dt dy E = − D y, (2) dt 1 + x2 dz F = − G x − A x z, (3) dt 1 + x2 where x is the Hes1 protein concentration in the cell, y is the hes1 mRNA concen- tration, 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 for- ward. An early model of Cinquin [72] was one of the first to question whether oscilla- tions 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 com- partments, 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 pre-

liminary. Another recent model took the same subcellular compartment approach

in tracking the Hes1-related clock-gene Hes7 [73], and it was also shown that rate-

limiting 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 complex-

ity 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´e[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 − T ) − b p(t), (4) dt p dm(t) k = 2 − c m(t), (5) dt  p(t−T )  1 + m p0

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 feed-

back 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 clock-

gene. 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].

2Actually, 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 sig- nificant 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 heterodimeriza- tion. 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 devel-

opments 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, specifi-

cally [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 phe-

nomenon known as stochastic resonance. The proper accounting of internal and ex-

ternal 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 somi- togenesis 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 pat-

tern 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 uncom- mitted 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 observa- tions 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 phe- nomenological 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 oscilla- tions 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 anterior- to-posterior (AP) axis of the mesoderm and tailbud. Each cell is associated with a

th phase oscillator, with φk(t) denoting the phase of the k 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 kth cell enters the

PSM, Tk, is given by the linear relationship

k − 1 T = , (6) k λ µ 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 kth

cell’s phase, φk(t), is given by the following differential equation:

˙   2 φk(t) = 1 − s t − Tk; τ 1 sin (2π φk), (7) 2

where s is the following continuously differentiable function that reflects the time the

cell has been in the PSM:   0, t ≤ 0,   „ «.  2 t−τ t  1 1  e 2 , 0 < t ≤ τ 1 ,  2 2 s(t; τ 1 ) = 2 „ «.„ « 2 t−τ t−2 τ  1 1 1 1 − e 2 2 , τ 1 ≤ t < 2 τ 1 ,  2 2 2   1, 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 rep- resents 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

y=s(t−T ; 3), k=1,...,60 (a) y=s(t; 3) (b) k

1 1 t=6 0.8 0.8 t=8 0.6 0.6 y y 0.4 0.4

0.2 0.2

0 0

0 2 4 6 0 20 40 60 t (unitless time) k (cell #)

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-to- 2 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 kth 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) non-

autonomous. 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

th k 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φ /dt, τ =3, T =0 1 1/2 1

1

0.8

0.6 y 0.4 t≤0 0.2 t=3 t≥6 0 0 0.5 1 1.5 2 φ 1

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.

˙ 2 2 ∗ φk(t) = 1 − sin (2π φk) has semi-stable equilibria when sin (2π φk) = 1, i.e., when

1 3 5 φ∗ = ± , ± , ± ,.... (8) k 4 4 4

See Figure 6.

For clarity in the computation of equilibria and discussion of the resulting multi-

stability, 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

1 arranges the cell phases in the first and subsequent somites is φk(0) = 4 , 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, 17 lim φ1(t) = lim φ2(t) = lim φ3(t) = , t→∞ t→∞ t→∞ 4 and 19 lim φ4(t) = lim φ5(t) = lim φ6(t) = . t→∞ t→∞ t→∞ 4 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 long-

term, 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=φ (t), τ =3, T =(k−1)/6, k=1,...,6 k 1/2 k 5 φ (t) 1 4 φ (t) 2 φ (t) 3 3

y φ (t) 4 2 φ (t) 5 φ (t) 1 6

0 0 1 2 3 4 5 6 7 8 t (unitless time)

Figure 7: Computed solutions of the multi-stable phase oscillator model (7) for the 1 first somite (six total cells) with initial condition φk(0) = 4 , 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 19 4 and limt→∞ φ4(t) = limt→∞ φ5(t) = limt→∞ φ6(t) = 4 .

y=φ (60.00), k=1,2,...,60 k 14

12

10 y 8

6

4 0 2 4 6 8 10 x (somite #)

Figure 8: Long-term computed solution behavior of the multi-stable phase oscillator 1 model (7) for ten somites (sixty total cells) with initial condition φk(0) = 4 , 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 equa- tion (7). A convenient choice for converting phase to expression level in the the kth cell, pk(t), is 1  p (t) = 1 + sin (2π φ (t)) . (9) k 2 k

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 somitoge- nesis. 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=p (6.00) y=p (7.00) (a) k (e) k 1 1

y 0.5 0.5

0 0 0 5 10 0 5 10 y=p (6.25) y=p (7.25) (b) k (f) k 1 1

y 0.5 0.5

0 0 0 5 10 0 5 10 y=p (6.50) y=p (7.50) (c) k (g) k 1 1

y 0.5 0.5

0 0 0 5 10 0 5 10 y=p (6.75) y=p (7.75) (d) k (h) k 1 1

y 0.5 0.5

0 0 0 5 10 0 5 10 x (somite #) x (somite #)

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 1 computed numerically using equations (7) with initial conditions φk(0) = 4 , 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 tran- sition. Polarized somites, each with six cells, form anteriorly as more posterior cells continue to oscillate. 35

y=p (60.00) k

1

0.8

0.6 y 0.4

0.2

0 0 2 4 6 8 10 x (somite #)

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 1 computed numerically using equations (7) with initial conditions φk(0) = 4 , 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

t x 2 Z 1  1 + e 2  φ(x, t) = x+s ds = t + ln x+t . 0 1 + e 2 1 + e 2

1Lewis 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

8

y 6

4

2

0 −10 −8 −6 −4 −2 0 x (somite #)

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→∞ x 2!  1 + e 2  = lim t + ln x+t t→∞ 1 + e 2  x 2! t 1 + e 2 = lim ln e + ln x+t t→∞ 1 + e 2  x 2! t 1 + e 2 = lim ln e x+t t→∞ 1 + e 2  x 2! t 1 + e 2 = ln lim e x+t t→∞ 1 + e 2

−x − x = ln (e + 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

1 f(m) = m , 1 + e 2 m(x, t) = x + t, 1 w(z) = , 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 param-

eter τ 1 , makes the model readily tunable to different species. 2

2This transient expression in the occurs for some genes, but not for others. 38

φ y=w(z( ∞(x))), Lewis Phase Oscillator

1

0.8

0.6 y 0.4

0.2

0 −10 −8 −6 −4 −2 0 x (somite #)

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 general- ized 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

3Cooke 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 some- what 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 chap- ter. 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 intercel-

lular 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 synchro- nization 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 coordina-

tion/synchronization mechanism operating solely to overcome system noise. There is

some evidence that, depending on the organism, the coupling may form a core com-

ponent 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 biochem- istry. 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 spatiotem- poral 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 experi- mentally 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 gradient- wavefront 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 nonlinear-

ity [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. Out- puts 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 clock-

waveform. 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 or-

ganisms, 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 oscilla-

tor 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 oscil- lates 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 re-

maining 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 appar-

ently 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 de-

lay in protein production, and the transport of molecules between the nuclear and

cytosolic compartments within a cell or between the cytosolic compartments of adja-

cent cells. This system is capable of autonomous, sustained oscillatory gene expres-

sion [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 addi-

tional 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 forma-

tion 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 bind-

ing [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 in-

vestigations [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 ex-

pression between cells through intercellular signaling. In all model organisms this

intercellular coupling is achieved through the [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 oscilla- tions, 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 as- sumed to enter the posterior-most PSM from the initiation zone in anterior-most tail- bud at regularly spaced time intervals, without volume change or rearrangement [11].

th Tk denotes the time of entry of the k cell, and is given by the linear relationship in equation (6) from Chapter 3, page 27, which is repeated here:

k − 1 T := , (11) k λ µ

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 oscil-

lation 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.

th For the k 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:

Cbk(t) := Ck(t) + 2 C:Ck(t) + C:Gk(t), (12)

Gbk(t) := Gk(t) + 2 G:Gk(t) + C:Gk(t), (13)

where Ck, C:Ck, Gk, G:Gk, and C:Gk are the nuclear copy number of clock pro- tein monomer, clock protein homodimer, control protein monomer, control protein homodimer, and clock protein heterodimer with control protein, respectively.

The Control Protein

The amount of nuclear total control protein Gbk(t) is assumed to be controlled by an external system that is not explicitly modeled here. Before cell k leaves the

tailbud and enters the posterior PSM (t < Tk), Gbk(t) is assumed to be maintained at

max a maximal constant Gb . After entering the PSM (t ≥ Tk), the total control protein

is assumed to decrease monotonically to zero with half-life τ 1 . Altogether, Gbk(t) is 2 given by

max Gbk(t) = Gb · g(t − Tk; τ 1 ), (14) 2 51

with the continuously differentiable function g given by   1, t ≤ 0,   „ «.  2 t−τ t  1 1 1 − e 2 , 0 < t ≤ τ 1 ,  2 2 g(t; τ 1 ) = (15) 2 „ «.„ « 2 t−τ t−2 τ  1 1 1  e 2 2 , τ 1 ≤ t < 2 τ 1 ,  2 2 2   0, 2 τ 1 ≤ t,  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 expo-

nential profile [43]   1, t ≤ 0, gexp(t; τ 1 ) =  ln 2  (16) 2 − t  τ 1 e 2 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

(a) Temporal Gradient, (b) Spatial Gradient, Cells 1 and 10 Time= 84 min.

1 Cell 1 1 Cell 10 0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0

Normalized Total Control Protein 0 50 100 150 200 Normalized Total Control Protein 1 10 20 30 40 50 Time (min.) Cell # (1 is anterior)

Figure 13: Total control protein gradients. The spatiotemporal gradient of the nor-

Gbk(t) malized total control protein, = g(t − Tk; 30), where t is time, Tk is the time Gbmax 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. 53

Competitive dimerization of the clock and control proteins is represented by the

following three possible bidirectional dimerization reactions:

k+ k+ k+ 2 C C:C C:C, 2 G G:G G:G, and C + G C:G C:G, (17) − − − kC:C kG:G kC:G 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 consid-

ering 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 kth cell:

˙ − Ck(t) = αC ck(t − τC ) − βC Ck(t) + 2 kC:C C:Ck(t) −

+ 2 − + 2 kC:C (Ck(t)) + kC:G C:Gk(t) − kC:G Ck(t) Gk(t), (18)

˙ − + 2 C:Ck(t) = −βC:C C:Ck(t) − kC:C C:Ck(t) + kC:C (Ck(t)) , (19)

˙ − Gk(t) = Pk(t) − βG G(t) + 2 kG:G G:Gk(t) −

+ 2 − + 2 kG:G (Gk(t)) + kC:G C:Gk(t) − kC:G Ck(t) Gk(t), (20)

˙ − + 2 G:Gk(t) = −βG:G G:Gk(t) − kG:G G:Gk(t) + kG:G (Gk(t)) , (21)

˙ − + C:Gk(t) = −βC:G C:Gk(t) − kC:G C:Gk(t) + kC:G Ck(t) Gk(t), (22)

c˙k(t) = γc Hn(C:Ck(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. Fur- thermore, 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:

˙ ˙ ˙ ˙ Cbk(t) = Ck(t) + 2 C:Ck(t) + C:Gk(t)

= αC ck(t − τC ) − βC Ck(t) − 2 βC:C C:Ck(t) − βC:G C:Gk(t).

Pre-appending this differential equation for total clock protein to the above system gives the following:

˙ Cbk(t) = αC ck(t − τC ) − βC Ck(t) − 2 βC:C C:Ck(t) − βC:G C:Gk(t), (24)

˙ − Ck(t) = αC ck(t − τC ) − βC Ck(t) + 2 kC:C C:Ck(t) −

+ 2 − + 2 kC:C (Ck(t)) + kC:G C:Gk(t) − kC:G Ck(t) Gk(t), (25)

˙ − + 2 C:Ck(t) = −βC:C C:Ck(t) − kC:C C:Ck(t) + kC:C (Ck(t)) , (26)

˙ − Gk(t) = Pk(t) − βG Gk(t) + 2 kG:G G:Gk(t) −

+ 2 − + 2 kG:G (Gk(t)) + kC:G C:Gk(t) − kC:G Ck(t) Gk(t), (27)

˙ − + 2 G:Gk(t) = −βG:G G:Gk(t) − kG:G G:Gk(t) + kG:G (Gk(t)) , (28)

˙ − + C:Gk(t) = −βC:G C:Gk(t) − kC:G C:Gk(t) + kC:G Ck(t) Gk(t), (29)

c˙k(t) = γc Hn(C:Ck(t − τc)) − δc ck(t). (30) 55

Note that the special case where β = β = β =: β gives linear decay of C C:C C:G Cb total clock protein, i.e., equation (24) becomes

˙ Cbk(t) = αC ck(t − τC ) − βC Ck(t) − 2 βC:C C:Ck(t) − βC:G C:Gk(t)

= α c (t − τ ) − β (C (t) + 2 C:C (t) + C:G (t)) C k C Cb k k k = α c (t − τ ) − β C (t). (31) C k C Cb bk

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

1A 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,

ZON Hn(C:C) = , ZON + ZOFFn

where ZON and ZOFFn are sums of terms representing states where RNAP-II com- plex 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

ρP P Hn(C:C) = , (32) ρP P + (1 + Ψn(C:C)) 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

∆GP thermodynamically derived formula ρP := e RT , where R is the ideal gas constant and T is the temperature [23]. In the denominator of (32), the zero energy state with

0 ∆G0 nothing bound to DNA (∆G0 = 0) is represented by the constant 1 = e = e RT . 57

While binding energies have been measured in certain model prokaryotic sys-

tems [23, 108, 109, 118], to this author’s best knowledge they have not been mea-

sured 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 signifi-

cant 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,

Ψ (C:C) = ρ C:C + ρ C:C + ω (ρ C:C)(ρ C:C) , (34) 2 C:C- -C:C C:C C:C- -C:C where ρ and ρ are the binding affinities for the C:C homodimer to the first C:C- -C:C

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 Ψ2(C:C) := 2 (ρC:C C:C) + ωC:C (ρC:C C:C) . (35)

Altogether, gene regulation with one or two binding sites for a single, ideal repres- sor is given by the function

ρ Hn(C:C) := , (36) ρ + (1 + Ψn(C:C))

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

th The dynamics of the coordinating signal protein, Sk, and mRNA, sk, in the k cell are given by the following equations, which are respectively similar to (24) and (30):

˙ Sk(t) = αS sk(t − τS) − βS Sk(t),

s˙k(t) = γs H1(C:Ck(t − τs)) − δs sk(t),

with Greek letters representing the analogous parameters and H1 as given in equa- tion (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 coordinating- signal 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 clock- gene 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:

c˙k(t) = γc Fn(C:Ck(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:

ZON Fn(C:C,N) = , 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

Z = 1 + ρ C:C + ρ C:C + ω (ρ C:C)(ρ C:C) + OFF2 C:C- -C:C C:C C:C- -C:C ρ N + ω (ρ N)(ρ C:C) + ω (ρ N)(ρ C:C) + N N-C:C- N C:C- N--C:C N -C:C ω (ρ N)(ρ C:C)(ρ C:C) , N-C:C-C:C N C:C- -C:C where ω , ω , and ω represent the cooperativity between simul- N-C:C- N--C:C N-C:C-C:C taneously bound repressor and activator molecules, with the first, second, and both repressor site(s) occupied, respectively. As before, ρ and ρ are the binding C:C- -C:C 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

ω = ω = 1 and ω = ω . N-C:C- N--C:C 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

2 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)

= (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

ρ (1 + ωN ρN N) Fn(C:C,N) := . (38) ρ (1 + ωN ρN N) + (1 + ρN N) (1 + Ψn(C:C))

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:

˙ Cbk(t) = αC ck(t − τC ) − βC Ck(t) − 2 βC:C C:Ck(t) − βC:G C:Gk(t), (39)

˙ − Ck(t) = αC ck(t − τC ) − βC Ck(t) + 2 kC:C C:Ck(t) −

+ 2 − + 2 kC:C (Ck(t)) + kC:G C:Gk(t) − kC:G Ck(t) Gk(t), (40)

˙ − + 2 C:Ck(t) = −βC:C C:Ck(t) − kC:C C:Ck(t) + kC:C (Ck(t)) , (41)

˙ − Gk(t) = Pk(t) − βG Gk(t) + 2 kG:G G:Gk(t) −

+ 2 − + 2 kG:G (Gk(t)) + kC:G C:Gk(t) − kC:G Ck(t) Gk(t), (42)

˙ − + 2 G:Gk(t) = −βG:G G:Gk(t) − kG:G G:Gk(t) + kG:G (Gk(t)) , (43)

˙ − + C:Gk(t) = −βC:G C:Gk(t) − kC:G C:Gk(t) + kC:G Ck(t) Gk(t), (44)

c˙k(t) = γc Fn(C:Ck(t − τc),Nk(t − τc)) − δc ck(t), (45)

˙ Sk(t) = αS sk(t − τS) − βS Sk(t), (46)

s˙k(t) = γs H1(C:Ck(t − τs)) − δs sk(t), (47) where

X Nk(t) = Si(t), (48) {i: cell i adjacent to cell k} and subject to the following constraints:

Cbk(t) = Ck(t) + 2 C:Ck(t) + C:Gk(t), (49)

Gbk(t) = Gk(t) + 2 G:Gk(t) + C:Gk(t). (50) 65

where the total control protein is prescribed by

max Gbk(t) = Gb · g(t − Tk; τ 1 ). (51) 2

The next section explains how a fast dimerization approximation is used to signif- icantly 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 dimer-

ization 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 omitted, and the dependent variables are rescaled to the dimensionless variables Xb, 66

X, X:X, Yb, Y , Y :Y , X:Y , x, W , Z, and z as follows: τ  τ  τ  Cb C C:C Xb(τ) := ν ,X(τ) := ν ,X:X(τ) := ν , κC:C κC:C κC:C τ  τ  τ  Gb G G:G Yb(τ) := ν ,Y (τ) := ν ,Y :Y (τ) := ν , κG:G κG:G κG:G τ  τ  τ  C:G ν c ν N ν X:Y (τ) := , x(τ) := ,W (τ) := γs , κC:G κC:C αS τ  τ  S ν s ν Z(τ) := γs , z(τ) := γs , αS αS where the positive dimerization dissociation constants are defined as follows: − − − kC:C kG:G kC:G κC:C := + , κG:G := + , and κC:G := + , kC:C kG:G kC:G each with units of copy number. γs , also with units of copy number, is a convenient αS 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: ˙ τ  Cb Xb0(τ) = ν ν κC:C α c τ−τC  − β C τ  − 2 β C:C τ  − β C:G τ  = C ν C ν C:C ν C:G ν ν κC:C α  τ  β β β κ = C x τ − C − C X(τ) − 2 C:C X:X(τ) − C:G C:G X:Y (τ), ν ν ν ν ν κC:C

C˙ τ  X0(τ) = ν ν κC:C  τ − τ  τ  τ   τ 2 = α c C − β C + 2 k− C:C − 2 k+ C + C ν C ν C:C ν C:C ν , τ  τ  τ   k− C:G − k+ C G (ν κ ) C:G ν C:G ν ν C:C α  τ  β k− = C x τ − C − C X(τ) + 2 C:C X:X(τ) − (X(τ))2 + ν ν ν ν k− κ κ  C:G C:G X:Y (τ) − G:G X(τ) Y (τ) , ν κC:C κC:G 67

C:˙C τ  X:X0(τ) = ν ν κC:C −β C:C τ  − k− C:C τ  + k+ C τ 2 = C:C ν C:C ν C:C ν ν κC:C β k− = − C:C X (τ) − C:C X (τ) − (X (τ))2 , ν 2 ν 2 1

G˙ τ  Y 0(τ) = ν ν κG:G  τ  τ  τ   τ 2 = P − β G + 2 k− G:G − 2 k+ G + ν G ν G:G ν G:G ν τ  τ  τ   . k− C:G − k+ C G (ν κ ) C:G ν C:G ν ν G:G P τ  β k− = ν − G Y (τ) + 2 G:G G:G(τ) − (Y (τ))2 + ν κG:G ν ν k− κ κ  C:G C:G X:Y (τ) − C:C X(τ) Y (τ) , ν κG:G κC:G

G:˙G τ  Y :Y 0(τ) = ν ν κG:G −β G:G τ  − k− G:G τ  + k+ G τ 2 = G:G ν G:G ν G:G ν ν κG:G β k− = − G:G Y :Y (τ) − G:G Y :Y (τ) − (Y (τ))2 , ν ν

C:˙G τ  X:Y 0(τ) = ν ν κC:G −β C:G τ  − k− C:G τ  + k+ C τ  G τ  = C:G ν C:G ν C:G ν ν ν κC:G −   βC:G kC:G κC:C κG:G = − X:Y (τ) − X:Y (τ) − 2 X(τ) Y (τ) , ν ν κC:G

c˙ τ  x0(τ) = ν ν κC:C γ F C:C τ−τc  ,N τ−τc  − δ c τ  = c n ν ν c ν ν κC:C   γc  τc  αS  τc  δc = Fn κC:C X:X τ − , W τ − − x(τ), ν κC:C ν γs ν ν 68

S˙ τ  Z(τ) = ν ν γs αS α s τ−τS  − β S τ  = S ν S ν ν γs αS α  τ  β = S z τ − S − S Z(τ), ν ν ν

s˙ τ  z(τ) = ν ν γs αS γ H C:C τ−τs  − δ s τ  = s 1 ν s ν ν γs αS α   τ  δ = S H κ X:X τ − s − s z(τ). ν 1 C:C ν ν 69

Altogether, this gives the following equivalent non-dimensionalized system, which has small parameters if the dimerization reactions (17) are fast:

αC  τC  βC Xb0(τ) = x τ − − X(τ) − ν ν ν β β κ 2 C:C X:X(τ) − C:G C:G X:Y (τ), ν ν κC:C

ν 0 αC  τC  βC 2 − X (τ) = − x τ − − − X(τ) + 2 X:X(τ) − (X(τ)) + kC:C kC:C ν kC:C −   kC:G κC:G κG:G − X:Y (τ) − X(τ) Y (τ) , kC:C κC:C κC:G

ν 0 βC:C 2 − X:X (τ) = − − X:X(τ) − X:X(τ) − (X(τ)) , kC:C kC:C τ  ν 0 1 P ν βG 2 − Y (τ) = − − − Y (τ) + 2 Y :Y (τ) − (Y (τ)) + kG:G kG:G κG:G kG:G −   kC:G κC:G κC:C − X:Y (τ) − X(τ) Y (τ) , kG:G κG:G κC:G

ν 0 βG:G 2 − Y :Y (τ) = − − Y :Y (τ) − Y :Y (τ) − (Y (τ)) , kG:G kG:G   ν 0 βC:G κC:C κG:G − X:Y (τ) = − − X:Y (τ) − X:Y (τ) − 2 X(τ) Y (τ) , kC:G kC:G κC:G   0 γc  τc  αS  τc  δc x (τ) = Fn κC:C X:X τ − , W τ − − x(τ), ν κC:C ν γs ν ν α  τ  β Z(τ) = S z τ − S − S Z(τ), ν ν ν α   τ  δ z(τ) = S H κ X:X τ − s − s z(τ). ν 1 C:C ν ν Given the following unitless parameter definitions:

ν αC βC βC:C εX := − , εαC := − , εβC := − , εβC:C := − , kC:C kC:C kC:C kC:C

ν 1 βG βG:G εY := − , ε1 := − , εβG := − , εβG:G := − , kG:G kG:G kC:G kC:G

ν βC:G εX:Y := − , εβC:G := − , kC: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, correspond- ing to the use of this constant in the definition of ν in (52).)

Rewriting yet again, the system becomes:

αC  τC  βC Xb0(τ) = x τ − − X(τ) − ν ν ν β β κ 2 C:C X:X(τ) − C:G C:G X:Y (τ), (53) ν ν κC:C  τ  ε X0(τ) = ε x τ − C − ε X(τ) + 2 X:X(τ) − (X(τ))2 + X αC ν βC −   kC:G κC:G κG:G − X:Y (τ) − X(τ) Y (τ) , (54) kC:C κC:C κC:G

0 2 εX X:X (τ) = −εβC:C X:X(τ) − X:X(τ) − (X(τ)) , (55)

τ  0 P ν 2 εY Y (τ) = εPG − εβG Y (τ) + 2 Y :Y (τ) − (Y (τ)) + κG:G −   kC:G κC:G κC:C − X:Y (τ) − X(τ) Y (τ) , (56) kG:G κG:G κC:G

0 2 εY Y :Y (τ) = −εβG:G Y :Y (τ) − Y :Y (τ) − (Y (τ)) , (57)   0 κC:C κG:G εX:Y X:Y (τ) = −εβC:G X:Y (τ) − X:Y (τ) − 2 X(τ) Y (τ) , (58) κC:G   0 γc  τc  αS  τc  δc x (τ) = Fn κC:C X:X τ − , W τ − − x(τ), (59) ν κC:C ν γs ν ν α  τ  β Z(τ) = S z τ − S − S Z(τ), (60) ν ν ν α   τ  δ z(τ) = S H κ X:X τ − s − s z(τ). (61) ν 1 C:C ν ν 71

− The fast equilibrium approximation of this system is given in the limit as kC:C → − − − − kC:G kC:G ∞, kG:G → ∞, and kC:G → ∞ such that − and − both remain bounded. In kC:C kG:G 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

αC  τC  βC βC:C βC:G κC:G Xb0(τ) = x τ − − X(τ) − 2 X:X(τ) − X:Y (τ), (62) ν ν ν ν ν κC:C

X:X(τ) = (X(τ))2 , (63)

Y :Y (τ) = (Y (τ))2 , (64)

κC:C κG:G X:Y (τ) = 2 X(τ) Y (τ), (65) κC:G   0 γc  τc  αS  τc  δc x (τ) = Fn κC:C X:X τ − , W τ − − x(τ), (66) ν κC:C ν γs ν ν α  τ  β Z(τ) = S z τ − S − S Z(τ), (67) ν ν ν α   τ  δ z(τ) = S H κ X:X τ − s − s z(τ). (68) ν 1 C:C ν ν

Note that the right hand sides of (54) and (56) are both zero in the limit under the

− − kC:G kC:G assumption that both the ratios − and − remain bounded and by considering kC:C kG:G the limiting relationships given by (55), (57), and (58).

Both dimerization reaction directions are indeed fast in this approximation be- cause assuming

− − − kC:C → ∞, kG:G → ∞, kC:G → ∞

and that κC:C , κG:G, and κC:G remain bounded, implies

− − − + kC:C + kG:G + kC:G kC:C = → ∞, kG:G = → ∞, kC:G = → ∞. κC:C κG:G κG:G 72

Furthermore, in practice,

−1 ν = max {αC , βC , βC:C , 1, βG, βG:G, βC:G} = 4.5 minute ,

so that

ν − −1 εX = −  1 when kC:C  4.5 minute , kC:C

ν − −1 εY = −  1 when kG:G  4.5 minute , kG:G

ν − −1 εX:Y = −  1 when kC:G  4.5 minute . kC:G

Not only are the dimerization reaction rates typically unknown, the dissociation con-

stants 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:

κC:G Xb(τ) = X(τ) + 2 X:X(τ) + X:Y (τ), κC:C

κC:G Yb(τ) = Y (τ) + 2 Y :Y (τ) + X:Y (τ). κG:G

Appending these constraints and renaming parameters as follows:

τ α β β β τ := C , α := C , β := C , β := C:C , β := C:G , X ν X ν X ν X:X ν X:Y ν

τc γc δc κC:C κG:G τx := , γx := , δx := , κX := , κY := , ν ν κC:C ν κC:G κC:G

τ α β τ δ τ := S , α := S , β := S , τ := s , δ := s , Z ν Z ν Z ν z ν z ν 73

gives the following equivalent non-dimensionalized system after some algebraic sim-

plification and reintroduction of cell indexing:

0 Xbk(τ) = αX xk (τ − τX ) − βX Xk(τ) − 2 2 βX:X Xk(τ) − βX:Y κY Xk(τ) Yk(τ), (69)

 2  0   αS xk(τ) = γx Fn κC:C Xk(τ − τx) , Wk (τ − τx) − δx xk(τ), (70) γs

Zk(τ) = αZ zk(τ − τZ ) − βZ Zk(τ), (71)

  2 zk(τ) = αZ H1 κC:C Xk(τ − τz) − δz zk(τ), (72)

2 Xbk(τ) = Xk(τ) + 2 Xk(τ) + κY Xk(τ) Yk(τ), (73)

2 Ybk(τ) = Yk(τ) + 2 Yk(τ) + κX Xk(τ) Yk(τ), (74) where

X Wk(τ) = Zi(τ). (75) {i: cell i adjacent to cell k}

If the last two nonlinear algebraic equations in this system ((73)–(74)) can be solved

to give Xk(τ) and Yk(τ) as functions of Xbk(τ) and Ybk(τ), then this solution can be

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

Xbk(t) and Ybk(t). Omitting the cell index and dimensionless time from the notation, these two equations can be rewritten as

2 0 = 2 X + (1 + κY Y ) X − X,b (76)

2 0 = 2 Y + (1 + κX X) Y − Y.b (77) 74

The quadratic formula can be used to solve equation (77) for the non-negative

root Y in terms of X giving

q 2 − (1 + κX X) + (1 + κX X) − 4 · 2 (−Yb) Y = 2 · 2 q  1 2 = (1 + κX X) + 8 Yb − (1 + κX X) . 4 Substituting this expression for Y into equation (76) gives  q  2 κY 2 0 = 2 X + 1 + (1 + κX X) + 8 Yb − (1 + κX X) X − X.b (78) 4 Squaring both sides of the following equivalent equation: q  κY 2 2  κY  (1 + κX X) + 8 Yb X = Xb − 2 X − 1 − (1 + κX X) X 4 4 gives the following quartic polynomial equation in X:

κ κ  0 = (κ κ − 4) X4 + Y X + κ − 4 x3 + Y X 2 Y 2 ! ! κ Yb κY κX Xb κY κY Xb Y − + + 4 Xb − 1 X2 + 2 Xb − X − Xb2. (79) 2 2 2 2 A non-negative solution to equation (78) is also a solution to the quartic equa- tion (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 X = (1 + κY Y ) + 8 Xb − (1 + κY Y ) , 4 q  1 2 Y = (1 + κX X) + 8 Yb − (1 + κX X) , 4

2 which defines a map f from the non-negative quadrant R+ into itself, namely,     X X  n+1  n   = f   (80) Yn+1 Yn

whose component functions f1 and f2 are given by q  1 2 Xn+1 = f1(Yn) := (1 + κY Yn) + 8 Xb − (1 + κY Yn) , (81) 4 q  1 2 Yn+1 = f2(Xn) := (1 + κX Xn) + 8 Yb − (1 + κX Xn) , (82) 4

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, and kf n(w) − pk ≤ cnkw − pk, 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:   0 κY 1 + κY Y f1(Y ) = q − 1 < 0, 4 2 (1 + κY Y ) + 8 Xb   0 κX 1 + κX X f2(X) = q − 1 < 0. 4 2 (1 + κX X) + 8 Yb

Furthermore, the second derivatives of f1 and f2 are given by

− 3 00 2  2  2 f1 (Y ) = 2 κY Xb (1 + κY Y ) + 8 Xb ≥ 0, − 3 00 2  2  2 f2 (X) = 2 κX Yb (1 + κX X) + 8 Yb ≥ 0,

0 0 so that f1 and f2 are negative, non-decreasing, and bounded above by zero. Thus,

0 the maximum absolute values of these derivatives occur at zero, and |(f1 ◦ f2) | may be bounded as follows:

0 0 0 |(f1 ◦ f2) (X)| = |f1(f2(X)) f2(X)|

0 0 = |f1(f2(X))| · |f2(X)|

0 0 ≤ |f1(0)| · |f2(0)| !! !! κY 1 κX 1 = 1 − p 1 − p 4 1 + 8 Xb 4 1 + 8 Yb ! ! κY κX 1 1 = 1 − p 1 − p , 16 1 + 8 Xb 1 + 8 Yb 77

0 with the same bound holding for |(f2 ◦ f1) |. 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 be-

comes     κ κ 1 1 C:C G:G 1 − 1 − < 1. 16 κ2  q   q  C:G 1 + 8 Cb 1 + 8 Gb κC:C κ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 disso-

ciation 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 com- puted 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 func-

tions (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 dimer- ization of three proteins is given in Appendix B. 78

Model Summary

Converting the non-dimensionalized model (69)–(74) back into the original vari- ables 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) Cbk(t) = αC ck(t − τC ) − βC Ck(t) − 2 βC:C − βC:G , (83) κC:C κC:G 2 ! Ck(t − τc) c˙k(t) = γc Fn ,Nk(t − τc) − δc ck(t), (84) κC:C

˙ Sk(t) = αS sk(t − τS) − βS Sk(t), (85) 2 ! Ck(t − τs) s˙k(t) = γs H1 − δs sk(t), (86) κC:C 2 Ck(t) Ck(t) Gk(t) Cbk(t) = Ck(t) + 2 + , (87) κC:C κC:G 2 Gk(t) Ck(t) Gk(t) Gbk(t) = Gk(t) + 2 + , (88) κG:G κC:G where

X Nk(t) = Si(t), (89) {i: cell i adjacent to cell k} and the total control protein is prescribed by

max Gbk(t) = Gb · g(t − Tk; τ 1 ). (90) 2

Note that, after computing monomer levels, Ck(t) and Gk(t), from a given amount of total clock protein and total control protein, Cbk(t) and Cbk(t), the corresponding 79

dimer levels are given by

2 Ck(t) C:Ck(t) = , (91) κC:C 2 Gk(t) G:Gk(t) = , (92) κG:G

Ck(t) Gk(t) C:Gk(t) = . (93) κC:G

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 ze- brafish 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 de-

veloped with substantial consideration of the zebrafish model organism. In this chap-

ter, the PCW model is validated against experimental data in zebrafish. Validation

demonstrates that the PCW model is capable of reproducing the experimentally ob-

served 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 be-

havior of the clock-wave is shown to be sufficient in constraining the genetic control

mechanisms underlying the somitogenesis clock in zebrafish. Model validation con-

firms 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, differ-

ential 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 η , (Michaelis-Menten Kinetics) C∗ + C

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 esti-

mated.

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 valida-

tion. In addition, computation of fifty solutions of the adjoining nonlinear system of

algebraic equations is necessary for the fast dimerization approximation. During nu-

merical 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 well-

established 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 perturba- tion of all model parameters (some 1100 parameters for a fifty cell simulation).

A task in model validation that is especially computationally intensive is the es- timation of model parameters that have not been experimentally determined. Monte

Carlo methods are useful for estimating parameters from high-dimensional, biolog- ically 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 numer-

ous simulations (numbering in the tens of thousands) may be carried out in parallel

across multiple computer processors. A useful by-product of this estimation proce-

dure 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 rou-

tines for simulating the model itself, code must be written to handle parameter sam-

pling 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 specif-

ically 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. In-

evitably, 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

1As 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]. Further-

more, 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 het-

erodimerizes 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 expres- sion [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 clock- wave 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 synchro-

nized [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, includ-

ing 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 het-

erodimer 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:

2dde23 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 coordinating-

signal 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 nom-

inal 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 deter-

mined are first given, including citations for each choice3. After these known param-

eters, range selections for estimated parameters are given and explained. Estimated

3Copy numbers per compartment can be converted to molar concentration using Avogadro’s

4 3 3 constant with a nuclear volume Vnuc = 3 π (2.5 µm) = 65.4 µm and a cytosolic volume Vcyt = 4 3 3 3 3 π (5 µm) − (2.5 µm) = 458 µm , where the nuclear diameter is 5 µm [27] and the cell diameter 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

1 period, T , is computed and this computed period is used to determine µ = T .

µ determines the exit times Tk of cells from the tailbud using (11): k − 1 T = . k λ µ In zebrafish, the oscillatory gene expression in the tailbud has a period of 30 min-

◦ 1 utes at 28 C[5], so at this temperature µ = 30 somites per minute. If for any 89

reason the oscillation period cannot be computed after the settling time, the

1 default value µ = 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]:  ρ   ρ  γ = γ = 33 mRNA copies/minute. c ρ + 1 s ρ + 1

ρ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 mea-

sured 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

ρC:C all simulations, i.e., ρN = 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

−1 value used is δc = 0.206 minute 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

−1 value βS = 0.23 minute 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

−1 simulations the value used is δs = 0.273 minute 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:

Gbmax The maximum level of total control protein, which occurs in the tailbud and 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

zebrafish are unavailable, so Gbmax is estimated from the range 0 to 2000 copies 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

1 max to 2 Gb . To the best of this author’s knowledge, quantitative data for this parameter for the control protein Her13.2 in zebrafish are unavailable. Multi-

cellular 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 knowl-

1 edge, data for zebrafish are unavailable, so ρ is estimated from the range 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, post- transcriptional 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 (non- measured) 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] corre-

ln 2 sponding to a protein monomer half-life of 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 dif-

ferently 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], concern- ing 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 the tailbud Gbmax, determines ∆T . Zero-valued history functions are initially used for the state variables Cbk(t), ck(t), Sk(t), and sk(t) (equations (83)–(86)), k = 1 or 2, 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

max constant total control protein level Gbk(t) = Gb and the state variable Cbk(t). For each sampled parameter combination the model is initially simulated in the

absence of total control protein (Gbmax = 0). If this initial solution settles into sus- tained oscillations, then the effect of increasing the maximum total control protein

level on the period is determined, i.e., ∆T is computed. Gbmax is increased in steps 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

functions while stepping through Gbmax. To minimize possible stochastic effects not 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

solutions with 1) any nontrivial period for Gbmax = 0, and 2) any nontrivial period for 96

(c) max max (a) (b) Solutions for ∆T & ∆T Model Comparison ∆T Distributions III IV 25 70 Periodic Model III 70 Model III ± 60 30 3 min. 20 Model IV Model IV 50 60 15 40 ∆T = 15 * 50 ∆Tmax = 29.3 30 10 III

20 Period (min.) 40 % of Simulations % of Simulations 5 ∆Tmax = 8.7 10 IV 0 0 30 I II III IV 0 5 10 15 20 25 30 0 500 1000 1500 2000 Model Number ∆T (min.) Total Control Protein (copy #)

Figure 15: Model selection. (a) Dark bars: the percentage of periodic solutions in 40,000 simulations when Gbmax = 0 copies/nucleus. Light bars: the percentage of periodic solutions in 40,000 simulations also exhibiting the tailbud period of 30±3 min for some level of Gbmax in the range 0–2000 copies/nucleus. (b) Stacked distributions 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 curve for model III stops at Gbmax = 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.

Gbmax = 0 and a period of 30 ± 3 minutes for some level of Gbmax in the range 0 to 2000 copies per nucleus:

SolutionModel 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

 ∆T Model Interval [0, 2.5) [2.5, 5) [5, 7.5) [7.5, 10) [10, 12.5) [12.5, 15) III 966 910 1049 893 516 292

IV 8987 5026 853 22 0 0

 ∆T Model Interval [15, 17.5) [17.5, 20) [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 ∆TIV = 8.7 minutes. This is considerably smaller than the minimum ∆T necessary

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 period change for model III is ∆TIII = 29.3 minutes, satisfying critierion (b) on 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:

 max ∆T Param. ρ τc ρC:C ωC:C βC κG:G κC:C κC:G Gb

max ∆TIII = 29.3 0.639 5.66 0.944 30.9 0.497 22.5 155 584 700

max ∆TIV = 8.7 0.447 6.39 0.718 30.6 0.250 98.5 738 851 1000–2000

Note that a more biologically realistic clock-wave is typically generated by choosing,

when possible, a smaller value of total control protein Gbmax that still produces suf-

max ficiently large ∆T . This is done with the clock-wave simulation with ∆TIV where Gbmax = 1000 copies per nucleus is used instead of 2000 copies per nucleus. As seen 98

in Figure 15c, the ∆T vs. Gbmax curve for model IV is very flat in this interval, and 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 pro-

vides 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 0 0 0.331 2 3 2.3 4 5 6 8.1 0.01 0.5 1 1 50 100 τ ρ ω ρ c C:C C:C 30±3 min 30±3 min 30±3 min 30±3 min 1000 2000 2000 2000

500 1000 1000 1000

0 0 0 0 0.331 2 3 2.3 4 5 6 8.1 0.01 0.5 1 1 50 100 τ ρ ω ρ c C:C C:C ∆T≥15 min ∆T≥15 min ∆T≥15 min ∆T≥15 min 100 100 40 40

50 50 20 20

0 0 0 0 0.331 2 3 2.3 4 5 6 8.1 0.01 0.5 1 1 50 100 τ ρ ω ρ c C:C 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 Periodic Periodic Periodic 5000 10000 4000 10000

5000 2000 5000

0 0 0 0 0.2 0.35 0.5 10 500 1000 10 500 1000 10 500 1000 β κ κ κ C G:G C:C C:G 30±3 min 30±3 min 30±3 min 30±3 min 2000 2000 400 2000

1000 1000 200 1000

0 0 0 0 0.2 0.35 0.5 10 500 1000 10 500 1000 10 500 1000 β κ κ κ C G:G C:C C:G ∆T≥15 min ∆T≥15 min ∆T≥15 min ∆T≥15 min 200 200 50 50

100 100

0 0 0 0 0.2 0.35 0.5 10 500 1000 10 500 1000 10 500 1000 β κ κ κ C G:G C:C 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 sat- isfying 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 for this validation stage, the total control protein Gb is spatiotemporally graded across the cells, as given by equation (90) on page 78.

For the state variables Cb, c, S, and s, Figures 18 and 19 compare the simulated

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 103

time= 265.0 min time= 265.0 min

200 4000 600 600 150 400 400 2000 100 200 200 50 c mRNA (copy #) b 0 0 b 0 0 b C protein (copy #) 0 10 20 30 40 50 G protein (copy #) 0 10 20 30 40 50 G protein (copy #)

600 80 600 1000 60 400 400 500 40 200 200 20 s mRNA (copy #) b S protein (copy #) 0 0 0 0 b G protein (copy #) 0 10 20 30 40 50 0 10 20 30 40 50 G Protein (copy #) Cell # (1 is anterior) Cell # (1 is anterior)

Figure 18: Simulated clock-wave in fifty homogeneous cells for the model III param- max 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 re- spect 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 nom- inal values. Clock-wave formation still proceeds in a reasonable fashion, satisfying criterion (d). 104

time= 265.0 min time= 265.0 min

1500 1000 1000 100 1000 500 500 50 500 c mRNA (copy #) b b b 0 0 0 0 C protein (copy #) 0 10 20 30 40 50 G protein (copy #) 0 10 20 30 40 50 G protein (copy #)

1000 1000 1000 60

40 500 500 500 20 s mRNA (copy #) b S protein (copy #)

0 0 0 0 b G protein (copy #) 0 10 20 30 40 50 0 10 20 30 40 50 G Protein (copy #) Cell # (1 is anterior) Cell # (1 is anterior)

Figure 19: Simulated clock-wave in fifty homogeneous cells for the model IV parame- max max ter selection giving ∆TIV = 8.7 min. Model IV, with small ∆TIV , does not produce 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. 105

time= 265.0 min time= 265.0 min

200 4000 600 600 150 400 400 2000 100 200 200 50 c mRNA (copy #) b b b 0 0 0 0 C protein (copy #) 0 10 20 30 40 50 G protein (copy #) 0 10 20 30 40 50 G protein (copy #)

1500

600 60 600 1000 400 40 400 500 200 20 200 s mRNA (copy #) b S protein (copy #) 0 0 0 0 b G protein (copy #) 0 10 20 30 40 50 0 10 20 30 40 50 G Protein (copy #) Cell # (1 is anterior) Cell # (1 is anterior)

Figure 20: Simulated clock-wave in fifty heterogeneous cells for the model III pa- max 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 clock- wave 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 spa-

tiotemporal 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 somito-

genesis. In morpholino knockdown of Her1 clock protein zebrafish, redundancy in

the remaining clock-genes (including her7, which is the PCW model’s putative clock-

gene) 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. 107

time= 265.0 min time= 265.0 min

600 200 600 4000 400 400 2000 100 200 200 c mRNA (copy #) b 0 0 b 0 0 b C protein (copy #) 0 10 20 30 40 50 G protein (copy #) 0 10 20 30 40 50 G protein (copy #)

100

600 600 1000

400 50 400 500 200 200 s mRNA (copy #) b S protein (copy #)

0 0 0 0 b G protein (copy #) 0 10 20 30 40 50 0 10 20 30 40 50 G Protein (copy #) Cell # (1 is anterior) Cell # (1 is anterior)

Figure 21: Simulated clock-wave in fifty homogeneous cells for the model III parame- max 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. 108

time= 265.0 min time= 265.0 min

200 600 600 4000 150 400 400 100 2000 200 50 200 c mRNA (copy #) b 0 0 b 0 0 b C protein (copy #) 0 10 20 30 40 50 G protein (copy #) 0 10 20 30 40 50 G protein (copy #)

80 600 600 1000 60 400 400 40 500 200 200 20 s mRNA (copy #) b S protein (copy #) 0 0 0 0 b G protein (copy #) 0 10 20 30 40 50 0 10 20 30 40 50 G Protein (copy #) Cell # (1 is anterior) Cell # (1 is anterior)

Figure 22: Simulated clock-wave in fifty homogeneous cells for the model III parame- max 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. 109

time= 265.0 min time= 265.0 min

600 200 600 4000

400 400 2000 100 200 200 c mRNA (copy #) b 0 0 b 0 0 b C protein (copy #) 0 10 20 30 40 50 G protein (copy #) 0 10 20 30 40 50 G protein (copy #)

600 80 600 1000 60 400 400 40 500 200 200 20 s mRNA (copy #) b S protein (copy #)

0 0 0 0 b G protein (copy #) 0 10 20 30 40 50 0 10 20 30 40 50 G Protein (copy #) Cell # (1 is anterior) Cell # (1 is anterior)

Figure 23: Simulated clock-wave in fifty homogeneous cells for the model III pa- max 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. 110

time= 265.0 min time= 265.0 min 4 400 600 600 3 300

2 400 200 400

1 200 100 200 c mRNA (copy #) b b b 0 0 0 0 C protein (copy #) 0 10 20 30 40 50 G protein (copy #) 0 10 20 30 40 50 G protein (copy #)

2000 600 100 600

400 400 1000 50 200 200 s mRNA (copy #) b S protein (copy #)

0 0 0 0 b G protein (copy #) 0 10 20 30 40 50 0 10 20 30 40 50 G Protein (copy #) Cell # (1 is anterior) Cell # (1 is anterior)

Figure 24: Simulated clock-wave in fifty heterogeneous cells for the model III parame- max ter selection giving ∆TIII = 29.3 min, but with a 99.9% reduction in the production rate of total clock protein Cb. 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, 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 clock- wave 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

C Protein, time= 265.0 min c mRNA, time= 265.0 min

1 1 b 2 2

3 3

4 4 Lateral Cell # Lateral Cell #

5 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 1

2 2

3 3

4 4 Lateral Cell # Lateral Cell #

5 5

0 10 20 30 40 50 0 10 20 30 40 50 Axial Cell # (1 is anterior) 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 cou- pled 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 com- binatorial 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 devel- opmental 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 compet- itive 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 combina- torial control, namely, graded competitive dimerization with differential decay. Fur- thermore, 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 clock-

gene model of Cinquin [30], and the resulting system of equations is considerably

simpler (four vs. thirteen differential equations per cell). While not precluding ex-

istence 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 in- tercellular 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 assump-

tions. Important assumptions of the PCW model are as follows:

1. Cellular processes may be treated deterministically.

4Juxtacrine 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 autoinhi-

bition.

12. Response to coordinating signal from adjacent cells is linear (i.e., non-

saturating).

While some of these assumptions have been verified experimentally, a considerable number of technical difficulties (and monetary costs) would be involved in experimen- tally 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 dimer-

ization, 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 developmen- tal biology. Modern scientific investigation has revealed a fascinating interplay of biomolecular clocks, spatiotemporal gradients, and intercellular communication un- derlying 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 clock-

wave formation in the clock and wavefront mechanism. The PCW model incorporates

a more detailed biological mechanism than the MPO model, yet maintains a rela-

tively simple description. In striking a good balance between biological realism and

reduced complexity, the model incorporates three prominent, experimentally identi-

fied 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 selec- tion 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 mathemati- cal 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 im-

proved estimation of coupling parameters, the effects of coordinating signal sat-

uration, 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 Ozbudak,¨ 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´eant, Olivier Pourqui´e.Segmental patterning of the vertebrate embryonic axis. Nat Rev Genet, 9(5):370–82, 2008.

[4] Fran¸cois Giudicelli, Ertugrul M Ozbudak,¨ Gavin J Wright, Julian Lewis. Set- ting 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 of zebrafish metamerism. Dev Dyn, 236(6):1422–49, 2007.

[6] Fran¸cois 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´e. 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 ze- brafish. 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´eThom. Mathematical Models of Morphogenesis. Mathematics and its applications. Ellis Horwood Limited, 1983.

[14] Isabel Palmeirim, Domingos Henrique, David Ish-Horowicz, Olivier Pourqui´e. 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 Mathe- matics. 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´an, 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 expres- sion 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 pre- somitic 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 biol- ogy. 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 Diek- mann, editors, Mathematics Inspired by Biology, pages 151–89. Springer, 1997.

[40] L Wolpert. Positional information and the spatial pattern of cellular differenti- ation. 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´e. 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´uaBelmonte. Theoretical and experimental approaches to understand morphogen gradients. Mol Syst Biol, 4:176, 2008.

[44] L Wolpert. One hundred years of positional information. Trends Genet, 12(9):359–64, 1996.

[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 pre- cursors: 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 Biomath- emtics. 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, spe- cialization 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 verte- brate 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´e.Sharp developmental thresh- olds 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 dynam- ics 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 coupled- oscillator 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´eant, Earl Glynn, Karin Gaudenz, Matthias Wahl, Jie Chen, Arcady Mushegian, Olivier Pourqui´e.A complex oscillating network of signaling genes underlies the mouse segmentation clock. Science, 314(5805):1595–8, 2006.

[75] Albert Goldbeter, Olivier Pourqui´e. 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 oscil- lators: 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 SA, 103(5):1313–8, 2006. [84] J G Rodr´ıguez-Gonz´alez,M Santill´an, 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 organi- zation 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 ex- pression. Commun Nonlinear Sci Numer Simulat, 13:235–42, 2008. [89] Nicole Radde. The impact of time delays on the robustness of biological os- cillators 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 somito- genesis. 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´e,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 Ish- Horowicz, 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´eant, Anne-Cecile Petit, Olivier Pourqui´e.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´e. 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 bound- aries in the zebrafish. Development, 129(12):2929–46, 2002. [103] Ryoichiro Kageyama, Toshiyuki Ohtsuka, Taeko Kobayashi. The Hes gene fam- ily: 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 somi- togenesis 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´an, 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 Shea- Ackers 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´e,M Gessler. Oscillating expression of c-Hey2 in the pre- somitic 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 Hair- less 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 meso- derm 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, Marie- Christin 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 devel- opmental biology. Science, 322(5900):399–403, 2008.

[131] Julian Lewis, Ertugrul M Ozbudak.¨ 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 − T ) − b p(t), dt p dm(t) k = 2 − c m(t), dt  p(t−T )  1 + m 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 a m − b p Proof. Let x =   and f(x) =  , so that x˙ = f(x). Suppose    k  m 2 − c m 1+(p/p0) 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 = ∇ · f(x) dA, ∂A A Z T ZZ ∂ ∂  k  ˙ x(t) · n dt = (a m − b p) + 2 − c m dA, 0 A ∂p ∂m 1 + (p/p0) ZZ 0 = −(b + c) dA < 0, A which is a contradiction. 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:

Cb := C + 2 C:C + C:D + C:G,

Db := D + 2 D:D + C:D + D:G,

Gb := G + 2 G:G + C:G + D:G.

Consideration of all the relevant chemical interactions gives the following six possible bidirectional dimerization reactions:

k+ k+ k+ 2 C C:C C:C, 2 D D:D D:D, 2 G G:G G:G, − − − kC:C kD:D kG:G k+ k+ k+ C + D C:D C:D,C + G C:G C:G, D + G D:G D:G, − − − kC:D kC:G kD: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 − C = 2 kC:C C:C − 2 kC:C C + kC:D C:D −

+ − + kC:D CD + kC:G C:G − kC:G C G,

˙ − + 2 C:C = −kC:C C:C + kC:C C ,

˙ − + 2 − D = 2 kD:D D:D − 2 kD:D D + kC:D C:D −

+ − + kC:D CD + kD:G D:G − kD:G D G,

˙ − + 2 D:D = −kC:C D:D + kC:C D ,

˙ − + 2 − G = 2 kG:G G:G − 2 kG:G G + kC:G C:G −

+ − + kC:G CG + kD:G D:G − kD:G D G,

˙ − + 2 G:G = −kG:G G:G + kG:G G ,

˙ − + C:D = −kC:D C:D + kC:D CD,

˙ − + C:G = −kC:G C:G + kC:G C G,

˙ − + D:G = −kD:G D:G + kD: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: C2 CD C:C = ,C:D = , κC:C κC:D D2 CG D:D = ,C:G = , (94) κD:D κC:G G2 DG G:G = ,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 constants for the various dimers. To these six equations the following constraints are 138 appended: Cb = C + 2 C:C + C:D + C:G,

Db = D + 2 D:D + C:D + D:G, (95)

Gb = G + 2 G:G + C:G + D:G. Using the relationships in (94) in the right hand sides of (95) gives

C2 CD CG Cb = C + 2 + + , κC:C κC:D κC:G D2 CD DG Db = D + 2 + + , κD:D κC:D κD:G G2 CG DG Gb = G + 2 + + . κG:G κC:G κD:G

Rewriting each of these equations as quadratics in the respective monomer concen- trations gives

2  D G  0 = C2 + 1 + + C − C,b κC:C κC:D κC:G 2  C G  0 = D2 + 1 + + D − D,b κD:D κC:D κD:G 2  C D  0 = G2 + 1 + + G − G.b κG:G κC:G κD:G

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   κC:C Dn Gn Cb Dn Gn Cn+1 =  1 + + + 8 − 1 + +  4 κC:D κC:G κC:C κC:D κC:G s   2   κD:D Cn Gn Db Cn Gn Dn+1 =  1 + + + 8 − 1 + +  4 κC:D κD:G κD:D κC:D κD:G s   2   κG:G Cn Dn Gb Cn Dn Gn+1 =  1 + + + 8 − 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

Cb, Db, and Gb. Convergence has been observed in practice for typical values of the 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 the multi−s t a b l e phase o s c i l l a t o r model of ...

somitogenesis .

% I n i t i a l i z e

K= 6 0 ; % Number of c e l l s

cellIndices= ( 1 :K)’;

cellsPerSomite= 6 ;

tau= 3 ; % Susceptibility / maturity h a l f −l i f e

T= ( cellIndices − 1) / cellsPerSomite ; % PSM c e l l enter times

% Solve system of ODEs from zero to s i x t y time u n i t s

s o l= ode45( @rhs , [0 60], 0.25∗ ones ( size ( cellIndices )), odeset (...

’RelTol’ ,10 e −9) ) ;

% P l o t s

figureH= figure ( 1 ) ; c l f ( figureH );

set ( figureH , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ ); 142

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 3];

set ( figureH , ’Position’ , p o s i t i o n );

axisH= subplot ( 1 , 2 , 1 ) ;

tGrid= − 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’ ,12 , ’FontWeight’ , ’demi’ );

xlim ( axisH ,[−1 7 ] ) ;

xlabel ( axisH , ’t (unitless time)’ , ’FontSize’ ,12 , ’...

FontWeight’ , ’demi’ );

t i t l e ( axisH , ’y=s(t; 3)’ , ’FontSize’ ,14 , ’FontWeight’ , ’... demi’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

set ( axisH , ’Position’ , [0.12 0.175 0.35 0.675]);

text ( −3 , 1 . 2 5 , ’(a)’ , ’FontSize’ ,16 , ’FontWeight’ , ’demi’ );

axisH= subplot ( 1 , 2 , 2 ) ;

s e r i e s H= plot ( axisH , cellIndices , s (6 − T, 3) , ’.-’ , ... cellIndices , s (8 − T, 3) , ’.-’ , ’LineWidth’ , 0 . 5 ) ;

ylim ( axisH ,[ −0.1 1 . 1 ] ) ;

ylabel ( axisH , ’y’ , ’FontSize’ ,12 , ’FontWeight’ , ’demi’ );

xlim ( axisH , [ 0 K+1]) ;

xlabel ( axisH , ’k (cell #)’ , ’FontSize’ ,12 , ’FontWeight’ , ’... demi’ ); 143

t i t l e ( axisH ,[ ’y=s(t-T_k; 3), k=1,...,’ num2str(K)], ’...

FontSize’ ,14 , ’FontWeight’ , ’demi’ );

legend ( axisH , ’t=6’ , ’t=8’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

set ( axisH , ’Position’ , [0.62 0.175 0.35 0.675]);

text ( −16 , 1 . 2 5 , ’(b)’ , ’FontSize’ ,16 , ’FontWeight’ , ’demi’ )...

;

figureH= figure ( 2 ) ; c l f ( figureH );

set ( figureH , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ );

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 3];

set ( figureH , ’Position’ , p o s i t i o n );

axisH= subplot ( 1 , 1 , 1 ) ;

phiGrid= 0:0.005:2;

s e r i e s H= plot ( axisH , phiGrid , ones ( size ( phiGrid )), phiGrid ...

, 1 − 0 . 5 ∗ ( sin (2∗ pi ∗ phiGrid ) ) . ˆ 2 , phiGrid , 1 − ( sin (2∗ pi ∗ phiGrid...

) ) . ˆ 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’ ,12 , ’FontWeight’ , ’demi’ ); 144

xlabel ( axisH , ’\phi_1’ , ’FontSize’ ,12 , ’FontWeight’ , ’demi...

’ );

t i t l e ( axisH , ’y=d\phi_1/dt, \tau_{1/2}=3, T_1=0’ , ’...

Interpreter’ , ’tex’ , ’FontSize’ ,14 , ’FontWeight’ , ’demi’ );

legend ( axisH , ’t\leq0’ , ’t=3’ , ’t\geq6’ , ’Location’ , ’... southeast’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

figureH= figure ( 3 ) ; c l f ( figureH );

set ( figureH , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ );

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 3];

set ( figureH , ’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’ ,12 , ’FontWeight’ , ’demi’ );

xlim ( axisH , [ 0 8 ] ) ;

xlabel ( axisH , ’t’ , ’FontSize’ ,12 , ’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’ ,14 , ’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’ ,12 , ’FontWeight’ , ’demi’ ); 145

figureH= figure ( 3 ) ; c l f ( figureH );

set ( figureH , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ );

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 3];

set ( figureH , ’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’ ,12 , ’FontWeight’ , ’demi’ );

xlim ( axisH , [ 0 8 ] ) ;

xlabel ( axisH , ’t (unitless time)’ , ’FontSize’ ,12 , ’...

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’ ,14 , ’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’ ,12 , ’FontWeight’ , ’demi’ );

figureH= figure ( 4 ) ; c l f ( figureH );

set ( figureH , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ );

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 3];

set ( figureH , ’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 ) / cellsPerSomite , s o l . y...

(:, end), ’.-’ , ’LineWidth’ , 0 . 5 ) ;

ylabel ( axisH , ’y’ , ’FontSize’ ,12 , ’FontWeight’ , ’demi’ );

xlim ( axisH , [ 0 K/ cellsPerSomite ]);

xlabel ( axisH , ’x (somite #)’ , ’FontSize’ ,12 , ’FontWeight’ ,...

’demi’ );

t i t l e ( axisH ,[ ’y=\phi_k(’ num2str( s o l . x (end), ’%1.2f’ ) ’)...

, k=1,2,...,60’ ], ’FontSize’ ,14 , ’FontWeight’ , ’demi’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

figureH= figure ( 5 ) ; c l f ( figureH );

colormap ([1 0 0; 0.5 0.5 0.5; 0 1 0]);

set ( figureH , ’PaperSize’ , [ 6 8 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ );

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 8];

set ( figureH , ’Position’ , p o s i t i o n );

tGrid= 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.78 0.54 0.3 0.06 0.78 0.54 0.3 0.06];

for k= 1 : 8

c o l o r s= ones (K, 1) ; % D e f a u l t : 1 <=> Immature c o l o r index

c o l o r s (T <= tGrid ( k ) )= 2 ; % 2 <=> Maturing c o l o r index 147

c o l o r s (T + 2∗ tau <= tGrid ( 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 ) / cellsPerSomite , 0 . 5 ∗ ( 1 + ... sin (2∗ pi ∗ deval ( sol , tGrid ( k )))));

set ( axisH , ’Position’ , p o s i t i o n );

childrenH= get ( barH , ’children’ );

set ( childrenH , ’facevertexcdata’ , c o l o r s ); % Set c o l o r of ... bars

set ( childrenH , ’CDataMapping’ , ’direct’ );

xlim ( axisH , [ 0 K/ cellsPerSomite ]);

i f rem(k , 4 )==0

xlabel ( axisH , ’x (somite #)’ , ’FontSize’ ,12 , ’...

FontWeight’ , ’demi’ ); 148

end

ylim ( axisH ,[ −0.1 1 . 1 ] ) ;

i f k<=4

ylabel ( axisH , ’y’ , ’FontSize’ ,12 , ’FontWeight’ , ’demi’ );

end

t i t l e ( axisH ,[ ’y=p_k(’ num2str( tGrid ( k ), ’%1.2f’ ) ’)’ ], ’...

FontSize’ ,14 , ’FontWeight’ , ’demi’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

text ( −2.75, 1.375, [ ’(’ l a b e l s {k} ’)’ ], ’FontSize’ ,16 , ’...

FontWeight’ , ’demi’ );

%{

figure ( 6 ) ; c l f ( gcf );

colormap ([1 0 0; 0.5 0.5 0.5; 0 1 0]);

set ( gcf , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

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 ) / cellsPerSomite , ...

0 . 5 ∗ ( 1 + sin (2∗ pi ∗ deval ( sol , tGrid ( k )))));

childrenH= get ( barH , ’children’ );

set ( childrenH , ’facevertexcdata’ , c o l o r s ); % Set c o l o r ...

of bars

set ( childrenH , ’CDataMapping’ , ’direct’ );

xlim ( axisH , [ 0 K/ cellsPerSomite ]); 149

xlabel ( axisH , ’x (somite #)’ , ’FontSize’ ,12 , ’...

FontWeight’ , ’demi’ );

ylim ( axisH ,[ −0.1 1 . 1 ] ) ;

ylabel ( axisH , ’y’ , ’FontSize’ ,12 , ’FontWeight’ , ’demi’ )...

;

t i t l e ( axisH ,[ ’y=p_k(’ num2str( tGrid ( k ), ’%1.2f’ ) ’)’...

], ’FontSize’ ,14 , ’FontWeight’ , ’demi’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

pause ;

%}

end

figureH= figure ( 6 ) ; c l f ( figureH );

colormap ([1 0 0; 0.5 0.5 0.5; 0 1 0]);

set ( figureH , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ );

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 3];

set ( figureH , ’Position’ , p o s i t i o n );

c o l o r s= ones (K, 1) ; % D e f a u l t : 1 <=> Immature c o l o r index

c o l o r s (T <= s o l . x (end) )= 2 ; % 2 <=> Maturing c o l o r index

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 ) / cellsPerSomite , 0 . 5 ∗ ( 1 + ... sin (2∗ pi ∗ s o l . y (:, end))));

childrenH= get ( barH , ’children’ );

set ( childrenH , ’facevertexcdata’ , c o l o r s ); % Set c o l o r of ... bars

set ( childrenH , ’CDataMapping’ , ’direct’ );

xlim ( axisH , [ 0 K/ cellsPerSomite ]);

xlabel ( axisH , ’x (somite #)’ , ’FontSize’ ,12 , ’FontWeight’ ,...

’demi’ );

ylim ( axisH ,[ −0.1 1 . 1 ] ) ;

ylabel ( axisH , ’y’ , ’FontSize’ ,12 , ’FontWeight’ , ’demi’ );

t i t l e ( axisH ,[ ’y=p_k(’ num2str( s o l . x (end), ’%1.2f’ ) ’)’ ] , ...

’FontSize’ ,14 , ’FontWeight’ , ’demi’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

figureH= figure ( 7 ) ; c l f ( figureH );

set ( figureH , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ );

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 3];

set ( figureH , ’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’ ,12 , ’FontWeight’ ,...

’demi’ );

ylim ( axisH , [ 0 1 2 ] ) ;

ylabel ( axisH , ’y’ , ’FontSize’ ,12 , ’FontWeight’ , ’demi’ );

t i t l e ( axisH , ’y=\phi_\infty(x), Lewis Phase Oscillator’ , ...

’FontSize’ ,14 , ’FontWeight’ , ’demi’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

figureH= figure ( 8 ) ; c l f ( figureH );

colormap ( [ 0 1 0 ] ) ;

set ( figureH , ’PaperSize’ , [ 6 3 ] , ’PaperType’ , ’’ , ’...

Units’ , ’inches’ );

p o s i t i o n= get ( figureH , ’Position’ );

p o s i t i o n (3:4)= [6 3];

set ( figureH , ’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(10∗ cos (2∗ pi ∗ log (exp(−... xGrid ) + 2∗exp(−xGrid /2) + 1)))));

xlim ( axisH ,[−10 0 ] ) ;

xlabel ( axisH , ’x (somite #)’ , ’FontSize’ ,12 , ’FontWeight’ ,...

’demi’ );

ylim ( axisH ,[ −0.1 1 . 1 ] ) ;

ylabel ( axisH , ’y’ , ’FontSize’ ,12 , ’FontWeight’ , ’demi’ ); 152

t i t l e ( axisH , ’y=w(z(\phi_\infty(x))), Lewis Phase ...

Oscillator’ , ’FontSize’ ,14 , ’FontWeight’ , ’demi’ );

set ( axisH , ’XMinorTIck’ , ’on’ , ’YMinorTIck’ , ’on’ , ’...

FontSize’ ,12 , ’FontWeight’ , ’demi’ );

% Nested f u n c t i o n s

function z= s ( t , tau )

% Susceptibility / maturity f u n c t i o n with h a l f −l i f e tau .

z= zeros ( size ( 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 phiDeriv= rhs ( t , phi )

% RHS of system of ODE’ s .

phiDeriv= 1 − s ( t − T, tau ). ∗ ( sin (2∗ pi ∗ phi ) ) . ˆ 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

% Class d e f i n i t i o n f o r managing parameters and s e t t i n g s f o r the

% somitogenesis .m model .

% The parameter mean i s the nominal va lue of the parameter . I f

% noisy parameters are turned o f f , then the nominal ( s c a l a r )

% va lue 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 distribution , one

% parameter f o r each c e l l . The same d e f a u l t noise seed i s used

% u n l e s s a d i f f e r e n t seed 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= true )

mRNAProductionRate= 3 3 ;

periodTol= 1e −2;

end

p r o p e r t i e s % D e f a u l t s only used f o r simpler Constructor l o g i c

% Simulation / S o l v e r parameters 154

noiseBool= f a l s e ; noiseType ; noiseSeed ;

noiseProportionOfMean ; timeInterval ; settlingTime ; h i s t o r y ;

ddeOptions ; fastModeBool ;

% Model parameters

% C e l l /PSM parameters

cellsPerSomite ; somitesInPSM ; tailbudPeriod ;

cellArraySize= [ 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

couplingBool ; 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 parameters

gradientFunc ; H13TotalMaxMean ; H13TotalMinMean= 0 ;

H13TotalHalfLifeMean ;

end

p r o p e r t i e s ( Dependent= true , SetAccess= p r i v a t e )

timeLags ; somiteGrowthRate ; cellBirthRate ; birthTimes ;

numCells ; equationsPerCell ; numEquations ; gH7Mean ; gDMean ;

couplingMatrix ;

% Indexing v e c t o r s 155

H7TotalIndices ; h 7 I n d i c e s ; DIndices ; d I n d i c e s ;

H7TotalDelayedh7Indices ; h7DelayedH7Indices ;

DDelayedh7Indices ; H7TotalDelayeddIndices ; dDelayedDIndices ;

% Computed parameters

rho ; kH13H13 ; kH7H7 ; kH7H13 ; tau h7 ; tau H7 ; aH7 ; bH7 ; bH7H7...

;

bH7H13 ; gH7 ; rH7H7 ; wH7H7 H7H7 ; dH7 ; tau d ; tau D ; aD ; bD;

gD ; rN ; wN; wN H7H7 ; wN H7H7 H7H7 ; dD; H13TotalMax ;

H13TotalMin ; H13TotalHalfLife ;

end

p r o p e r t i e s ( SetAccess = p r i v a t e )

% Random number streams f o r reproducibility purposes

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 ; H13TotalHalfLifeStream...

;

end

methods % CONSTRUCTOR

function params= Params ( noiseBool )

i f ( nargin > 0)

params . noiseBool= noiseBool ; 156

else

params . noiseBool= params . noiseBool ;

end

params . noiseType= ’normal’ ;

params . noiseSeed= 0 ;

params . noiseProportionOfMean= 0 . 0 1 ;

params= initStreams ( params );

params . timeInterval= [ 0 5 0 0 ] ;

params . settlingTime= 500;

params . h i s t o r y= 0 ; % Becomes constant zero v e c t o r

params . ddeOptions= ddeset ( ’AbsTol’ ,1 e −15, ’RelTol’ ,1 e −4, ...

’MaxStep’ , 5 , ’Events’ , @zeroCrossingEvent );

params . fastModeBool= f a l s e ;

params . cellsPerSomite= 5 ;

params . somitesInPSM= 7 ;

params . tailbudPeriod= 3 0 ; % May be updated a f t e r ... settlingTime to a computed period

params . cellArraySize= params . cellArraySize ; % [ 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= 300; % c o p i e s

params . kH7H7Mean= 300; % c o p i e s

params . kH7H13Mean= 300; % 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 . couplingBool= true ;

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 /10; % 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 . gradientFunc= ’sigmoidalGradient’ ;

params . H13TotalMaxMean= 0 ; % Copies ( in nucleus )

params . H13TotalMinMean= params . H13TotalMinMean ; % Copies (... in nucleus )

params . H13TotalHalfLifeMean= 3 0 ; % min

end % Params Constructor

end % CONSTRUCTOR

methods % Public SET methods

function params= set . noiseBool ( params , noiseBool ) 158

i f ˜ i s l o g i c a l ( noiseBool )

disp ( ’noiseBool not set, true/false noiseBool required...

.’ )

else

params . noiseBool= noiseBool ;

end

end % noiseBool 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 ) | | ˜( strcmpi ( noiseType , ’uniform’ ) ...

| | strcmpi ( 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 . noiseSeed ( params , noiseSeed )

i f ˜ i s s c a l a r ( noiseSeed ) | | ( noiseSeed < 0)

disp ( ’noiseSeed not set, 0 <= noiseSeed required.’ )

else

params . noiseSeed= noiseSeed ;

params= initStreams ( params );

end

end % noiseSeed s e t f u n c t i o n

function params= set . noiseProportionOfMean ( params , ... noiseProportionOfMean ) 159

i f ˜ i s s c a l a r ( noiseProportionOfMean ) | | (... noiseProportionOfMean < 0)

disp ( ’noiseProportionOfMean not set, 0 <= ... noiseProportionOfMean required.’ )

else

params . noiseProportionOfMean= noiseProportionOfMean ;

end

end % noiseProportionOfMean s e t f u n c t i o n

function params= set . timeInterval ( params , timeInterval )

i f ˜ i s v e c t o r ( timeInterval ) | | any( size ( timeInterval ) ˜= [ 1 ...

2 ] ) | | ( timeInterval ( 1 ) > timeInterval ( 2 ) )

disp ( ’timeInterval not set, timeInterval(1) <= ... timeInterval(2) required.’ );

else

params . timeInterval ( 1 , 1 )= timeInterval ( 1 ) ;

params . timeInterval ( 1 , 2 )= timeInterval ( 2 ) ;

end

end % timeInterval s e t f u n c t i o n

function params= set . settlingTime ( params , settlingTime )

i f ˜ i s s c a l a r ( settlingTime ) | | ( settlingTime < 0)

disp ( ’settlingTime not set, 0 <= settlingTime required....

’ );

else

params . settlingTime= settlingTime ;

end

end % settlingTime 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

i f i s s t r u c t ( h i s t o r y )

i f i s f i e l d ( his tory , ’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 ( his tory , ’function_handle’ )

params . h i s t o r y= h i s t o r y ;

e l s e i f i s s c a l a r ( h i s t o r y )

i f h i s t o r y < 0

disp ( ’history not set, 0 <= history required.’ );

else

params . h i s t o r y= h i s t o r y ∗ ones (1 , params . numEquations );

end

e l s e i f i s v e c t o r ( h i s t o r y )

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 % ddeOptions 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 . cellsPerSomite ( params , cellsPerSomite )

i f ˜ i s s c a l a r ( cellsPerSomite ) | | ( cellsPerSomite <= 0)

disp ( ’cellsPerSomite not set, 0 < cellsPerSomite ... required.’ );

else

params . cellsPerSomite= cellsPerSomite ;

end

end % cellsPerSomite 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 . tailbudPeriod ( params , tailbudPeriod )

i f ˜ i s s c a l a r ( tailbudPeriod ) | | ( tailbudPeriod <= 0)

disp ( ’tailbudPeriod not set, 0 < tailbudPeriod required...

.’ );

else

params . tailbudPeriod= tailbudPeriod ;

end

end % tailbudPeriod s e t f u n c t i o n

function params= set . cellArraySize ( params , cellArraySize )

i f ˜ i s v e c t o r ( cellArraySize ) | | any( size ( cellArraySize ) ˜= ...

[ 1 2 ] ) | | (rem( cellArraySize ( 1 ) ,1) ˜= 0) | | ( cellArraySize ( 1 ) < ...

0) | | (rem( cellArraySize ( 2 ) ,1) ˜= 0) | | ( cellArraySize ( 2 ) < 0)

disp ( ’cellArraySize not set, cellArraySize= [M N], M ... and N positive integers, required.’ );

e l s e i f any( params . cellArraySize ˜= cellArraySize )

i f params . numCells > 1 % E x i s t i n g va lue

params . cellArraySize= cellArraySize ;

i f params . numCells == 1 % New va lue

params . couplingBool= f a l s e ;

else % params . numCells > 1

params . couplingBool= params . couplingBool ; 163

end

else % E x i s t i n g params . numCells == 1

params . cellArraySize= cellArraySize ;

i f params . numCells > 1

params . couplingBool= true ;

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 % cellArraySize 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 . couplingBool= 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 . couplingBool

disp ( ’Notice: couplingBool reset to default true....

’ );

params . couplingBool= true ; % Coupling on by ... d e f a u l t

end

else % params . numCells == 1

params . couplingBool= 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 % numBindingSites 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 . couplingBool ( params , couplingBool )

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 couplingBool && ( ( params . numGenes ˜= 2) | | ( params . ... numCells == 1) )

disp ( ’couplingBool not set, numGenes == 2 and numCells ...

>= 2 required.’ );

else

params . couplingBool= couplingBool ;

end

end % couplingBool 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 . gradientFunc ( params , gradientFunc )

i f ˜ i s c h a r ( gradientFunc )

disp ( ’gradientFunc not set, a string is required.’ );

else

params . gradientFunc= gradientFunc ;

end

end % gradientFunc s e t f u n c t i o n

end % Public SET methods

methods % Public 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 . tailbudPeriod ;

end % g e t somiteGrowthRate

function cellBirthRate= get . cellBirthRate ( params )

cellBirthRate= params . cellsPerSomite ∗params . ... somiteGrowthRate ;

end % g e t somiteGrowthRate

function birthTimes= get . birthTimes ( params )

birthTimes= repmat ( params . timeInterval ( 1 ) + ( 0 : params . ... cellArraySize ( 1 ) − 1) ’/ params . cellBirthRate , params . ... cellArraySize ( 2 ) , 1) ;

end

function numCells= get . numCells ( params )

numCells= prod( params . cellArraySize );

end

function equationsPerCell= get . equationsPerCell ( params )

equationsPerCell= 2∗params . numGenes ;

end

function numEquations= get . numEquations ( params )

numEquations= params . numCells ∗params . equationsPerCell ;

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 couplingMatrix= get . couplingMatrix ( params )

i f params . couplingBool

% A d d i t iv e nearest −neighbor ( i n c l u d e s cornering c e l l s )

couplingMatrix= Params . ...

createNearestNeighborCouplingMatrix ( params . cellArraySize );

% Alternative : Additive , a x i a l −only , nearest −neighbor

% couplingMatrix= Params . createAxialCouplingMatrix ( params...

. cellArraySize ) ;

% Option : neighbor −averaged c o u p l i n g

% couplingMatrix= couplingMatrix ./ repmat (sum(...

couplingMatrix , 2) , 1 , params . numCells ) ;

e l s e i f params . numGenes == 2

couplingMatrix= zeros ( params . numCells );

else

couplingMatrix= [ ] ;

end

end

% Indexing v e c t o r s

function H7TotalIndices= get . H7TotalIndices ( params ) 175

H7TotalIndices= 1 : params . equationsPerCell : 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 . equationsPerCell : params . numEquations ;

end

function DIndices= get . DIndices ( params )

i f params . numGenes == 1

DIndices= [ ] ;

e l s e i f params . numGenes == 2

DIndices= 3 : params . equationsPerCell : 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 . equationsPerCell : params . numEquations ;

end

end

function H7TotalDelayedh7Indices= get . ...

H7TotalDelayedh7Indices ( params )

i f params . noiseBool

i f params . numGenes == 1

H7TotalDelayedh7Indices= diag ( repmat ([ true f a l s e ] , 1 , ... params . numCells ));

e l s e i f params . numGenes == 2 176

H7TotalDelayedh7Indices= diag ( repmat ([ true f a l s e f a l s e ...

f a l s e ] , 1 , params . numCells ));

end

else % No noise

i f params . numGenes == 1

H7TotalDelayedh7Indices= repmat ([ true 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

H7TotalDelayedh7Indices= repmat ([ true 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 h7DelayedH7Indices= get . h7DelayedH7Indices ( params )

i f params . noiseBool

i f params . numGenes == 1

h7DelayedH7Indices= diag ( repmat ([ f a l s e true ] , 1 , ... params . numCells ));

e l s e i f params . numGenes == 2

h7DelayedH7Indices= diag ( repmat ([ f a l s e true f a l s e ... f a l s e ] , 1 , params . numCells ));

end

else % No noise

i f params . numGenes == 1

h7DelayedH7Indices= repmat ([ f a l s e f a l s e ; f a l s e true ] , ... params . numCells , 1) ; 177

e l s e i f params . numGenes == 2

h7DelayedH7Indices= 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 true 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 DDelayedh7Indices= get . DDelayedh7Indices ( params )

i f params . noiseBool

i f params . numGenes == 1

DDelayedh7Indices= [ ] ;

e l s e i f params . numGenes == 2

DDelayedh7Indices= diag ([ repmat ([ true f a l s e f a l s e ... f a l s e ] , 1 , params . numCells − 1) , true , f a l s e ], −2) ;

end

else

i f params . numGenes == 1

DDelayedh7Indices= [ ] ;

e l s e i f params . numGenes == 2

DDelayedh7Indices= 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 ; true 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 H7TotalDelayeddIndices= get . H7TotalDelayeddIndices (... params ) 178

i f params . noiseBool

i f params . numGenes == 1

H7TotalDelayeddIndices= [ ] ;

e l s e i f params . numGenes == 2

H7TotalDelayeddIndices= diag ([ repmat ([ true f a l s e f a l s e ...

f a l s e ] , 1 , params . numCells − 1) , true , f a l s e ] , 2) ;

end

else

i f params . numGenes == 1

H7TotalDelayeddIndices= [ ] ;

e l s e i f params . numGenes == 2

H7TotalDelayeddIndices= repmat ([ f a l s e f a l s e true 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 dDelayedDIndices= get . dDelayedDIndices ( params )

i f params . noiseBool

i f params . numGenes == 1

dDelayedDIndices= [ ] ;

e l s e i f params . numGenes == 2

dDelayedDIndices= diag ( repmat ([ f a l s e f a l s e f a l s e true...

] , 1 , params . numCells ));

end

else

i f params . numGenes == 1 179

dDelayedDIndices= [ ] ;

e l s e i f params . numGenes == 2

dDelayedDIndices= 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 true ], params . numCells , 1) ;

end

end

end

% Computed Parameters

function rho= get . rho ( params )

i f params . noiseBool

rho= addNoise ( params , params . rhoMean , params . rhoStream );

else

rho= params . rhoMean ;

end

end

function kH13H13= get . kH13H13( params )

i f params . noiseBool

kH13H13= addNoise ( params , params . kH13H13Mean , params . ... kH13H13Stream );

else

kH13H13= params . kH13H13Mean ;

end

end

function kH7H7= get . kH7H7( params )

i f params . noiseBool 180

kH7H7= addNoise ( params , params . kH7H7Mean , params . ... kH7H7Stream );

else

kH7H7= params . kH7H7Mean ;

end

end

function kH7H13= get . kH7H13( params )

i f params . noiseBool

kH7H13= addNoise ( params , params . kH7H13Mean , params . ... kH7H13Stream );

else

kH7H13= params . kH7H13Mean ;

end

end

function tau h7= get . tau h7 ( params )

i f params . noiseBool

tau h7= addNoise ( params , params . tau h7Mean , params . ... tau h7Stream );

else

tau h7= params . tau h7Mean ;

end

end

function tau H7= get . tau H7 ( params )

i f params . noiseBool

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 . noiseBool

aH7= addNoise ( params , params . aH7Mean , params . aH7Stream );

else

aH7= params . aH7Mean ;

end

end

function bH7= get . bH7( params )

i f params . noiseBool

bH7= addNoise ( params , params . bH7Mean , params . bH7Stream );

else

bH7= params . bH7Mean ;

end

end

function bH7H7= get . bH7H7( params )

i f params . noiseBool

bH7H7= addNoise ( params , params . bH7H7Mean , params . ... bH7H7Stream );

else

bH7H7= params . bH7H7Mean ;

end

end

function bH7H13= get . bH7H13( params )

i f params . noiseBool 182

bH7H13= addNoise ( params , params . bH7H13Mean , params . ... bH7H13Stream );

else

bH7H13= params . bH7H13Mean ;

end

end

function gH7= get . gH7( params )

i f params . noiseBool

gH7= addNoise ( params , params . gH7Mean , params . gH7Stream );

else

gH7= params . gH7Mean ;

end

end

function dH7= get . dH7( params )

i f params . noiseBool

dH7= addNoise ( params , params . dH7Mean , params . dH7Stream );

else

dH7= params . dH7Mean ;

end

end

function rH7H7= get . rH7H7( params )

i f params . noiseBool

rH7H7= addNoise ( params , params . rH7H7Mean , params . ... rH7H7Stream );

else

rH7H7= params . rH7H7Mean ;

end 183

end

function wH7H7 H7H7= get . wH7H7 H7H7( params )

i f params . noiseBool

wH7H7 H7H7= addNoise ( params , params . wH7H7 H7H7Mean , ... params . wH7H7 H7H7Stream );

else

wH7H7 H7H7= params . wH7H7 H7H7Mean ;

end

end

function tau d= get . tau d ( params )

i f params . noiseBool

tau d= addNoise ( params , params . tau dMean , params . ... tau dStream );

else

tau d= params . tau dMean ;

end

end

function tau D= get . tau D ( params )

i f params . noiseBool

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 . noiseBool 184

aD= addNoise ( params , params . aDMean , params . aDStream );

else

aD= params . aDMean ;

end end

function bD= get .bD( params )

i f params . noiseBool

bD= addNoise ( params , params . bDMean, params . bDStream );

else

bD= params . bDMean ;

end end

function gD= get . gD( params )

i f params . noiseBool

gD= addNoise ( params , params . gDMean , params . gDStream );

else

gD= params . gDMean ;

end end

function dD= get .dD( params )

i f params . noiseBool

dD= addNoise ( params , params . dDMean, params . dDStream );

else

dD= params . dDMean ;

end end

function rN= get . rN( params ) 185

i f params . noiseBool

rN= addNoise ( params , params . rNMean , params . rNStream );

else

rN= params . rNMean ;

end

end

function wN= get .wN( params )

i f params . noiseBool

wN= addNoise ( params , params .wNMean, params . wNStream);

else

wN= params .wNMean;

end

end

function wN H7H7= get . wN H7H7( params )

i f params . noiseBool

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 . noiseBool

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 . noiseBool

H13TotalMax= addNoise ( params , params . H13TotalMaxMean , ... params . H13TotalMaxStream );

else

H13TotalMax= params . H13TotalMaxMean ;

end

end

function H13TotalMin= get . H13TotalMin ( params )

i f params . noiseBool

H13TotalMin= addNoise ( params , params . H13TotalMinMean , ... params . H13TotalMinStream );

else

H13TotalMin= params . H13TotalMinMean ;

end

end

function H13TotalHalfLife= get . H13TotalHalfLife ( params )

i f params . noiseBool

H13TotalHalfLife= addNoise ( params , params . ...

H13TotalHalfLifeMean , params . H13TotalHalfLifeStream );

else

H13TotalHalfLife= params . H13TotalHalfLifeMean ;

end

end 187

% addNoise method

function paramVec= addNoise ( params , paramMean , paramStream )

paramVec= zeros ( params . numCells , 1) ;

i f 0 < paramMean % Only add noise to ( s t r i c t l y ) p o s i t i v e ... parameters

paramStream . reset ; % Makes noise r e p e a t a b l e

i f strcmpi ( params . noiseType , ’uniform’ )

paramVec= paramMean∗(1 + (−params . ... noiseProportionOfMean + 2∗params . noiseProportionOfMean ∗(rand(... paramStream , size ( paramVec )))));

else % ” p o s i t i v e ” normal

unconvergedIndices= ( paramVec <= 0) ; % Non−n e g a t i v i t y ... c o n s t r a i n t

while any( unconvergedIndices (:))

% Note : 99.7% w i t h i n +/− noiseProportionOfMean of ... mean va lue

paramVec ( unconvergedIndices )= paramMean∗(1 + params . ... noiseProportionOfMean /3∗randn( paramStream , size ( find (... unconvergedIndices ))));

unconvergedIndices= ( paramVec <= 0) ;

end

end

end

end % addNoise method

% DISP method

function disp ( params ) 188

i f params . noiseBool

disp ( ’noiseBool: true’ );

else

disp ( ’noiseBool: false’ );

end

disp ([ ’noiseType: ’ params . noiseType ]);

disp ([ ’noiseSeed: ’ num2str( params . noiseSeed )]);

disp ([ ’noiseProportionOfMean: ’ num2str( params . ... noiseProportionOfMean )]);

disp ([ ’timeInterval: ’ mat2str ( params . timeInterval )]);

disp ([ ’settlingTime: ’ num2str( params . settlingTime )]);

disp ([ ’timeLags: ’ mat2str ( 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 . his tory , ’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: ’ mat2str ( 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 . cellsPerSomite ) ...

]);

disp ([ ’somitesInPSM: ’ num2str( params . somitesInPSM )]);

disp ([ ’tailbudPeriod: ’ num2str( params . tailbudPeriod )]);

disp ([ ’somiteGrowthRate: ’ num2str( params . ... somiteGrowthRate )]);

disp ([ ’cellBirthRate: ’ num2str( params . cellBirthRate )]);

disp ([ ’birthTimes: ’ mat2str ( params . birthTimes ’)]);

disp ([ ’cellArraySize: ’ mat2str ( params . cellArraySize )]);

disp ([ ’numCells: ’ num2str( params . numCells )]);

disp ([ ’numGenes: ’ num2str( params . numGenes )]);

disp ([ ’equationsPerCell: ’ num2str( params . ... equationsPerCell )]);

disp ([ ’numEquations: ’ num2str( params . numEquations )]);

disp ([ ’gradientFunc: ’ params . gradientFunc ]);

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 . couplingBool )

disp ( ’couplingBool: true’ );

else 191

disp ( ’couplingBool: false’ );

end

i f isempty ( params . couplingMatrix )

disp ( ’couplingMatrix: []’ );

else

[M N]= size ( params . couplingMatrix );

i f (M > 2) | | (N > 2)

disp ([ ’couplingMatrix: ’ num2str(M) ’ x ’ num2str(N) ...

’ matrix’ ]);

else

disp ( ’couplingMatrix: ’ ); disp ( params . couplingMatrix );

end

end

disp ([ ’H7TotalIndices: ’ mat2str ( params . H7TotalIndices ) ...

]);

disp ([ ’h7Indices: ’ mat2str ( params . h 7 I n d i c e s )]);

disp ([ ’DIndices: ’ mat2str ( params . DIndices )]);

disp ([ ’dIndices: ’ mat2str ( params . d I n d i c e s )]);

[M N]= size ( params . H7TotalDelayedh7Indices );

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 . dDelayedDIndices...

);

end

end % d i s p

end % Public GET methods

methods ( Access = ’private’ ) % Access by c l a s s members only

function params= initStreams ( 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 . ...

H13TotalHalfLifeStream ]= RandStream . c r e a t e ( ’mrg32k3a’ , ’...

NumStreams’ ,27 , ’Seed’ , params . noiseSeed );

end

end % Private methods

methods ( S t a t i c )

function couplingMatrix= createNearestNeighborCouplingMatrix...

( cellArraySize )

% Note : Works f o r 1D v e c t o r s and 2D arrays .

% Note : DeltaC assumed to be e v e n l y distributed through c e l l ...

membrane

% to adjacent c e l l s without Notch r e c e p t o r s a t u r a t i o n . This...

s c a l i n g

% i s lumped i n t o the rN parameter .

M= cellArraySize ( 1 ) ;

N= cellArraySize ( 2 ) ;

K= M∗N; 194 couplingMatrix= zeros (K);

for k= 1 :K

i f k == 1 % Top−l e f t corner

i f M > 1

couplingMatrix ( 1 , 2 )= 1 ;

i f N > 1

couplingMatrix (1 ,M+1:M+2)= 1 ;

end

e l s e i f N > 1

couplingMatrix (1 ,M+1)= 1 ;

end

e l s e i f (2 <= k ) && ( k <= M−1) % L e f t s i d e

couplingMatrix (k ,[ k−1,k+1])= 1 ;

i f N > 1

couplingMatrix (k , k+M−1:k+M+1)= 1 ;

end

e l s e i f k == M % Bottom−l e f t corner

couplingMatrix (M, k−1)= 1 ;

i f N > 1

couplingMatrix (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

couplingMatrix (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

i f M > 1

couplingMatrix (k ,[ k−M−1:k−M, k−1, k+M−1:k+M] )= 1 ; 195

else

couplingMatrix (k ,[ k−M, k+M] )= 1 ;

end

e l s e i f k == K−M+1 % Top−r i g h t corner

i f M > 1

couplingMatrix (k ,[ k−M: k−M+1, k+1])= 1 ;

else

couplingMatrix (k , k−M)= 1 ;

end

e l s e i f (K−M+1 < k ) && ( k < K) % Right s i d e

couplingMatrix (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 corner

couplingMatrix (k ,[ k−M−1:k−M, k −1])= 1 ;

else % I n s i d e

couplingMatrix (k ,[ k−M−1:k−M+1, k−1, k+1, k+M−1:k+M+1])...

= 1 ;

end

end

end % createNearestNeighborCouplingMatrix ()

function couplingMatrix= createAxialCouplingMatrix (...

cellArraySize )

% Note : Works f o r 1D v e c t o r s and 2D arrays .

% Note : DeltaC assumed to be e v e n l y distributed through c e l l ...

membrane

% to adjacent c e l l s without Notch r e c e p t o r s a t u r a t i o n . This...

s c a l i n g 196

% i s lumped i n t o the rN parameter .

M= cellArraySize ( 1 ) ;

N= cellArraySize ( 2 ) ;

K= M∗N;

couplingMatrix= zeros (K);

for k= 1 :K

i f k == 1 % Top−l e f t corner

i f M > 1

couplingMatrix ( 1 , 2 )= 1 ;

end

e l s e i f (2 <= k ) && ( k <= M−1) % L e f t s i d e

couplingMatrix (k ,[ k−1, k+1])= 1 ;

e l s e i f k == M % Bottom−l e f t corner

couplingMatrix (M, k−1)= 1 ;

e l s e i f (rem(k , M) == 1) && ( k < K−M+1) % Top s i d e

couplingMatrix (k , k+1)= 1 ;

e l s e i f (rem(k , M) == 0) && ( k < K) % Bottom s i d e

i f M > 1

couplingMatrix (k , k−1)= 1 ;

end

e l s e i f k == K−M+1 % Top−r i g h t corner

i f M > 1

couplingMatrix (k , k+1)= 1 ;

end

e l s e i f (K−M+1 < k ) && ( k < K) % Right s i d e 197

couplingMatrix (k ,[ k−1, k+1])= 1 ;

e l s e i f k == K % Bottom−r i g h t corner

couplingMatrix (k , k−1)= 1 ;

else % I n s i d e

couplingMatrix (k ,[ k−1, k+1])= 1 ;

end

end

end % createAxialCouplingMatrix ()

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 )

%

% Simulates z e b r a f i s h somitogenesis in p o s t e r i o r PSM.

% S i n g l e clock −gene i s HER7, denoted H7 ( p r o t e i n ) or h7 (mRNA) .

% Control p r o t e i n i s Her13 . 2 , denoted H13 .

% Coordinating−s i g n a l gene ( o p t i o n a l ) i s DELTAC, denoted

% 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 the input argument ...

use

% params= Params ()

%somitogenesisTic= t i c ;

% S e l e c t rhs system to s o l v e ( see nested f u n c t i o n s below )

i f params . numGenes == 1 % HER7 only

i f params . numBindingSites == 1 % Repressor bin ding 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 % Repressor bin ding s i t e s

rhsSystem= @rhs2Gene1Site ;

e l s e i f params . numBindingSites == 2

rhsSystem= @rhs2Gene2Site ;

end

end

% Optimizations to avoid inefficient params o b j e c t access

numEquations= params . numEquations ;

birthTimes= params . birthTimes ;

H7TotalIndices= params . H7TotalIndices ;

h 7 I n d i c e s= params . h 7 I n d i c e s ;

DIndices= params . DIndices ;

d I n d i c e s= params . d I n d i c e s ;

H7TotalDelayedh7Indices= params . H7TotalDelayedh7Indices ; 199

DDelayedh7Indices= params . DDelayedh7Indices ;

h7DelayedH7Indices= params . h7DelayedH7Indices ;

H7TotalDelayeddIndices= params . H7TotalDelayeddIndices ;

dDelayedDIndices= params . dDelayedDIndices ;

rho= params . rho ;

kH13H13= params . kH13H13 ;

kH7H7= params . kH7H7 ;

kH7H13= params . kH7H13 ;

tau h7= params . tau h7 ;

% 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 ;

tau d= params . tau 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;

couplingMatrix= params . couplingMatrix ;

gradientFuncH= s t r 2 f u n c ( params . gradientFunc );

H13TotalMax= params . H13TotalMax ;

H13TotalMin= params . H13TotalMin ;

H13TotalHalfLife= params . H13TotalHalfLife ;

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 . timeInterval f o r continuation

% TBD: How to t r a c k / record continuations ?

s o l= ddesd ( rhsSystem , params . timeLags , params . his tory , [ ... params . h i s t o r y . params . timeInterval ( 2 ) , params . timeInterval ( 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 ;

else % S t a r t a new s o l u t i o n

i f params . settlingTime > 0

% Compute ” s e t t l i n g time ” p o r t i o n of s o l u t i o n

s o l= ddesd ( rhsSystem , params . timeLags , params . his tory , [ ... params . timeInterval ( 1 ) − params . settlingTime , params . ... timeInterval ( 1 ) ] , params . ddeOptions );

i f isempty ( s o l . xe ) % S o l u t i o n did 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 periods , medians , and amplitudes at end of ... settlingTime

[ s t a t i s t i c s . periods , s t a t i s t i c s . medians , s t a t i s t i c s . ... amplitudes ]= calcPerMedAmp ( s o l );

% Update d e f a u l t t a i l b u d period

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 . periodTol )

params . tailbudPeriod= periodMean ;

birthTimes= params . birthTimes ;

end

end

% Continue with ” time of i n t e r e s t ” p o r t i o n of s o l u t i o n

i f params . timeInterval ( 2 ) − params . timeInterval ( 1 ) > 0

s o l= ddesd ( rhsSystem , params . timeLags , sol , params . ... timeInterval , 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 . timeInterval ( 2 ) − params . timeInterval ( 1 ) > 0

% Compute s o l u t i o n without 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 . amplitudes= nan ( numEquations , 1) ;

s o l= ddesd ( rhsSystem , params . timeLags , params . his tory , ...

params . timeInterval , 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 parameters o b j e c t in s o l u t i o n ...

s t r u c t u r e

return ;

end

s o l . params= params ; % Record parameters o b j e c t in s o l u t i o n ...

s t r u c t u r e

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 in s o l u t i o n ...

s t r u c t u r e

end

%toc ( somitogenesisTic )

i f ˜params . fastModeBool

% C a l c u l a t e Her13 .2 & Her7 monomer & dimer concentrations 203

s o l . output . H13Total= gradientFuncH ( repmat ( s o l . x , length (... birthTimes ) , 1) − repmat ( birthTimes , 1 , length ( s o l . x ) ) , ...

H13TotalMax , H13TotalMin , H13TotalHalfLife );

[ 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]= calcDimerization ( s o l . output . ...

H13Total , s o l . y ( H7TotalIndices ,:), kH13H13 , kH7H7 , kH7H13);

negativityCheck= ( 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( negativityCheck (:))

warning ( ’Negative copy number (possibly near zero) ... detected in CalcDimerization() computation.’ );

end

plotSolution ( s o l ); % Plot r e s u l t s

end

% Nested f u n c t i o n s

function dzdt= rhs1Gene1Site ( t , z , Z)

dzdt= zeros ( numEquations , 1) ; % Preallocate

% C a l c u l a t e f a s t dimerization ( Her monomer and dimer amounts )

[ H13 , H7 , H13H13 , H7H7, H7H13]= calcDimerization (... gradientFuncH ( t − birthTimes , H13TotalMax , H13TotalMin , ...

H13TotalHalfLife ), z ( H7TotalIndices ), kH13H13 , kH7H7 , kH7H13);

[ H13Delayedh7 , H7Delayedh7 , H13H13Delayedh7 , H7H7Delayedh7 , ...

H7H13Delayedh7]= calcDimerization ( gradientFuncH ( t − birthTimes −...

tau h7 , H13TotalMax , H13TotalMin , H13TotalHalfLife ), Z(...

H7TotalDelayedh7Indices ), kH13H13 , kH7H7 , kH7H13); 204

% System of differential e q u a t i o n s

% Her7 t o t a l p r o t e i n

dzdt ( H7TotalIndices )= aH7 . ∗ Z( h7DelayedH7Indices ) − 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= rhs1Gene2Site ( t , z , Z)

dzdt= zeros ( numEquations , 1) ; % Preallocate

% C a l c u l a t e f a s t dimerization ( Her monomer and dimer amounts )

[ H13 , H7 , H13H13 , H7H7, H7H13]= calcDimerization (...

gradientFuncH ( t − birthTimes , H13TotalMax , H13TotalMin , ...

H13TotalHalfLife ), z ( H7TotalIndices ), kH13H13 , kH7H7 , kH7H13);

[ H13Delayedh7 , H7Delayedh7 , H13H13Delayedh7 , H7H7Delayedh7 , ...

H7H13Delayedh7]= calcDimerization ( gradientFuncH ( t − birthTimes −...

tau h7 , H13TotalMax , H13TotalMin , H13TotalHalfLife ), Z(...

H7TotalDelayedh7Indices ), kH13H13 , kH7H7 , kH7H13);

% System of differential e q u a t i o n s

% Her7 t o t a l p r o t e i n

dzdt ( H7TotalIndices )= aH7 . ∗ Z( h7DelayedH7Indices ) − 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= rhs2Gene1Site ( t , z , Z)

dzdt= zeros ( numEquations , 1) ; % Preallocate

% C a l c u l a t e f a s t dimerization ( Her monomer and dimer amounts )

[ H13 , H7 , H13H13 , H7H7, H7H13]= calcDimerization (...

gradientFuncH ( t − birthTimes , H13TotalMax , H13TotalMin , ...

H13TotalHalfLife ), z ( H7TotalIndices ), kH13H13 , kH7H7 , kH7H13);

[ H13Delayedh7 , H7Delayedh7 , H13H13Delayedh7 , H7H7Delayedh7 , ...

H7H13Delayedh7]= calcDimerization ( gradientFuncH ( t − birthTimes −...

tau h7 , H13TotalMax , H13TotalMin , H13TotalHalfLife ), Z(...

H7TotalDelayedh7Indices ), kH13H13 , kH7H7 , kH7H13);

[ H13Delayedd , H7Delayedd , H13H13Delayedd , H7H7Delayedd , ...

H7H13Delayedd]= calcDimerization ( gradientFuncH ( t − birthTimes − ...

tau d , H13TotalMax , H13TotalMin , H13TotalHalfLife ), Z(...

H7TotalDelayeddIndices ), kH13H13 , kH7H7 , kH7H13);

% C a l c u l a t e NICD from c o u p l i n g

NDelayedh7= couplingMatrix ∗Z( DDelayedh7Indices );

% System of differential e q u a t i o n s

% Her7 t o t a l p r o t e i n

dzdt ( H7TotalIndices )= aH7∗Z( h7DelayedH7Indices ) − 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 p r o t e i n

dzdt ( DIndices )= aD. ∗ Z( dDelayedDIndices ) − bD. ∗ z ( DIndices ); 206

% Delta 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= rhs2Gene2Site ( t , z , Z)

dzdt= zeros ( numEquations , 1) ; % Preallocate

% C a l c u l a t e f a s t dimerization ( Her monomer and dimer amounts )

[ H13 , H7 , H13H13 , H7H7, H7H13]= calcDimerization (...

gradientFuncH ( t − birthTimes , H13TotalMax , H13TotalMin , ...

H13TotalHalfLife ), z ( H7TotalIndices ), kH13H13 , kH7H7 , kH7H13);

[ H13Delayedh7 , H7Delayedh7 , H13H13Delayedh7 , H7H7Delayedh7 , ...

H7H13Delayedh7]= calcDimerization ( gradientFuncH ( t − birthTimes −...

tau h7 , H13TotalMax , H13TotalMin , H13TotalHalfLife ), Z(...

H7TotalDelayedh7Indices ), kH13H13 , kH7H7 , kH7H13);

[ H13Delayedd , H7Delayedd , H13H13Delayedd , H7H7Delayedd , ...

H7H13Delayedd]= calcDimerization ( gradientFuncH ( t − birthTimes − ...

tau d , H13TotalMax , H13TotalMin , H13TotalHalfLife ), Z(...

H7TotalDelayeddIndices ), kH13H13 , kH7H7 , kH7H13);

% C a l c u l a t e NICD from c o u p l i n g

NDelayedh7= couplingMatrix ∗Z( DDelayedh7Indices );

% System of differential e q u a t i o n s

% Her7 t o t a l p r o t e i n

dzdt ( H7TotalIndices )= aH7 . ∗ Z( h7DelayedH7Indices ) − 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 p r o t e i n

dzdt ( DIndices )= aD. ∗ Z( dDelayedDIndices ) − bD. ∗ z ( DIndices );

% Delta 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]= calcDimerization (...

H13Total , H7Total , kH13H13 , kH7H7 , kH7H13)

% Usage :

% [ H13 , H7, H13H13 , H7H7, H7H13]= calcDimerization ( H13Total , ...

H7Total , kH13H13 , kH7H7 , kH7H13)

%

% Computes ( v i a i t e r a t i o n ) the nonlinear a l g e b r a i c system of

% e q u a t i o n s f o r the f a s t dimerization .

% 2D Vectorized − assumes H7Total & H13Total have same s i z e and 208

% are non−n e g a t i v e :

% 1) The f i r s t ( row ) dimension i s the t o t a l number of c e l l s .

% 2) The second ( column ) dimension i s t y p i c a l l y time .

% The kappa parameters may be a l l s c a l a r s or a l l column v e c t o r s

% with the same number of columns as H7Total & H13Total .

residualTol= 1e −6;

promptFlag= true ;

H7= H7Total ; % IC

H13= H13Total ; % IC

H13TotalSize= size ( H13Total );

unconvergedIndices= true ( H13TotalSize );

i f i s s c a l a r (kH13H13)

k= 0 ; % I t e r a t i o n counter

while any( unconvergedIndices (:))

k= k + 1 ;

i f promptFlag && ˜rem(k , 1 0 0 0 )

while true % User input loop

response= 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= ’ mat2str ( H13Total )]);

disp ([ ’H7Total= ’ mat2str ( H7Total )]);

disp ([ ’kH13H13= ’ mat2str (kH13H13)]);

disp ([ ’kH7H7= ’ mat2str (kH7H7)]);

disp ([ ’kH7H13= ’ mat2str (kH7H13)]);

error ( ’Failed to converge to root.’ );

otherwise

continue ;

end

end

end

% Only update unconverged i n d i c e s

H7( unconvergedIndices )= ( sqrt (( kH7H7∗(1 + H13(... unconvergedIndices )/kH7H13) ) . ˆ 2 + 8∗kH7H7∗H7Total (... unconvergedIndices )) − kH7H7∗(1 + H13( unconvergedIndices )/kH7H13...

) ) / 4 ;

H13( unconvergedIndices )= ( sqrt (( kH13H13∗(1 + H7(... unconvergedIndices )/kH7H13) ) . ˆ 2 + 8∗kH13H13∗H13Total (... unconvergedIndices )) − kH13H13∗(1 + H7( unconvergedIndices ) /... kH7H13) ) / 4 ;

% Use r e s i d u a l to compute remaining unconverged i n d i c e s

unconvergedIndices ( unconvergedIndices )= (H7(... unconvergedIndices ) . ˆ 2 + kH7H7/ 2 . ∗ ( 1 + H13( unconvergedIndices ) /... kH7H13). ∗H7( unconvergedIndices ) − kH7H7∗H7Total (... 210 unconvergedIndices ) /2 >= residualTol ) | (H13( unconvergedIndices )...

. ˆ 2 + kH13H13 / 2 . ∗ ( 1 + H7( unconvergedIndices )/kH7H13). ∗ H13(... unconvergedIndices ) − kH13H13∗H13Total ( unconvergedIndices ) /2 >= ... residualTol );

end

else

i f H13TotalSize ( 2 ) > 1

kH7H7= repmat (kH7H7 , 1 , H13TotalSize ( 2 ) ) ;

kH13H13= repmat (kH13H13 , 1 , H13TotalSize ( 2 ) ) ;

kH7H13= repmat (kH7H13 , 1 , H13TotalSize ( 2 ) ) ;

end

k= 0 ; % I t e r a t i o n counter

while any( unconvergedIndices (:))

k= k + 1 ;

i f promptFlag && ˜rem(k , 1 0 0 0 )

while true % User input loop

response= 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= ’ mat2str ( H13Total )]);

disp ([ ’H7Total= ’ mat2str ( H7Total )]);

disp ([ ’kH13H13= ’ mat2str (kH13H13)]);

disp ([ ’kH7H7= ’ mat2str (kH7H7)]);

disp ([ ’kH7H13= ’ mat2str (kH7H13)]);

error ( ’Failed to converge to root.’ );

otherwise

continue ;

end

end

end

% Only update unconverged i n d i c e s

H7( unconvergedIndices )= ( sqrt (( kH7H7( unconvergedIndices )...

. ∗ ( 1 + H13( unconvergedIndices )./ kH7H13( unconvergedIndices ) ) ) . ˆ 2 ...

+ 8∗kH7H7( unconvergedIndices ). ∗ H7Total ( unconvergedIndices )) − ... kH7H7( unconvergedIndices ). ∗ ( 1 + H13( unconvergedIndices )./ kH7H13(...

unconvergedIndices ) ) ) / 4 ;

H13( unconvergedIndices )= ( sqrt (( kH13H13( unconvergedIndices...

). ∗ ( 1 + H7( unconvergedIndices )./ kH7H13( unconvergedIndices ) ) ) . ˆ 2 ...

+ 8∗kH13H13( unconvergedIndices ). ∗ H13Total ( unconvergedIndices )) −...

kH13H13( unconvergedIndices ). ∗ ( 1 + H7( unconvergedIndices ) . / ...

kH7H13( unconvergedIndices ) ) ) / 4 ;

% Use r e s i d u a l to compute remaining unconverged i n d i c e s

unconvergedIndices ( unconvergedIndices )= (H7(...

unconvergedIndices ) . ˆ 2 + kH7H7( unconvergedIndices ) / 2 . ∗ ( 1 + H13(...

unconvergedIndices )./ kH7H13( unconvergedIndices )). ∗H7(... 212

unconvergedIndices ) − kH7H7( unconvergedIndices ). ∗ H7Total (...

unconvergedIndices ) /2 >= residualTol ) | (H13( unconvergedIndices )...

. ˆ 2 + kH13H13( unconvergedIndices ) / 2 . ∗ ( 1 + H7( unconvergedIndices )...

./ kH7H13( unconvergedIndices )). ∗ H13( unconvergedIndices ) − kH13H13...

( unconvergedIndices ). ∗ H13Total ( unconvergedIndices ) /2 >= ...

residualTol );

end

end

% Compute heterodimers

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 [ periods , medians , amplitudes ]= calcPerMedAmp ( s o l )

% Usage :

% [ periods , medians , amplitudes ]= calcPerMedAmp ( s o l )

%

% C a l c u l a t e periods , medians , and amplitudes of simply p e r i o d i c

% ( i n c l u d i n g equilibrated ) 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 algorithm assumes i t i s a n a l y z i n g ( in each component of 213

% s o l . y ) a time s e r i e s reaching an equilibrium or a simply

% p e r i o d i c behavior with at l e a s t t h r e e i n t e r n a l peak−to−peak

% oscillations ( two i n t e r n a l max and two i n t e r n a l min , in

% e i t h e r alternating 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 , with a

% s i n g l e maximum and a s i n g l e minimum in each fundamental

% period .

% Assumes (& r e q u i r e s ) at l e a s t t h r e e data p o i n t s in s o l . x .

% Equilibriated s t a t e v a r i a b l e s are a s s i g n e d zero period ,

% a l t h o u g h in c e r t a i n s i t u a t i o n s an equilibrium may be

% represented by a p e r i o d i c s o l u t i o n with very small amplitude ...

,

% in which case the median e s t i m a t e s the equilibrium .

% Tolerances ( componentwise )

r e l T o l= 1e −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 of ... equilibrium

absTol= 1e −2; % Absolute t o l e r a n c e f o r d e t e c t i o n of ... equilibrium

t o l= 1e −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 of p e r i o d i c ... s i g n a l

[M N]= size ( s o l . y ); % Record dimensions of 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) ; % Protein ( s ) & mRNA( s ) f o r each c e l l 214

medians= p e r i o d s ;

amplitudes= medians ;

tailTime= s o l . params . settlingTime / 5 ; % Somewhat a r b i t r a r y

tailStartIndex= find (( s o l . x (end) − tailTime ) <= s o l . x , 1) ;

i f isempty ( tailStartIndex )

tailStartIndex= 1 ; % Use whole time−s e r i e s

end

% TBD: V e ct o riz e f o r loop ?

for k= 1 :M

% Check f i r s t f o r an equilibrium

tailMean= mean( s o l . y (k , tailStartIndex : end));

i f ( tailMean ˜= 0)

i f a l l ( abs (( s o l . y (k , tailStartIndex : end) − tailMean ) /... tailMean ) < r e l T o l )

p e r i o d s ( k )= 0 ;

medians ( k )= tailMean ;

amplitudes ( k )= 0 ;

continue ;

end

e l s e i f a l l ( abs ( s o l . y (k , tailStartIndex : end)) < absTol )

p e r i o d s ( k )= 0 ;

medians ( k )= 0 ;

amplitudes ( k )= 0 ;

continue ;

end 215

% Not an equilibrium , or equilibrium not sufficiently

% ” reached ”, so check f o r a simply 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 matrices are

% empty , and the i s o l a t e d extrema assumption i s key to the

% f o l l o w i n g d e t e c t i o n l o g i c .

% 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);

minIndices= 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);

maxIndices= find (maxMask);

% Clear any i n i t i a l constant a r t i f a c t from constant h i s t o r y

for i= 1 :min( length ( minIndices ), length ( maxIndices ))

i f minIndices ( i ) ˜= maxIndices ( i )

minIndices= minIndices ( i : end);

maxIndices= maxIndices ( i : end);

break ;

end

end

% Check f o r at l e a s t 1.5 oscillations f o r a n a l y s i s

i f isempty ( minIndices ) | | isempty ( maxIndices ) 216

% d i s p ( [’ Omega l i m i t s e t not found in component ’ num2str (...

k ) ’; equilibrium ?’] ) ;

continue ;

else

numEdgeMinima= ( minIndices ( 1 ) < maxIndices ( 1 ) ) + (...

minIndices (end) == N);

numEdgeMaxima= ( maxIndices ( 1 ) < minIndices ( 1 ) ) + (...

maxIndices (end) == N);

end

i f (( length ( minIndices ) − numEdgeMinima <= 1) && ( length (...

maxIndices ) − numEdgeMaxima <= 1) ) | | ( minIndices (end) == ...

maxIndices (end))

% d i s p ( [’ Omega l i m i t s e t not found in component ’ num2str (...

k ) ’; equilibrium ?’] ) ;

else % Oscillatory − analyze using l a s t 1.5 oscillations

i f minIndices (end) == N % Ignore any l a s t minimum at end

lastMinIndex= minIndices (end−1) ;

lastMaxIndex= maxIndices (end);

penultimateMaxIndex= maxIndices (end−1) ;

e l s e i f maxIndices (end) == N % Ignore any l a s t maximum at ...

end

lastMaxIndex= maxIndices (end−1) ;

lastMinIndex= minIndices (end);

penultimateMinIndex= minIndices (end−1) ;

else % TBD: This doesn ’ t happen?

i f s o l . x ( lastMaxIndex ) < s o l . x ( lastMinIndex ) % Last ...

extremum i s a minimum 217

lastMinIndex= minIndices (end);

penultimateMinIndex= minIndices (end−1) ;

lastMaxIndex= maxIndices (end);

else % Last extremum i s a maximum

lastMaxIndex= maxIndices (end);

penultimateMaxIndex= maxIndices (end−1) ;

lastMinIndex= minIndices (end);

end

end

% Function handles f o r fminbnd ()

solFn= @( x ) deval ( sol , x , k );

minusSolFn= @( x ) −deval ( sol , x , k );

% Try to f i n d and characterize a l i m i t c y c l e oscillation

i f s o l . x ( lastMaxIndex ) < s o l . x ( lastMinIndex ) % Last ... extremum i s a minimum

% Use l a s t two minima and intervening maximum

% Use l e f t or r i g h t adjacent p oin t depending on s l o p e

i f s o l . yp (k , lastMinIndex ) < 0

xLastMin= fminbnd ( solFn , s o l . x ( lastMinIndex ), s o l . x (... lastMinIndex +1) ) ;

e l s e i f s o l . yp (k , lastMinIndex ) > 0

xLastMin= fminbnd ( solFn , s o l . x ( lastMinIndex −1) , s o l . x (... lastMinIndex ));

else

xLastMin= s o l . x ( lastMinIndex );

end 218

i f s o l . yp (k , penultimateMinIndex ) < 0

xPenultimateMin= fminbnd ( solFn , s o l . x (... penultimateMinIndex ), s o l . x ( penultimateMinIndex +1) ) ;

e l s e i f s o l . yp (k , penultimateMinIndex ) > 0

xPenultimateMin= fminbnd ( solFn , s o l . x (... penultimateMinIndex −1) , s o l . x ( penultimateMinIndex ));

else

xPenultimateMin= s o l . x ( penultimateMinIndex );

end

% lastMaxIndex should be inbetween

% 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

lastMin= deval ( sol , xLastMin , k );

lastMax= deval ( sol , xLastMax , k );

penultimateMin= deval ( sol , xPenultimateMin , k );

lastAmplitude= lastMax − lastMin ;

penultimateAmplitude= lastMax − penultimateMin ; 219

i f ( lastAmplitude ˜= 0) && ( abs (( lastAmplitude − ...

penultimateAmplitude )/ lastAmplitude ) < t o l )

p e r i o d s ( k )= xLastMin − xPenultimateMin ;

medians ( k )= ( lastMin + lastMax ) / 2 ;

amplitudes ( k )= lastAmplitude ;

else

% d i s p ([’ Omega l i m i t s e t not found in component ’ ...

num2str ( k ) ’; damped oscillations ?’]) ;

end

else % Last extremum i s a maximum

% Use l a s t two maxima and intervening minimum

% Use l e f t or r i g h t adjacent p oin t depending on s l o p e

% Time s e r i e s i s i n v e r t e d to turn 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

% lastMinIndex should be inbetween

i f s o l . yp (k , lastMinIndex ) < 0

xLastMin= fminbnd ( solFn , s o l . x ( lastMinIndex ), s o l . x (... lastMinIndex +1) ) ;

e l s e i f s o l . yp (k , lastMinIndex ) > 0

xLastMin= fminbnd ( solFn , s o l . x ( lastMinIndex −1) , s o l . x (... lastMinIndex ));

else

xLastMin= s o l . x ( lastMinIndex );

end

lastMax= deval ( sol , xLastMax , k );

lastMin= deval ( sol , xLastMin , k );

penultimateMax= deval ( sol , xPenultimateMax , k );

lastAmplitude= lastMax − lastMin ;

penultimateAmplitude= penultimateMax − lastMin ;

i f ( lastAmplitude ˜= 0) && ( abs (( lastAmplitude − ... penultimateAmplitude )/ lastAmplitude ) < t o l )

p e r i o d s ( k )= xLastMax − xPenultimateMax ;

medians ( k )= ( lastMin + lastMax ) / 2 ; 221

amplitudes ( k )= lastAmplitude ;

else

% d i s p ( [’ Omega l i m i t s e t not found in component ’ ...

num2str ( k ) ’; damped oscillations ?’] ) ;

end

end

end

end end

sigmoidalGradient.m: This computes the total protein level using a sig- moidal spatiotemporal gradient.

function H13Total= sigmoidalGradient ( t , H13TotalMax , H13TotalMin...

, H13TotalHalfLife )

% Usage :

% H13Total= sigmoidalGradient ( 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 at time t .

% 2D Vectorized based on dimensions of 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 H13TotalHalfLife may be s c a l a r s

% or column vectors , and are assumed to have the same 222

% dimensions . I f they are column vectors , then they should have

% the same number of 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 <= H13TotalHalfLife

% H13Total= H13TotalMin + ( H13TotalMax − H13TotalMin ) /2 ∗ (2 ...

− exp (2∗(1 − H13TotalHalfLife / t ) ) )

% E l s e i f H13TotalHalfLife <= t < 2∗ H13TotalHalfLife

% H13Total= H13TotalMin + ( H13TotalMax − H13TotalMin ) /2 ∗ exp...

(2∗(1 + H13TotalHalfLife /( t − 2∗ H13TotalHalfLife ) ) )

% Else

% H13Total= H13TotalMin

% End

i f i s s c a l a r ( H13TotalMax )

H13Total= H13TotalMax∗ ones ( size ( t )); % Pre−a l l o c a t e

tMask= (0 < t )&( t <= H13TotalHalfLife );

H13Total ( tMask )= H13TotalMin + ( H13TotalMax − H13TotalMin )...

/2∗(2 − exp(2∗(1 − H13TotalHalfLife ./ t ( tMask ))));

tMask= ( H13TotalHalfLife < t )&( t < 2∗ H13TotalHalfLife );

H13Total ( tMask )= H13TotalMin + ( H13TotalMax − H13TotalMin )...

/2∗exp(2∗(1 + H13TotalHalfLife ./( t ( tMask ) − 2∗ H13TotalHalfLife ) )...

); 223

tMask= (2∗ H13TotalHalfLife <= t );

H13Total ( tMask )= H13TotalMin ;

else

t S i z e= size ( 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 ) ) ;

H13TotalHalfLife= repmat ( H13TotalHalfLife , 1 , t S i z e ( 2 ) ) ;

end

H13Total= H13TotalMax ; % Pre−a l l o c a t e

tMask= (0 < t )&( t <= H13TotalHalfLife );

H13Total ( tMask )= H13TotalMin ( tMask ) + ( H13TotalMax ( tMask ) − ...

H13TotalMin ( tMask ) ) / 2 . ∗ ( 2 − exp(2∗(1 − H13TotalHalfLife ( tMask ) . / ...

t ( tMask ))));

tMask= ( H13TotalHalfLife < t )&( t < 2∗ H13TotalHalfLife );

H13Total ( tMask )= H13TotalMin ( tMask ) + ( H13TotalMax ( tMask ) − ...

H13TotalMin ( tMask ) ) /2.∗ exp(2∗(1 + H13TotalHalfLife ( tMask )./( t (...

tMask ) − 2∗ H13TotalHalfLife ( tMask ))));

tMask= (2∗ H13TotalHalfLife <= t );

H13Total ( tMask )= H13TotalMin ( tMask );

end end 224

exponentialGradient.m: This computes the total protein level using an ex- ponential spatiotemporal gradient.

function H13Total= exponentialGradient ( t , H13TotalMax , ...

H13TotalMin , H13TotalHalfLife )

% Usage :

% H13Total= exponentialGradient ( 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 at time t .

% 2D Vectorized based on dimensions of 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 H13TotalHalfLife may be s c a l a r s

% or column vectors , and are assumed to have the same

% dimensions . I f they are column vectors , then they should have

% the same number of 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∗ ones ( size ( t )); % Pre−a l l o c a t e

tMask= (0 < t );

H13Total ( tMask )= H13TotalMin + ( H13TotalMax − H13TotalMin )...

∗ ...

exp(−log ( 2 ) ∗ t ( tMask )/ H13TotalHalfLife );

else

t S i z e= size ( 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 ) ) ;

H13TotalHalfLife= repmat ( H13TotalHalfLife , 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 )./ H13TotalHalfLife ( tMask ));

end end

zeroCrossingEvent.m: This short routine, called internally by ddesd or dde23, ensures that computed solutions are non-negative. 226

function [ value , isTerminal , d i r e c t i o n ]= zeroCrossingEvent ( t , z , ...

Z)

% Stop integration i f t h e r e i s a zero c r o s s i n g because ...

s o l u t i o n s

% should be non−n e g a t i v e . Going n e g a t i v e => something i s wrong...

.

value= z ; % Detect zero c r o s s i n g in any component

isTerminal= ones ( size ( z )); % Stop the integration

d i r e c t i o n= −ones ( size ( z )); % Negative d i r e c t i o n end

Parameter Estimation Code

parameterSamplerParallel.m: For parameter estimation and model selec- tion purposes, this code runs multiple simulations using somitogenesisPCW.m at pa- rameter combinations selected from a uniformly distributed parameter space. Mat- lab’s parfor loop structure is used to run simulations with different parameters in parallel on multiple processors, if they are available.

function sample= parameterSamplerParallel ( argIn1 , varargin )

%

% Usage :

% sample= parameterSamplerParallel ( argIn1 , varargin )

% 227

% Compares one and two bin ding s i t e s c e n a r i o s f o r a random ...

sample

% of s e l e c t parameters . Linear t o t a l p r o t e i n decay vs .

% differential decay i s chosen with a boolean v a r i a b l e below . ...

An

% range from an e x i s t i n g parameter sample may be used by ...

passing

% the parameter sample s t r u c t in argIn1 and the f i r s t and l a s t

% sample i n d i c e s to use in the second and t h i r d arguments ,

% respectively . Otherwise , passing a s i n g l e p o s i t i v e i n t e g e r in

% argIn1 g e n e r a t e s a new parameter sample of s i z e argIn1 .

% Simulations f o r d i f f e r e n t samples can run in p a r a l l e l by use

% of the p a r f o r loop .

parameterSamplerTic= t i c ;

% I n i t i a l i z e

timeStamp= d a t e s t r (now , 3 0 ) ;

H13TotalMaxSweepStepSize= 1 0 ;

H13TotalMaxSweepLimit= 2000;

linearDecayBool= f a l s e ; % l i n e a r OR differential decay

% Parameters o b j e c t to broadcast across 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 noise

paramsBroadcast . timeInterval= [ 0 0 ] ;

paramsBroadcast . settlingTime= 500;

paramsBroadcast . fastModeBool= true ;

% Parameter sample ranges ( 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.20 0.50]; 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 ( argIn1 ) % Generate a random sample of s i z e argIn1

sample . sampleSize= argIn1 ;

% Generate sampling from uniform distributions

[ 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(100∗ clock ));

rhoSample= params . rhoRange ( 1 ) + ( params . rhoRange ( 2 ) − params...

. rhoRange ( 1 ) ) ∗rand( params . rhoStream , sample . sampleSize , 1) ;

kH13H13Sample= 1 0 . ˆ ( params . kH13H13LogRange ( 1 ) + ( params . ... kH13H13LogRange ( 2 ) − params . kH13H13LogRange ( 1 ) ) ∗rand( params . ... kH13H13Stream , sample . sampleSize , 1 ) ) ;

kH7H7Sample= 1 0 . ˆ ( params . kH7H7LogRange ( 1 ) + ( params . ... kH7H7LogRange ( 2 ) − params . kH7H7LogRange ( 1 ) ) ∗rand( params . ... kH7H7Stream , sample . sampleSize , 1) ) ; 230

kH7H13Sample= 1 0 . ˆ ( params . kH7H13LogRange ( 1 ) + ( params . ... kH7H13LogRange ( 2 ) − params . kH7H13LogRange ( 1 ) ) ∗rand( params . ... kH13H13Stream , sample . sampleSize , 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 . sampleSize , 1) ;

rH7H7Sample= 1 0 . ˆ ( params . rH7H7LogRange ( 1 ) + ( params . ... rH7H7LogRange ( 2 ) − params . rH7H7LogRange ( 1 ) ) ∗rand( params . ... rH7H7Stream , sample . sampleSize , 1) ) ;

wH7H7 H7H7Sample= 1 0 . ˆ ( params . wH7H7 H7H7LogRange ( 1 ) + (... params . wH7H7 H7H7LogRange ( 2 ) − params . wH7H7 H7H7LogRange ( 1 ) ) ∗... rand( params . wH7H7 H7H7Stream , sample . sampleSize , 1) ) ;

rNSample= params . rH7H7Sample /10;

else % Use given sample

paramsIn= argIn1 ;

i f nargin == 3

s t a r t I n d e x= varargin {1};

endIndex= varargin {2};

sample . sampleSize= length ( s t a r t I n d e x : endIndex );

else

sample . sampleSize= length ( paramsIn . rho );

s t a r t I n d e x= 1 ;

endIndex= sample . sampleSize ;

end 231

% Generate sampling from e x i s t i n g sample , WIP: Migrate to ...

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 . tau h7 ( 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 /10;

end

% I n i t i a l i z e

oneSiteProblemPoints= [ ] ;

oneSiteH13TotalMaxSweepLimitPoints= [ ] ;

twoSiteProblemPoints= [ ] ;

twoSiteH13TotalMaxSweepLimitPoints= [ ] ;

oneSitePeriods= zeros ([ paramsBroadcast . numEquations ...

H13TotalMaxSweepLength sample . sampleSize ]);

oneSiteMedians= oneSitePeriods ;

oneSiteAmplitudes= oneSitePeriods ;

twoSitePeriods= oneSitePeriods ;

twoSiteMedians= oneSitePeriods ;

twoSiteAmplitudes= oneSitePeriods ;

% Run s i m u l a t i o n f o r parameter sample , f o r both one & two 232

% bin ding s i t e s ; p a r f o r l o o p s can execute in p a r a l l e l and in

% any order .

p a r f o r sampleCtr= 1 : sample . sampleSize

paramsLocal= paramsBroadcast ;

% I n i t i a l i z e f o r 1 or 2 bin ding 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 binding −s i t e

paramsLocal . numBindingSites= 1 ;

[ oneSitePeriods (:,:, sampleCtr ), oneSiteMedians (:,:, sampleCtr...

), oneSiteAmplitudes (:,:, sampleCtr ), nanFlag , sweepLimitFlag ]= ... sweepH13TotalMax ( paramsLocal , params . H13TotalMaxSweep ); 233

i f nanFlag

oneSiteProblemPoints= [ oneSiteProblemPoints sampleCtr ];

e l s e i f sweepLimitFlag

oneSiteH13TotalMaxSweepLimitPoints= [ ... oneSiteH13TotalMaxSweepLimitPoints sampleCtr ];

end

% Two binding −s i t e s

paramsLocal . numBindingSites= 2 ;

[ twoSitePeriods (:,:, sampleCtr ), twoSiteMedians (:,:, sampleCtr...

), twoSiteAmplitudes (:,:, sampleCtr ), nanFlag , sweepLimitFlag ]= ... sweepH13TotalMax ( paramsLocal , params . H13TotalMaxSweep );

i f nanFlag

twoSiteProblemPoints= [ twoSiteProblemPoints sampleCtr ];

e l s e i f sweepLimitFlag

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 . one Site . p e r i o d s=oneSitePeriods ;

sample . one Site . medians= oneSiteMedians ;

sample . one Site . amplitudes= oneSiteAmplitudes ;

sample . one Site . problemPoints= oneSiteProblemPoints ;

sample . one Site . H13TotalMaxSweepLimitPoints= ... oneSiteH13TotalMaxSweepLimitPoints ;

sample . twoSite . p e r i o d s= twoSitePeriods ;

sample . twoSite . medians= twoSiteMedians ;

sample . twoSite . amplitudes= twoSiteAmplitudes ;

sample . twoSite . problemPoints= twoSiteProblemPoints ;

sample . twoSite . H13TotalMaxSweepLimitPoints= ... twoSiteH13TotalMaxSweepLimitPoints ;

toc ( parameterSamplerTic )

% Save sample to a f i l e with a time−stamp

[ success , message , messageID]= mkdir ( ’datasets’ );

i f s u c c e s s

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 about problem p o i n t s

i f ˜( isempty ( sample . one Site . problemPoints ) && isempty ( sample . ...

twoSite . problemPoints ))

disp ( ’WARNING: There are problem points!’ );

end end

parameterStatistics.m: This code statistically analyzes parameter sam- pling results for modeling scenarios I–IV using outputs from parameterSamplerParallel.m. The results of these analyses enable model selection.

function parameterStatistics ( nonlinearSample , linearSample )

% Usage :

% parameterStatistics ( nonlinearSample , linearSample )

%

% This f u n c t i o n does a comparative statistical a n a l y s i s on model

% s c e n a r i o s I−IV . Each of the two input d a t a s e t s ,

% nonlinearSample and linearSample , i n c l u d e s one and two

% bin ding s i t e data . nonlinearSample and linearSample are

% r e q u i r e d to have the same dimension d a t a s e t s .

disp ( ’ ’ );

i f ˜isempty ( nonlinearSample . one Site . problemPoints ) | | ˜isempty...

( nonlinearSample . twoSite . problemPoints ) | | ˜isempty ( linearSample... 236

. one Site . problemPoints ) | | ˜isempty ( linearSample . twoSite . ...

problemPoints )

disp ( ’WARNING: There are problem points!’ );

disp ( ’ ’ );

end

amplitudeThresh= 5 ; % Require at l e a s t t h i s peak−to−peak ...

amplitude of mRNA & p r o t e i n molecules

periodTol= 0 . 0 1 ; % Require t h a t mRNA & p r o t e i n oscillation ...

p e r i o d s agree to w i t h i n t h i s

targetPeriod= 3 0 ; % Desired period of oscillation

deltaPeriod= 3 ; % Allowable +/− range in oscillation period

targetDelta= 1 5 ; % F i l t e r out changes in period l e s s than t h i s

[ numEquations numSweeps numSamples]= size ( nonlinearSample . ...

one Site . amplitudes );

% One bin ding s i t e , nonlinear decay

disp ( ’MODEL I, 1 binding site, nonlinear decay:’ );

i f ˜isempty ( nonlinearSample . one Site . ...

H13TotalMaxSweepLimitPoints )

disp ( ’ Notice: H13TotalMax sweep limit reached.’ );

end

% Period mask

periodMeans1n= mean( nonlinearSample . one Site . periods , 1) ;

fullPeriodMeans1n = repmat ( periodMeans1n ,[ numEquations , 1 , ...

1 ] ) ; 237

periodMeans1n= squeeze ( periodMeans1n )’;

periodMask1n= zeros ( size ( fullPeriodMeans1n ));

periodMask1n ( fullPeriodMeans1n ˜= 0)= abs (( nonlinearSample . ... one Site . p e r i o d s ( fullPeriodMeans1n ˜= 0) − fullPeriodMeans1n (... fullPeriodMeans1n ˜= 0) ) . / fullPeriodMeans1n ( fullPeriodMeans1n ˜=...

0) ) < periodTol ;

periodMask1n ( fullPeriodMeans1n == 0)= abs ( nonlinearSample . ... one Site . p e r i o d s ( fullPeriodMeans1n == 0) ) < periodTol ;

periodMask1n= squeeze ( a l l ( periodMask1n , 1) ) ’ ;

clear fullPeriodMeans1n

% Amplitude mask

amplitudeMask1n= squeeze ( a l l ( amplitudeThresh <=nonlinearSample...

. one Site . amplitudes , 1) ) ’ ;

% Combine masks and f i n d oscillating proportion

fullOscMask1n= periodMask1n & amplitudeMask1n ;

oscMask1n= any( fullOscMask1n , 2) ;

oscIndices1n= find ( oscMask1n );

oscProp1n= length ( oscIndices1n )/numSamples ;

disp ([ ’Oscillating proportion: ’ num2str( length ( oscIndices1n )...

) ’/’ num2str( numSamples ) ’= ’ num2str( oscProp1n )]);

[ maxArray1n , maxIndices1n ]= max( fullOscMask1n . ∗ periodMeans1n , ...

[ ] , 2) ;

globalMax1n= max( maxArray1n );

minArray1n= zeros ( numSamples , 1) ;

minIndices1n= ones ( numSamples , 1) ;

for k= 1 : numSamples 238

% Ignore zero p e r i o d s ; positiveIndices v e c t o r should c o n s i s t ... of 0 or more ones f o l l o w e d by 0 or more z e r o s

positiveIndices= fullOscMask1n (k ,:) > 0 ;

i f any( positiveIndices )

[ minArray1n ( k ), minIndices1n ( 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 ( oscIndices1n )

disp ([ ’Maximum Delta T: [’ num2str( minArray1n (... deltaMaxIndex1n )) ’, ’ num2str( maxArray1n ( deltaMaxIndex1n )) ’],...

Delta T= ’ num2str( deltaMax1n ) ’, k= ’ num2str( deltaMaxIndex1n )...

’, j= [’ num2str( minIndices1n ( deltaMaxIndex1n )) ’,’ num2str(... maxIndices1n ( deltaMaxIndex1n )) ’]’ ]);

else

disp ( ’Maximum Delta T: NaN’ );

end 239

% Analyze s u b s e t of data with t a i l b u d period in d e s i r e d range

% Uses IVT which assumes period i s a c t s . fn . of H13TotalMax

periodOscMask1n= ( minArray1n <= targetPeriod + deltaPeriod ) & ...

( targetPeriod − deltaPeriod <= maxArray1n );

periodOscIndices1n= find ( periodOscMask1n );

periodOscProp1n= length ( periodOscIndices1n )/numSamples ;

disp ([ num2str( targetPeriod ) ’ +/- ’ num2str( deltaPeriod ) ’ ... min period oscillating proportion: ’ num2str( length (... periodOscIndices1n )) ’/’ num2str( numSamples ) ’= ’ num2str(... periodOscProp1n )]);

periodMaxArray1n= periodOscMask1n . ∗ maxArray1n ;

periodMaxIndices1n= maxIndices1n ;

periodMaxIndices1n ( periodOscMask1n == 0)= 1 ;

periodMinArray1n= periodOscMask1n . ∗ minArray1n ;

periodMinIndices1n= minIndices1n ;

periodMinIndices1n ( periodOscMask1n == 0)= 1 ;

periodDeltaArray1n= periodMaxArray1n − periodMinArray1n ;

[ periodDeltaMax1n , periodDeltaMaxIndex1n ]= max(... periodDeltaArray1n );

i f ˜isempty ( periodOscIndices1n )

disp ([ ’Maximum Delta T containing ’ num2str( targetPeriod ) ...

’ +/- ’ num2str( deltaPeriod ) ’ : [’ num2str( periodMinArray1n (... periodDeltaMaxIndex1n )) ’, ’ num2str( periodMaxArray1n (... periodDeltaMaxIndex1n )) ’], Delta T= ’ num2str( periodDeltaMax1n )...

’, k= ’ num2str( periodDeltaMaxIndex1n ) ’, j= [’ num2str(... 240 periodMinIndices1n ( periodDeltaMaxIndex1n )) ’,’ num2str(... periodMaxIndices1n ( periodDeltaMaxIndex1n )) ’] @’ 10 ’ rho= ’ ... num2str( nonlinearSample . params . rhoSample ( periodDeltaMaxIndex1n ) )...

’, kH13H13= ’ num2str( nonlinearSample . params . kH13H13Sample (... periodDeltaMaxIndex1n )) ’, kH7H7= ’ num2str( nonlinearSample . ... params . kH7H7Sample ( periodDeltaMaxIndex1n )) ’, kH7H13= ’ num2str(... nonlinearSample . params . kH7H13Sample ( periodDeltaMaxIndex1n )) ’, ... tau_h7= ’ num2str( nonlinearSample . params . tau h7Sample (... periodDeltaMaxIndex1n )) ’, bH7= ’ num2str( nonlinearSample . params...

. bH7Sample ( periodDeltaMaxIndex1n )) ’, rH7H7= ’ num2str(... nonlinearSample . params . rH7H7Sample ( periodDeltaMaxIndex1n )) ’, ... wH7H7_H7H7= ’ num2str( nonlinearSample . params . wH7H7 H7H7Sample(... periodDeltaMaxIndex1n )) ’, rN= ’ num2str( nonlinearSample . params . ... rNSample ( periodDeltaMaxIndex1n ))]);

else

disp ([ ’Maximum Delta T containing ’ num2str( targetPeriod ) ...

’ +/- ’ num2str( deltaPeriod ) ’ : NaN’ ]);

end

periodDeltaCountFuncH1n= @( deltaTMin ) nnz( deltaTMin <= ... periodDeltaArray1n ( periodOscIndices1n ));

disp ([ num2str( targetPeriod ) ’ +/- ’ num2str( deltaPeriod ) ’ ... min period oscillating proportion with Delta T >= ’ num2str(... targetDelta ) ’: ’ num2str( periodDeltaCountFuncH1n ( targetDelta ) ) ...

’/’ num2str( numSamples ) ’= ’ num2str( periodDeltaCountFuncH1n (... targetDelta )/numSamples )]); 241

disp ( ’ ’ );

% One bin ding s i t e , l i n e a r decay

disp ( ’MODEL II, 1 binding site, linear decay:’ );

i f ˜isempty ( linearSample . one Site . H13TotalMaxSweepLimitPoints )

disp ( ’ Notice: H13TotalMax sweep limit reached.’ );

end

% Period mask

periodMeans1l= mean( linearSample . one Site . periods , 1) ;

fullPeriodMeans1l= repmat ( periodMeans1l ,[ numEquations , 1 , 1 ] ) ...

;

periodMeans1l= squeeze ( periodMeans1l )’;

periodMask1l= zeros ( size ( fullPeriodMeans1l ));

periodMask1l ( fullPeriodMeans1l ˜= 0)= abs (( linearSample . ...

one Site . p e r i o d s ( fullPeriodMeans1l ˜= 0) − fullPeriodMeans1l (...

fullPeriodMeans1l ˜= 0) ) . / fullPeriodMeans1l ( fullPeriodMeans1l ˜=...

0) ) < periodTol ;

periodMask1l ( fullPeriodMeans1l == 0)= abs ( linearSample . one Site ...

. p e r i o d s ( fullPeriodMeans1l == 0) ) < periodTol ;

periodMask1l= squeeze ( a l l ( periodMask1l , 1) ) ’ ;

clear fullPeriodMeans1l

% Amplitude mask

amplitudeMask1l= squeeze ( a l l ( amplitudeThresh <= linearSample . ...

one Site . amplitudes , 1) ) ’ ;

% Combine masks and f i n d oscillating proportion

fullOscMask1l= periodMask1l & amplitudeMask1l ; 242

oscMask1l= any( fullOscMask1l , 2) ;

oscIndices1l= find ( oscMask1l );

oscProp1l= length ( oscIndices1l )/numSamples ;

disp ([ ’Oscillating proportion: ’ num2str( length ( o s c I n d i c e s 1 l ...

)) ’/’ num2str( numSamples ) ’= ’ num2str( oscProp1l )]);

[ maxArray1l , maxIndices1l ]= max( fullOscMask1l . ∗ periodMeans1l , ...

[ ] , 2) ;

globalMax1l= max( maxArray1l );

minArray1l= zeros ( numSamples , 1) ;

minIndices1l= ones ( numSamples , 1) ;

for k= 1 : numSamples

positiveIndices= fullOscMask1l (k ,:) > 0 ;

i f any( positiveIndices )

[ minArray1l ( k ), minIndices1l ( k ) ]= min( periodMeans1l (k , ... positiveIndices ));

end

end

globalMin1l= min( minArray1l (0 < minArray1l ));

i f isempty ( globalMin1l )

disp ( ’No period range.’ );

else

disp ([ ’Nontrivial period range: [’ num2str( globalMin1l ) ’,...

’ num2str( globalMax1l ) ’]’ ]);

end

[ deltaMax1l , deltaMaxIndex1l ]= max( maxArray1l − minArray1l ); 243

i f ˜isempty ( oscIndices1l )

disp ([ ’Maximum Delta T: [’ num2str( minArray1l (... deltaMaxIndex1l )) ’, ’ num2str( maxArray1l ( deltaMaxIndex1l )) ’],...

Delta T= ’ num2str( deltaMax1l ) ’, k= ’ num2str( deltaMaxIndex1l )...

’, j= [’ num2str( minIndices1l ( deltaMaxIndex1l )) ’,’ num2str(... maxIndices1l ( deltaMaxIndex1l )) ’]’ ]);

else

disp ( ’Maximum Delta T: NaN’ );

end

periodOscMask1l= ( minArray1l <= targetPeriod + deltaPeriod ) & ...

( targetPeriod − deltaPeriod <= maxArray1l );

periodOscIndices1l= find ( periodOscMask1l );

periodOscProp1l= length ( periodOscIndices1l )/numSamples ;

disp ([ num2str( targetPeriod ) ’ +/- ’ num2str( deltaPeriod ) ’ ... min period oscillating proportion: ’ num2str( length (... periodOscIndices1l )) ’/’ num2str( numSamples ) ’= ’ num2str(... periodOscProp1l )]);

periodMaxArray1l= periodOscMask1l . ∗ maxArray1l ;

periodMaxIndices1l= maxIndices1l ;

periodMaxIndices1l ( periodOscMask1l == 0)= 1 ;

periodMinArray1l= periodOscMask1l . ∗ minArray1l ;

periodMinIndices1l= minIndices1l ;

periodMinIndices1l ( periodOscMask1l == 0)= 1 ;

periodDeltaArray1l= periodMaxArray1l − periodMinArray1l ; 244

[ periodDeltaMax1l , periodDeltaMaxIndex1l ]= max(... periodDeltaArray1l );

i f ˜isempty ( periodOscIndices1l )

disp ([ ’Maximum Delta T containing ’ num2str( targetPeriod ) ...

’ +/- ’ num2str( deltaPeriod ) ’ : [’ num2str( periodMinArray1l (... periodDeltaMaxIndex1l )) ’, ’ num2str( periodMaxArray1l (... periodDeltaMaxIndex1l )) ’], Delta T= ’ num2str( periodDeltaMax1l )...

’, k= ’ num2str( periodDeltaMaxIndex1l ) ’, j= [’ num2str(... periodMinIndices1l ( periodDeltaMaxIndex1l )) ’,’ num2str(... periodMaxIndices1l ( periodDeltaMaxIndex1l )) ’] @’ 10 ’ rho= ’ ... num2str( linearSample . params . rhoSample ( periodDeltaMaxIndex1l )) ’...

, kH13H13= ’ num2str( linearSample . params . kH13H13Sample (... periodDeltaMaxIndex1l )) ’, kH7H7= ’ num2str( linearSample . params . ... kH7H7Sample ( periodDeltaMaxIndex1l )) ’, kH7H13= ’ num2str(... linearSample . params . kH7H13Sample ( periodDeltaMaxIndex1l )) ’, ... tau_h7= ’ num2str( linearSample . params . tau h7Sample (... periodDeltaMaxIndex1l )) ’, bH7= ’ num2str( linearSample . params . ... bH7Sample ( periodDeltaMaxIndex1l )) ’, rH7H7= ’ num2str(... linearSample . params . rH7H7Sample ( periodDeltaMaxIndex1l )) ’, ... wH7H7_H7H7= ’ num2str( linearSample . params . wH7H7 H7H7Sample(... periodDeltaMaxIndex1l )) ’, rN= ’ num2str( linearSample . params . ... rNSample ( periodDeltaMaxIndex1l ))]);

else

disp ([ ’Maximum Delta T containing ’ num2str( targetPeriod ) ...

’ +/- ’ num2str( deltaPeriod ) ’ : NaN’ ]);

end 245

periodDeltaCountFuncH1l= @( deltaTMin ) nnz( deltaTMin <= ...

periodDeltaArray1l ( periodOscIndices1l ));

disp ([ num2str( targetPeriod ) ’ +/- ’ num2str( deltaPeriod ) ’ ...

min period oscillating proportion with Delta T >= ’ num2str(...

targetDelta ) ’: ’ num2str( periodDeltaCountFuncH1l ( targetDelta ) ) ...

’/’ num2str( numSamples ) ’= ’ num2str( periodDeltaCountFuncH1l (...

targetDelta )/numSamples )]);

disp ( ’ ’ );

% Two bin ding s i t e s , nonlinear decay

disp ( ’MODEL III, 2 binding sites, nonlinear decay:’ );

i f ˜isempty ( nonlinearSample . twoSite . ...

H13TotalMaxSweepLimitPoints )

disp ( ’ Notice: H13TotalMax sweep limit reached.’ );

end

% Period mask

periodMeans2n= mean( nonlinearSample . twoSite . periods , 1) ;

fullPeriodMeans2n = repmat ( periodMeans2n ,[ numEquations , 1 , ...

1 ] ) ;

periodMeans2n= squeeze ( periodMeans2n )’;

periodMask2n= zeros ( size ( fullPeriodMeans2n ));

periodMask2n ( fullPeriodMeans2n ˜= 0)= abs (( nonlinearSample . ...

twoSite . p e r i o d s ( fullPeriodMeans2n ˜= 0) − fullPeriodMeans2n (... 246 fullPeriodMeans2n ˜= 0) ) . / fullPeriodMeans2n ( fullPeriodMeans2n ˜=...

0) ) < periodTol ;

periodMask2n ( fullPeriodMeans2n == 0)= abs ( nonlinearSample . ... twoSite . p e r i o d s ( fullPeriodMeans2n == 0) ) < periodTol ;

periodMask2n= squeeze ( a l l ( periodMask2n , 1) ) ’ ;

clear fullPeriodMeans2n ;

% Amplitude mask

amplitudeMask2n= squeeze ( a l l ( amplitudeThresh <= ... nonlinearSample . twoSite . amplitudes , 1) ) ’ ;

% Combine masks and f i n d oscillating proportion

fullOscMask2n= periodMask2n & amplitudeMask2n ;

oscMask2n= any( fullOscMask2n , 2) ;

oscIndices2n= find ( oscMask2n );

oscProp2n= length ( oscIndices2n )/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) ;

minIndices2n= ones ( numSamples , 1) ;

for k= 1 : numSamples

positiveIndices= fullOscMask2n (k ,:) > 0 ;

i f any( positiveIndices )

[ minArray2n ( k ), minIndices2n ( 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 ( oscIndices2n )

disp ([ ’Maximum Delta T: [’ num2str( minArray2n (... deltaMaxIndex2n )) ’, ’ num2str( maxArray2n ( deltaMaxIndex2n )) ’],...

Delta T= ’ num2str( deltaMax2n ) ’, k= ’ num2str( deltaMaxIndex2n )...

’, j= [’ num2str( minIndices2n ( deltaMaxIndex2n )) ’, ’ num2str(... maxIndices2n ( deltaMaxIndex2n )) ’]’ ]);

else

disp ( ’Maximum Delta T: NaN’ );

end

periodOscMask2n= ( minArray2n <= targetPeriod + deltaPeriod ) & ...

( targetPeriod − deltaPeriod <= maxArray2n );

periodOscIndices2n= find ( periodOscMask2n );

periodOscProp2n= length ( periodOscIndices2n )/numSamples ;

disp ([ num2str( targetPeriod ) ’ +/- ’ num2str( deltaPeriod ) ’ ... min period oscillating proportion: ’ num2str( length (... 248 periodOscIndices2n )) ’/’ num2str( numSamples ) ’= ’ num2str(... periodOscProp2n )]);

periodMaxArray2n= periodOscMask2n . ∗ maxArray2n ;

periodMaxIndices2n= maxIndices2n ;

periodMaxIndices2n ( periodOscMask2n == 0)= 1 ;

periodMinArray2n= periodOscMask2n . ∗ minArray2n ;

periodMinIndices2n= minIndices2n ;

periodMinIndices2n ( periodOscMask2n == 0)= 1 ;

periodDeltaArray2n= periodMaxArray2n − periodMinArray2n ;

[ periodDeltaMax2n , periodDeltaMaxIndex2n ]= max(... periodDeltaArray2n );

i f ˜isempty ( periodOscIndices2n )

disp ([ ’Maximum Delta T containing ’ num2str( targetPeriod ) ...

’ +/- ’ num2str( deltaPeriod ) ’ : [’ num2str( periodMinArray2n (... periodDeltaMaxIndex2n )) ’, ’ num2str( periodMaxArray2n (... periodDeltaMaxIndex2n )) ’], Delta T= ’ num2str( periodDeltaMax2n )...

’, k= ’ num2str( periodDeltaMaxIndex2n ) ’, j= [’ num2str(... periodMinIndices2n ( periodDeltaMaxIndex2n )) ’,’ num2str(... periodMaxIndices2n ( periodDeltaMaxIndex2n )) ’] @’ 10 ’ rho= ’ ... num2str( nonlinearSample . params . rhoSample ( periodDeltaMaxIndex2n ) )...

’, kH13H13= ’ num2str( nonlinearSample . params . kH13H13Sample (... periodDeltaMaxIndex2n )) ’, kH7H7= ’ num2str( nonlinearSample . ... params . kH7H7Sample ( periodDeltaMaxIndex2n )) ’, kH7H13= ’ num2str(... nonlinearSample . params . kH7H13Sample ( periodDeltaMaxIndex2n )) ’, ... tau_h7= ’ num2str( nonlinearSample . params . tau h7Sample (... 249

periodDeltaMaxIndex2n )) ’, bH7= ’ num2str( nonlinearSample . params...

. bH7Sample ( periodDeltaMaxIndex2n )) ’, rH7H7= ’ num2str(...

nonlinearSample . params . rH7H7Sample ( periodDeltaMaxIndex2n )) ’, ...

wH7H7_H7H7= ’ num2str( nonlinearSample . params . wH7H7 H7H7Sample(...

periodDeltaMaxIndex2n )) ’, rN= ’ num2str( nonlinearSample . params . ...

rNSample ( periodDeltaMaxIndex2n ))]);

else

disp ([ ’Maximum Delta T containing ’ num2str( targetPeriod ) ...

’ +/- ’ num2str( deltaPeriod ) ’ : NaN’ ]);

end

periodDeltaCountFuncH2n= @( deltaTMin ) nnz( deltaTMin <= ...

periodDeltaArray2n ( periodOscIndices2n ));

disp ([ num2str( targetPeriod ) ’ +/- ’ num2str( deltaPeriod ) ’ ...

min period oscillating proportion with Delta T >= ’ num2str(...

targetDelta ) ’: ’ num2str( periodDeltaCountFuncH2n ( targetDelta ) ) ...

’/’ num2str( numSamples ) ’= ’ num2str( periodDeltaCountFuncH2n (...

targetDelta )/numSamples )]);

disp ( ’ ’ );

% Two bin ding s i t e s , l i n e a r decay

disp ( ’MODEL IV, 2 binding sites, linear decay:’ );

i f ˜isempty ( linearSample . twoSite . H13TotalMaxSweepLimitPoints )

disp ( ’ Notice: H13TotalMax sweep limit reached.’ );

end 250

% Period mask

periodMeans2l= mean( linearSample . twoSite . periods , 1) ;

fullPeriodMeans2l = repmat ( periodMeans2l ,[ numEquations , 1 , ...

1 ] ) ;

periodMeans2l= squeeze ( periodMeans2l )’;

periodMask2l= zeros ( size ( fullPeriodMeans2l ));

periodMask2l ( fullPeriodMeans2l ˜= 0)= abs (( linearSample . ... twoSite . p e r i o d s ( fullPeriodMeans2l ˜= 0) − fullPeriodMeans2l (... fullPeriodMeans2l ˜= 0) ) . / fullPeriodMeans2l ( fullPeriodMeans2l ˜=...

0) ) < periodTol ;

periodMask2l ( fullPeriodMeans2l == 0)= abs ( linearSample . twoSite...

. p e r i o d s ( fullPeriodMeans2l == 0) ) < periodTol ;

periodMask2l= squeeze ( a l l ( periodMask2l , 1) ) ’ ;

clear fullPeriodMeans2l ;

% Amplitude mask

amplitudeMask2l= squeeze ( a l l ( amplitudeThresh <= linearSample . ... twoSite . amplitudes , 1) ) ’ ;

% Combine masks and f i n d oscillating proportion

fullOscMask2l= periodMask2l & amplitudeMask2l ;

oscMask2l= any( fullOscMask2l , 2) ;

oscIndices2l= find ( oscMask2l );

oscProp2l= length ( oscIndices2l )/numSamples ;

disp ([ ’Oscillating proportion: ’ num2str( length ( oscIndices2l )...

) ’/’ num2str( numSamples ) ’= ’ num2str( oscProp2l )]);

[ maxArray2l , maxIndices2l ]= max( fullOscMask2l . ∗ periodMeans2l , ...

[ ] , 2) ; 251

globalMax2l= max( maxArray2l );

minArray2l= zeros ( numSamples , 1) ;

minIndices2l= ones ( numSamples , 1) ;

for k= 1 : numSamples

positiveIndices= fullOscMask2l (k ,:) > 0 ;

i f any( positiveIndices )

[ minArray2l ( k ), minIndices2l ( k ) ]= min( periodMeans2l (k , ... positiveIndices ));

end

end

globalMin2l= min( minArray2l (0 < minArray2l ));

i f isempty ( globalMin2l )

disp ( ’No period range.’ );

else

disp ([ ’Nontrivial period range: [’ num2str( globalMin2l ) ’,...

’ num2str( globalMax2l ) ’]’ ]);

end

[ deltaMax2l , deltaMaxIndex2l ]= max( maxArray2l − minArray2l );

i f ˜isempty ( oscIndices2l )

disp ([ ’Maximum Delta T: [’ num2str( minArray2l (... deltaMaxIndex2l )) ’, ’ num2str( maxArray2l ( deltaMaxIndex2l )) ’],...

Delta T= ’ num2str( deltaMax2l ) ’, k= ’ num2str( deltaMaxIndex2l )...

’, j= [’ num2str( minIndices2l ( deltaMaxIndex2l )) ’, ’ num2str(... maxIndices2l ( deltaMaxIndex2l )) ’]’ ]);

else

disp ( ’Maximum Delta T: NaN’ ); 252

end

periodOscMask2l= ( minArray2l <= targetPeriod + deltaPeriod ) & ...

( targetPeriod − deltaPeriod <= maxArray2l );

periodOscIndices2l= find ( periodOscMask2l );

periodOscProp2l= length ( periodOscIndices2l )/numSamples ;

disp ([ num2str( targetPeriod ) ’ +/- ’ num2str( deltaPeriod ) ’ ... min period oscillating proportion: ’ num2str( length (... periodOscIndices2l )) ’/’ num2str( numSamples ) ’= ’ num2str(... periodOscProp2l )]);

periodMaxArray2l= periodOscMask2l . ∗ maxArray2l ;

periodMaxIndices2l= maxIndices2l ;

periodMaxIndices2l ( periodOscMask2l == 0)= 1 ;

periodMinArray2l= periodOscMask2l . ∗ minArray2l ;

periodMinIndices2l= minIndices2l ;

periodMinIndices2l ( periodOscMask2l == 0)= 1 ;

periodDeltaArray2l= periodMaxArray2l − periodMinArray2l ;

[ periodDeltaMax2l , periodDeltaMaxIndex2l ]= max(... periodDeltaArray2l );

i f ˜isempty ( periodOscIndices2l )

disp ([ ’Maximum Delta T containing ’ num2str( targetPeriod ) ...

’ +/- ’ num2str( deltaPeriod ) ’ : [’ num2str( periodMinArray2l (... periodDeltaMaxIndex2l )) ’, ’ num2str( periodMaxArray2l (... periodDeltaMaxIndex2l )) ’], Delta T= ’ num2str( periodDeltaMax2l )...

’, k= ’ num2str( periodDeltaMaxIndex2l ) ’, j= [’ num2str(... 253 periodMinIndices2l ( periodDeltaMaxIndex2l )) ’,’ num2str(... periodMaxIndices2l ( periodDeltaMaxIndex2l )) ’] @’ 10 ’ rho= ’ ... num2str( linearSample . params . rhoSample ( periodDeltaMaxIndex2l )) ’...

, kH13H13= ’ num2str( linearSample . params . kH13H13Sample (... periodDeltaMaxIndex2l )) ’, kH7H7= ’ num2str( linearSample . params . ... kH7H7Sample ( periodDeltaMaxIndex2l )) ’, kH7H13= ’ num2str(... linearSample . params . kH7H13Sample ( periodDeltaMaxIndex2l )) ’, ... tau_h7= ’ num2str( linearSample . params . tau h7Sample (... periodDeltaMaxIndex2l )) ’, bH7= ’ num2str( linearSample . params . ... bH7Sample ( periodDeltaMaxIndex2l )) ’, rH7H7= ’ num2str(... linearSample . params . rH7H7Sample ( periodDeltaMaxIndex2l )) ’, ... wH7H7_H7H7= ’ num2str( linearSample . params . wH7H7 H7H7Sample(... periodDeltaMaxIndex2l )) ’, rN= ’ num2str( linearSample . params . ... rNSample ( periodDeltaMaxIndex2l ))]);

else

disp ([ ’Maximum Delta T containing ’ num2str( targetPeriod ) ...

’ +/- ’ num2str( deltaPeriod ) ’ : NaN’ ]);

end

periodDeltaCountFuncH2l= @( deltaTMin ) nnz( deltaTMin <= ... periodDeltaArray2l ( periodOscIndices2l ));

disp ([ num2str( targetPeriod ) ’ +/- ’ num2str( deltaPeriod ) ’ ... min period oscillating proportion with Delta T >= ’ num2str(... targetDelta ) ’: ’ num2str( periodDeltaCountFuncH2l ( targetDelta ) ) ...

’/’ num2str( numSamples ) ’= ’ num2str( periodDeltaCountFuncH2l (... targetDelta )/numSamples )]); 254

% Figures f o r main paper

figureH= figure ( 1 ) ; c l f ( figureH ); set ( figureH , ’Position’ , [ 4 5 ...

305 775 231]);

colormap ([0.25 0.25 0.25; 0.75 0.75 0.75]);

axisH= subplot ( 1 , 3 , 1 ) ;

bar ( axisH , 100∗[ oscProp1n periodOscProp1n ; oscProp1l ... periodOscProp1l ; oscProp2n periodOscProp2n ; oscProp2l ... periodOscProp2l ]);

ylim ( axisH , [ 0 7 5 ] ) ;

set ( axisH , ’YTick’ , 0 : 1 0 : 7 0 ) ;

ylabel ( axisH , ’% of Simulations’ , ’FontWeight’ , ’demi’ , ’...

FontSize’ ,12) ;

xlim ( axisH , [0.5 4.5]);

xlabel ( axisH , ’Model Number’ , ’FontWeight’ , ’demi’ , ’...

FontSize’ ,12) ;

set ( axisH , ’XTickLabel’ , {’I’’II’’III’’IV’});

legend ( axisH , ’Periodic’ ,[ num2str( targetPeriod ) ’\pm’ ... num2str( deltaPeriod ) ’ min.’ ], ’Location’ , ’NorthWest’ );

t i t l e ( axisH , ’Model Comparison’ , ’FontWeight’ , ’demi’ , ’...

FontSize’ ,12) ;

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

count2l= count2n ;

for k= 1 : length ( xMidpoints )

count2n ( k )= periodDeltaCountFuncH2n ( xEdges ( k )) − ... periodDeltaCountFuncH2n ( xEdges ( k+1) ) ;

count2l ( k )= periodDeltaCountFuncH2l ( xEdges ( k )) − ... periodDeltaCountFuncH2l ( xEdges ( k+1) ) ;

end

bar ( axisH , xMidpoints , 100/numSamples ∗ [ count2n count2l ] , ...

’BarLayout’ , ’stacked’ , ’BarWidth’ ,1) ;

ylabel ( axisH , ’% of Simulations’ , ’FontWeight’ , ’demi’ , ’...

FontSize’ ,12) ;

xlim ( axisH , [ 0 3 0 ] ) ;

set ( axisH , ’XTick’ , 0:2.5:30);

set ( axisH , ’XTickLabel’ , {’0’ ’’ ’5’ ’’ ’10’ ’’ ’15’ ’’ ’...

20’ ’’ ’25’ ’’ ’30’});

xlabel ( axisH , ’{\Delta}T (min.)’ , ’FontWeight’ , ’demi’ , ’...

FontSize’ ,12) ;

legend ( axisH , ’Model III’ , ’Model IV’ );

t i t l e ( axisH , ’{\Delta}T Distributions’ , ’FontWeight’ , ’... demi’ , ’FontSize’ ,12) ;

set ( axisH , ’FontWeight’ , ’demi’ );

% Tabulations

disp ( ’ ’ );

disp ([ ’Model III Delta T tabulation (out of ’ num2str(... numSamples ) ’ samples):’ ]);

disp ([ ’Bin edges: ’ , mat2str ( xEdges )]);

disp ([ ’Counts : ’ , mat2str ( count2n ’)]); 256

disp ( ’ ’ );

disp ([ ’Model IV Delta T tabulation (out of ’ num2str(... numSamples ) ’ samples):’ ]);

disp ([ ’Bin edges: ’ , mat2str ( xEdges )]);

disp ([ ’Counts : ’ , mat2str ( count2l ’)]);

axisH= subplot ( 1 , 3 , 3 ) ;

nonlinearMeanPeriods= periodMeans2n ( periodDeltaMaxIndex2n...

,:);

linearMeanPeriods= periodMeans2l ( periodDeltaMaxIndex2l ,:);

s e r i e s H= plot ( axisH , nonlinearSample . params . ...

H13TotalMaxSweep ( 1 : periodMinIndices2n ( periodDeltaMaxIndex2n ) ) , ... nonlinearMeanPeriods ( 1 : periodMinIndices2n ( periodDeltaMaxIndex2n )...

), ’k-’ , linearSample . params . H13TotalMaxSweep ( 1 : ... periodMinIndices2l ( periodDeltaMaxIndex2l )), linearMeanPeriods ( 1 : ... periodMinIndices2l ( periodDeltaMaxIndex2l )), ’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’ ,12) ;

xlabel ( axisH , ’Total Control Protein (copy #)’ , ’...

FontWeight’ , ’demi’ , ’FontSize’ ,12) ;

t i t l e ( axisH , ’Solutions for {\Delta}T_{III}^{max} & {\...

Delta}T_{IV}^{max} ’ , ’FontWeight’ , ’demi’ , ’FontSize’ ,12) ;

legend ( axisH , ’Model III’ , ’Model IV’ );

set ( axisH , ’FontWeight’ , ’demi’ ); 257

figureH= figure ( 2 ) ; c l f ( figureH ); set ( figureH , ’Position’ , [ 3 0 ...

325 512 240]);

colormap ([0.5 0.5 0.5]);

axisH= subplot ( 1 , 2 , 1 ) ;

edges= 2 : 0 . 5 : 9 ;

bar ( axisH , edges , h i s t c ( nonlinearSample . params . ...

tau h7Sample ( periodOscIndices2n ), edges ), ’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’ ,12) ;

xlim ( axisH , [2.3 8.1]);

set ( axisH , ’XTick’ , [2.3 3:1:7 8.1]);

xlabel ( axisH , ’\tau_c’ , ’FontSize’ ,12) ;

t i t l e ( axisH , ’Sensitive, Model III’ , ’FontWeight’ , ’demi’ , ...

’FontSize’ ,12) ;

set ( axisH , ’FontWeight’ , ’demi’ );

axisH= subplot ( 1 , 2 , 2 ) ;

edges= 1/3:1/3:3;

bar ( axisH , edges , h i s t c ( nonlinearSample . params . rhoSample (...

periodOscIndices2n ), edges ), ’histc’ );

ylabel ( axisH , ’Simulation Count’ , ’FontWeight’ , ’demi’ , ’...

FontSize’ ,12) ;

xlim ( axisH , [0.99/3 3]);

set ( axisH , ’XTick’ , [0.33 1 2 3]);

xlabel ( axisH , ’\rho’ , ’FontWeight’ , ’demi’ , ’FontSize’ ,12) ; 258

t i t l e ( axisH , ’Insensitive, Model III’ , ’FontWeight’ , ’demi...

’ , ’FontSize’ ,12) ;

set ( axisH , ’FontWeight’ , ’demi’ );

% Figures f o r Supplement

topGraphTitle= [ ’Periodic’ ];

midGraphTitle= [ num2str( targetPeriod ) ’\pm’ num2str(... deltaPeriod ) ’ min’ ];

botGraphTitle= [ ’\DeltaT\geq’ num2str( targetDelta ) ’ min’ ];

figure ( 5 ) ; c l f ; colormap ([0.5 0.5 0.5]);

axisH= subplot ( 3 , 4 , 1 ) ;

edges= 1/3:1/3:3;

bar ( edges , h i s t c ( nonlinearSample . params . rhoSample (... oscIndices2n ), edges ), ’histc’ );

xlim ([0.99/3 3]);

set ( axisH , ’XTick’ , [0.33 1 2 3]);

xlabel ( ’\rho’ );

t i t l e ( topGraphTitle );

axisH= subplot ( 3 , 4 , 5 ) ;

edges= 1/3:1/3:3;

bar ( edges , h i s t c ( nonlinearSample . params . rhoSample (... periodOscIndices2n ), edges ), ’histc’ );

xlim ([0.99/3 3]);

set ( axisH , ’XTick’ , [0.33 1 2 3]);

xlabel ( ’\rho’ );

t i t l e ( midGraphTitle ); 259

axisH= subplot ( 3 , 4 , 9 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . rhoSample (... periodDeltaArray2n >= targetDelta ), edges ), ’histc’ );

xlim ([0.99/3 3]);

set ( axisH , ’XTick’ , [0.33 1 2 3]);

xlabel ( ’\rho’ );

t i t l e ( botGraphTitle );

axisH= subplot ( 3 , 4 , 2 ) ;

edges= 2 : 0 . 5 : 9 ;

bar ( edges , h i s t c ( nonlinearSample . params . tau h7Sample (... oscIndices2n ), edges ), ’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 ) ;

edges= 2 : 0 . 5 : 9 ;

bar ( edges , h i s t c ( nonlinearSample . params . tau h7Sample (... periodOscIndices2n ), edges ), ’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 ( nonlinearSample . params . tau h7Sample (... periodDeltaArray2n >= targetDelta ), edges ), ’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 ) ;

edges= 0 : 0 . 1 : 1 ;

bar ( edges , h i s t c ( nonlinearSample . params . rH7H7Sample (... oscIndices2n ), edges ), ’histc’ );

xlim ( [ 0 . 0 1 1 ] ) ;

set ( axisH , ’XTick’ , [0.01 0.5 1]);

xlabel ( ’\rho_{C:C}’ );

t i t l e ( topGraphTitle );

axisH= subplot ( 3 , 4 , 7 ) ;

edges= 0 : 0 . 1 : 1 ;

bar ( edges , h i s t c ( nonlinearSample . params . rH7H7Sample (... periodOscIndices2n ), edges ), ’histc’ );

xlim ( [ 0 . 0 1 1 ] ) ;

set ( axisH , ’XTick’ , [0.01 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 ( nonlinearSample . params . rH7H7Sample (... periodDeltaArray2n >= targetDelta ), edges ), ’histc’ );

xlim ( [ 0 . 0 1 1 ] ) ;

set ( axisH , ’XTick’ , [0.01 0.5 1]);

xlabel ( ’\rho_{C:C}’ );

t i t l e ( botGraphTitle );

axisH= subplot ( 3 , 4 , 4 ) ; 261

edges= 0 : 1 0 : 1 0 0 ;

bar ( edges , h i s t c ( nonlinearSample . params . wH7H7 H7H7Sample(... oscIndices2n ), edges ), ’histc’ );

xlim ( [ 1 1 0 0 ] ) ;

set ( axisH , ’XTick’ , [1 50 100]);

xlabel ( ’\omega_{C:C}’ );

t i t l e ( topGraphTitle );

axisH= subplot ( 3 , 4 , 8 ) ;

edges= 0 : 1 0 : 1 0 0 ;

bar ( edges , h i s t c ( nonlinearSample . params . wH7H7 H7H7Sample(... periodOscIndices2n ), edges ), ’histc’ );

xlim ( [ 1 1 0 0 ] ) ;

set ( axisH , ’XTick’ , [1 50 100]);

xlabel ( ’\omega_{C:C}’ );

t i t l e ( midGraphTitle );

axisH= subplot ( 3 , 4 , 1 2 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . wH7H7 H7H7Sample(... periodDeltaArray2n >= targetDelta ), edges ), ’histc’ );

xlim ( [ 1 1 0 0 ] ) ;

set ( axisH , ’XTick’ , [1 50 100]);

xlabel ( ’\omega_{C:C}’ );

t i t l e ( botGraphTitle );

figure ( 6 ) ; c l f ; colormap ([0.5 0.5 0.5]);

axisH= subplot ( 3 , 4 , 1 ) ;

edges= 0.2:0.05:0.5; 262

bar ( edges , h i s t c ( nonlinearSample . params . bH7Sample (... oscIndices2n ), edges ), ’histc’ );

xlim ([0.2 0.5]);

set ( axisH , ’XTick’ , [0.2 0.35 0.5]);

xlabel ( ’\beta_C’ );

t i t l e ( topGraphTitle );

axisH= subplot ( 3 , 4 , 5 ) ;

edges= 0.2:0.05:0.5;

bar ( edges , h i s t c ( nonlinearSample . params . bH7Sample (... periodOscIndices2n ), edges ), ’histc’ );

xlim ([0.2 0.5]);

set ( axisH , ’XTick’ , [0.2 0.35 0.5]);

xlabel ( ’\beta_C’ );

t i t l e ( midGraphTitle );

axisH= subplot ( 3 , 4 , 9 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . bH7Sample (... periodDeltaArray2n >= targetDelta ), edges ), ’histc’ );

xlim ([0.2 0.5]);

set ( axisH , ’XTick’ , [0.2 0.35 0.5]);

xlabel ( ’\beta_C’ );

t i t l e ( botGraphTitle );

axisH= subplot ( 3 , 4 , 2 ) ;

edges= 0:50:1000;

bar ( edges , h i s t c ( nonlinearSample . params . kH13H13Sample (... oscIndices2n ), edges ), ’histc’ );

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]); 263

xlabel ( ’\kappa_{G:G}’ );

t i t l e ( topGraphTitle );

axisH= subplot ( 3 , 4 , 6 ) ;

edges= 0:50:1000;

bar ( edges , h i s t c ( nonlinearSample . params . kH13H13Sample (... periodOscIndices2n ), edges ), ’histc’ );

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]);

xlabel ( ’\kappa_{G:G}’ );

t i t l e ( midGraphTitle );

axisH= subplot ( 3 , 4 , 1 0 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . kH13H13Sample (... periodDeltaArray2n >= targetDelta ), edges ), ’histc’ );

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]);

xlabel ( ’\kappa_{G:G}’ );

t i t l e ( botGraphTitle );

axisH= subplot ( 3 , 4 , 3 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . kH7H7Sample (... oscIndices2n ), edges ), ’histc’ );

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]);

xlabel ( ’\kappa_{C:C}’ );

t i t l e ( topGraphTitle );

axisH= subplot ( 3 , 4 , 7 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . kH7H7Sample (... periodOscIndices2n ), edges ), ’histc’ ); 264

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]);

xlabel ( ’\kappa_{C:C}’ );

t i t l e ( midGraphTitle );

axisH= subplot ( 3 , 4 , 1 1 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . kH7H7Sample (... periodDeltaArray2n >= targetDelta ), edges ), ’histc’ );

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]);

xlabel ( ’\kappa_{C:C}’ );

t i t l e ( botGraphTitle );

axisH= subplot ( 3 , 4 , 4 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . kH7H13Sample (... oscIndices2n ), edges ), ’histc’ );

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]);

xlabel ( ’\kappa_{C:G}’ );

t i t l e ( topGraphTitle );

axisH= subplot ( 3 , 4 , 8 ) ;

bar ( edges , h i s t c ( nonlinearSample . params . kH7H13Sample (... periodOscIndices2n ), edges ), ’histc’ );

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]);

xlabel ( ’\kappa_{C:G}’ );

t i t l e ( midGraphTitle );

axisH= subplot ( 3 , 4 , 1 2 ) ; 265

bar ( edges , h i s t c ( nonlinearSample . params . kH7H13Sample (... periodDeltaArray2n >= targetDelta ), edges ), ’histc’ );

xlim ([10 1000]);

set ( axisH , ’XTick’ , [10 500 1000]);

xlabel ( ’\kappa_{C:G}’ );

t i t l e ( botGraphTitle );

i f true % f i s e m p t y ( ver (’ s t a t s ’) ) % S t a t i s t i c s Toolbox not ... a v a i l a b l e

disp ( [ 10 ’Statistics Toolbox is not available for making ... box plots.’ ]);

else % 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 ) ;

boxplot ([ nonlinearSample . params . tau h7 ( periodOs cI ndic es 1...

); nonlinearSample . params . tau h7 ( periodOscIndices2 )], modelNames...

);

t i t l e ( ’\tau_{h7} delay’ );

ylabel ( ’\tau_{h7} delay (min.)’ );

subplot ( 2 , 2 , 3 ) ; 266

boxplot ([ nonlinearSample . params . rho ( periodOscIndices1 ) ; ... nonlinearSample . params . rho ( periodOscIndices2 )], modelNames );

t i t l e ( ’\rho’ );

ylabel ( ’\rho’ );

subplot ( 2 , 2 , 2 )

boxplot ([ nonlinearSample . params . kH13H13(... periodOscIndices1 ); nonlinearSample . params . kH13H13(... periodOscIndices2 )], modelNames );

t i t l e ( ’\kappa_{13:13}’ );

ylabel ( ’\kappa_{13:13}’ );

subplot ( 2 , 2 , 4 )

boxplot ([ nonlinearSample . params . rH7H7( periodOscIndices1 )...

; nonlinearSample . params . rH7H7( periodOscIndices2 )], modelNames );

t i t l e ( ’\rho_{7:7}’ );

ylabel ( ’\rho_{7:7}’ );

% Show range of Deltas

figure ( 6 ) ; c l f ;

boxplot ([ periodDeltaArray1 ( periodOscIndices1 ) ; ... periodDeltaArray2 ( periodOscIndices2 )], 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 plotSolution ( s o l )

% Usage :

% plotSolution ( s o l )

%

% P l o t s v a r i o u s time s e r i e s f o r the f i r s t c e l l only

i n d i c e s= [ s o l . params . H7TotalIndices ( 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 . DIndices ( 1 ) ; s o l . params . ...

d I n d i c e s ( 1 ) ] ;

end

startTimeIndex= find ( s o l . x >= s o l . params . timeInterval ( 1 ) , 1) ;

i f isempty ( startTimeIndex )

startTimeIndex= 1 ;

end

maxY= max(max( s o l . y ( i n d i c e s , startTimeIndex : end)));

figure ( 1 ) ;

a x i s 1= subplot ( 3 , 1 , 1 ) ;

s e r i e s 1= plot ( axis1 , s o l . x , s o l . y ( i n d i c e s ,:), ’LineWidth’...

,2) ; 268

ylim ( axis1 , [ 0 , 1.1∗maxY ]);

set ( axis1 , ’FontWeight’ , ’demi’ );

xlabel ( ’time (min)’ , ’FontSize’ ,12) ;

ylabel ( ’Copy #’ , ’FontSize’ ,12) ;

i f s o l . params . couplingBool

t i t l e ([ num2str( s o l . params . numCells , ’%d’ ), ’ Coupled ...

Cell(s) -- Cell 1’ ], ’FontSize’ ,14) ;

else

t i t l e ([ num2str( s o l . params . numCells , ’%d’ ), ’ Uncoupled ...

Cell(s) -- Cell 1’ ], ’FontSize’ ,14) ;

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 . amplitudes ( 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 . amplitudes ( 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’ );

else % 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 . amplitudes ( 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 . amplitudes ( 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 . amplitudes ( 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 . ...

amplitudes ( 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

xLimits= xlim ; % Used in p l o t s below

a x i s 2= subplot ( 3 , 1 , 2 ) ;

area ( axis2 , s o l . x ,[ s o l . output . H7H13 ( 1 , : ) ’ , s o l . output . ...

H7H7 ( 1 , : ) ’ , s o l . output . H7 ( 1 , : ) ’ ] ) ;

xlim ( axis2 , xLimits );

ylim ( axis2 , [ 0 , 1.1∗maxY ]);

set ( axis2 , ’FontWeight’ , ’demi’ );

xlabel ( ’time (min)’ , ’FontSize’ ,12) ;

ylabel ( ’Copy #’ , ’FontSize’ ,12) ;

t i t l e ( ’Her7 Distribution -- Cell 1’ , ’FontSize’ ,14) ;

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

area ( axis3 , s o l . x ,[ s o l . output . H7H13 ( 1 , : ) ’ , s o l . output . ...

H13H13 ( 1 , : ) ’ , s o l . output . H13 ( 1 , : ) ’ ] ) ;

xlim ( axis3 , xLimits );

set ( axis3 , ’FontWeight’ , ’demi’ );

xlabel ( ’time (min)’ , ’FontSize’ ,12) ;

ylabel ( ’Copy #’ , ’FontSize’ ,12) ;

t i t l e ( ’Her13.2 Distribution -- Cell 1’ , ’FontSize’ ,14) ;

legend ( ’$H_{7:13}$’ , ’$H_{13:13}$’ , ’$H_{13}$’ );

set ( legend ( a x i s 3 ), ’Location’ , ’NorthEast’ , ’Interpreter’ ,...

’latex’ ); end