SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Downloaden Sie, um offline zu lesen
Effect of allelic differences on stochastic gene
expression
A thesis submitted in partial fulfillment of
the requirements for the degree of
Master of Technology
by
Kaushalesh Gupta
(Roll No. 144106035)
Under the guidance of
Dr. Biplab Bose
DEPARTMENT OF BIOSCIENCES & BIOENGINEERING
INDIAN INSTITUTE OF TECHNOLOGY GUWAHATI
May 2016
CERTIFICATE
This is to certify that the work contained in this thesis entitled
Effect of allelic differences on stochastic gene expression
is the work of
Kaushalesh Gupta
(Roll No. 144106035)
for the award of the degree of Master of Technology, carried out in the
Department of Biosciences and Bioengineering, Indian Institute of Technology
Guwahati under my supervision and that it has not been submitted elsewhere
for a degree.
Supervisor
Signature of HOD
Date:
Place:
DECLARATION
The work contained in this thesis is my own work under the supervision of
the Dr.Biplab Bose. We have read and understood the “M. Tech Ordinances
and Regulations” of IIT Guwahati and the “FAQ Document on Academic Mal-
practice and Plagiarism” of Biosciences and Bioengineering Department of IIT
Guwahati. To the Best of our knowledge, this thesis is an honest representation
of my work.
Kaushalesh Gupta
Date:
Place:
Acknowledgments
The writing of this project work has been one of the most significant academic challenges I have
ever had to face. Without the support, patience and guidance of the following people, this study
would not have been completed .It is to them I owe my deepest gratitude.
First of all, I would like to give my sincere thanks to my honorific supervisor Dr. Biplab
Bose, who accepted me as a MTP student .I appreciate all his contributions of time, ideas and
funding to make my project a productive and stimulating experience. I am also thankful for the
excellent example he has provided as a successful scientist.
I also want to express my profound sense of gratitude and respect to our H.O.D, Prof.Kannan
Pakshirajan , for his help in academic matters. I would like to thank all the members of Cen-
ter for Excellence who have created all necessary conditions conductive to the initiation and
completion of project.
All the Lab members contributed immensely to my personal and professional time. They
have been a source of friendship as well as good advice. I am especially grateful to Vimal,
Thiyagarajan, Sandipan, Poulami, Mahesh, Satendra, poulomi, Neha, Nischal and Namami who
have supported me and encouraged me throughout the project work. I very much appreciate
their patience with me. Last but not the least; I would like to thank my family and friends for
their love and understanding. They form the backbone and origin of my happiness.
Abstract
It is widely known that stochastic gene expression gives rise to flexibility in the biological sys-
tem and makes it adaptable to changing environment. We have used an analytical model to
visualize the effect of stochasticity in a biological system which is previously supposed to be
deterministic as it shows the average behavior of cell population. Simulation are performed
in a simple model of biallelic gene expression to understand how protein behavior changes by
changing transcriptional rate kinetics of an allele. It is observed that in an increasing tran-
scriptional rate kinetics of an allele decreased the variation arise in stochastic gene expression.
Similarly, analytical model is created for protein oscillation and simulation performed to under-
stand how allelic differences in one gene affect the expression of other protein.
iv
Nomenclature
MDM2 Mouse Double Minute 2
SNP Single Nucleotide polymorphism
mRNA messenger RNA
ATM Ataxia Telangiectasia Mutated
Wip1 Wild-type p53-induced phosphatase 1
casp3 Caspase 3
ode Ordinary differential equation
ka Rate of transition of promoter from off to on
kd Rate of transition of promoter from on to off
v
Contents
Abstract iv
Nomenclature v
List of Figures viii
1 Introduction 1
1.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Review of Literature 3
2.1 Stochasticity in gene expression . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Allele differences in gene expression . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 P53 and its regulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Materials and Methods 6
3.1 Formulation of the model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Model Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 p53 and its regulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Results and Discussion 11
4.1 Network map of p53 regulation . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Bi-allele model of gene expression . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2.1 Model of bi-allele gene expression . . . . . . . . . . . . . . . . . . . . 12
4.2.2 Model simulation of bi-allelic gene expression Network. . . . . . . . . 12
4.2.3 Stochastic system with changing rate kinetics. . . . . . . . . . . . . . . 13
4.3 Simple oscillatory Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.3.1 Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
vi
4.3.2 Deterministic and stochastic simulation of oscillatory Network using
random number to check promoter state. . . . . . . . . . . . . . . . . . 15
4.3.3 Deterministic and stochastic simulation of oscillatory Network using
Poisson process for promoter transition between on/off state. . . . . . . 16
4.3.4 Fourier Analysis of Oscillatory Network. . . . . . . . . . . . . . . . . 17
4.3.5 Single cell and Average population behavior of the network with stochas-
tic gene expression. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3.6 Effect of promoter transition rate on homozygous allele system. . . . . 19
4.3.7 Effect of promoter transition rate on heterozygous allele system. . . . 20
4.3.8 Effect of allele differences on stochastic gene expression . . . . . . . . 21
4.3.9 Analyses of protein noises of X1, X2, X3 . . . . . . . . . . . . . . . . 22
5 Conclusion 24
6 Appendix 25
vii
List of Figures
3.1 Schematics representation of deterministic simulation . . . . . . . . . . . . . . 8
3.2 Schematics representation of stochastic simulation . . . . . . . . . . . . . . . 9
4.1 Deterministic and Stochastic schematics of bi-allele gene expression. . . . . . 12
4.2 Dynamics of bi-allelic gene expression for deterministic and stochastic model. . 13
4.3 Dynamics of slow and fast stochastic system. . . . . . . . . . . . . . . . . . . 13
4.4 Histogram plot for stochastic system. . . . . . . . . . . . . . . . . . . . . . . . 14
4.5 A deterministic model of simple oscillatory network. . . . . . . . . . . . . . . 14
4.6 A Stochastic model of simple oscillatory network. . . . . . . . . . . . . . . . . 15
4.7 Deterministic and stochastic simulation result of oscillatory Network using ran-
dom number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.8 Deterministic and stochastic simulation result of oscillatory Network using Pois-
son process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.9 Result of Deterministic and stochastic Network Fourier Analysis. . . . . . . . . 18
4.10 Single cell and Average population behavior of stochastic gene expression . . . 19
4.11 Homozygous allele system behavior with different promoter transition kinetics 20
4.12 Heterozygous allele system behavior with different promoter transition kinetics. 21
4.13 Effect of allele differences on stochastic gene expression. . . . . . . . . . . . . 22
4.14 Results of protein noise analysis. . . . . . . . . . . . . . . . . . . . . . . . . . 23
viii
Chapter 1
Introduction
A biological process in an individual cell is stochastic in nature. In a single cell, stochasticity
can arise at many stages for example molecule diffusion in a cell, conformation rearrangements,
and randomness in a process of transcription and degradation of mRNA and proteins. Stochas-
ticity in gene expression can also arise due to SNPs in the promoter region of an allele and give
rise differences in its expression dynamics which can consequently affect dynamics of other
system depend on it.
We have created an analytical model to visualize how transitions of promoter between
different transcriptional states lead to noisy gene expression among clonal cell population [5,
20].These noises in gene expression is essential for diverse cellular processes, such as the gen-
eration of phenotypic heterogeneity and the regulation of probabilistic cell-fate decisions across
isogenic cell lines .Tight regulation of gene expression noises is also vital for the functioning of
proteins, and breakdown in its regulation can lead to a diverse disease state.
One such system is p53 and MDM2. p53 is a 393 amino acid nuclear phosphoprotein,
acts as a tetrameric sequence-specific DNA-binding protein to regulate the transcription of a
growing range of genes whose protein products can regulate cell-cycle progression and apop-
tosis [11]. MDM2 protein also known as E3 ubiquitin-protein ligase. it is a 491 amino acid
nuclear phosphoprotein that contains a p53 binding domain at its N-terminus protein. mdm2
bind p53 mediate its rapid degradation through the ubiquitin proteolysis pathway keeps its level
under tight control [6, 8, 12]. It is found that SNPs in the promoter of mdm2 (SNP 309) gene
increases the affinity of sp1 transcriptional factor and lead to a high expression of MDM2 which
consequently alter dynamics of p53 and lead to a diseased state of tumor progression [3].
1
1.1 Objective
• To make Network map of p53 Regulation.
• To study the effect of allelic differences in the production of protein in a single cell.
• To study how allelic differences in promoter region effects oscillation of protein in a
single cell.
2
Chapter 2
Review of Literature
2.1 Stochasticity in gene expression
Stochasticity is a property of a system which lacks any predictable order and outcomes. It com-
pletely different from a deterministic system whose future behavior is fully determined by their
initial conditions and follow a predictable pattern. A biological process in an individual cell is
stochastic in nature. In a single cell, stochasticity can arise at many stages for example molecule
diffusion in a cell, conformation rearrangements and randomness in a process of transcription
and degradation of mRNA and proteins.
Novick and Weinert showed that the beta-galactosidase production in single cells was
highly variable,and on induction the proportion of cells expressing the enzyme rather increased
rather than increasing every cell’s expression level equally. Later studies were performed on the
expression of a glucocorticoid-responsive transgene encoding beta-galactosidase with different
doses of glucocorticoid expression reporter in a single-cells and observed large variability in
the expression of the transgene from cell to cell. It is also observed that with an increase in
dose result in increased frequency of cells displaying a high level of expression instead of the
uniform increase in expression in every cell. [7]. The same observation is observed in the p53
system. They found that p53 was expressed in a series of discrete pulses after DNA damage.
Genetically identical cells had different numbers of pulses: zero, one, two or more. The mean
height and duration of each pulse were fixed and did not depend on the amount of DNA damage.
The mean number of pulses, however, increased with DNA damage [9]. Later there are several
theoretical work has been purposed to describe stochastic in gene expression especially in a P53
system such as A plausible model for the digital response of p53 to DNA damage to describe
3
the variability in p53 system [21], Modelling the role of p53 pulses in DNA damage [2].
Stochastic gene expression has important consequences for cellular function, being ben-
eficial in some contexts and harmful in others. These situations include the stress response,
metabolism, development, the cell cycle, circadian rhythms, and aging [17]. Heterogeneity
arises in isogenic cell population due stochastic gene expression give rise to flexibility in the
system and also play a crucial role in embryonic development and cancer. It is observed that a
positive feedback increases heterogeneity in gene expression and give rise to bistability in the
system. A bistable system has two stable steady states, with lower and higher expression of the
target gene. In such a system, for a given inducing signal, cells can have either higher expression
or lower expression of the gene .This gives rise to a mixed population of cells with bimodal dis-
tribution in expression. Due to the inherent stochasticity in transcriptional processes, a positive
feedback can lead to bimodal gene expression even without bistability Bimodal gene expres-
sion, due to positive feedback in transcription, has been observed for genes involved cellular
differentiation and embryonic development [14]
2.2 Allele differences in gene expression
An allele is one of a pair of genes that appear at a particular location on a particular chromosome
and control the same characteristic, such as blood type or colour-blindness. Some organism
contain only one allele at a particular locus on a chromosome and called as monoallelic such
as bacteria while species like human are contains two alleles at a particular locus called as
biallelic, they inherit one from each parent. If the two alleles are the same, the individual is
homozygous for that gene. If the alleles are different, the individual is heterozygous. When the
alleles of a pair are heterozygous, the phenotype of one trait may be dominant and the other
recessive. The dominant allele is expressed and the recessive allele is masked. This is known
as complete dominance. In heterozygous relationships where neither allele is dominant but
both are completely expressed, the alleles are considered to be co-dominant. Co-dominance is
exemplified in AB blood type inheritance. When one allele in not completely dominant over
the other, the alleles are said to express incomplete dominance.
Promoter regions are an essential component of transcription initiation and the assembly
of RNA polymerase and associated regulators. SNPs in the promoter region of a gene would
be expected to modify the binding affinity of the promoter to transcription factors thereby reg-
4
ulating gene expression. The change in expression due to SNP in promoter can lead to diseased
condition one such example is the development of Alzheimers disease due to a mutation in the
promoter sequence of 4 allele of the Apolipoprotein E gene in human [10].
2.3 P53 and its regulation
p53 is a tumor suppressor protein which regulates the expression of multiple proteins involve
in cell cycle regulation and forms many feedback loops. An outstanding one is p53-MDM2
negative feedback loop.p53 can transcriptionally activate MDM2 expression and in turn MDM2
can targets p53 for proteasome degradation through the ubiquitin proteolysis pathway [6]. P53-
MDM2 feedback loop together with another characterized negative feedback loop involving
WIP1/ATM forms the basis of p53 pulses and previous experiments have confirmed sustained
p53 oscillation under DNA damage conditions [15,18]. MDM2 contained SNP309 its promoter
region which lead to increased affinity of sp1 transcription factor hence show increased level of
MDM2 expression level, hence result in attenuation of p53 expression and its control to regulate
cell cycle which leads to tumor progression [3].
5
Chapter 3
Materials and Methods
3.1 Formulation of the model
A. We consider the three-variable model shown in Fig. 4.5 and described by the following
differential equations for Deterministic Model of gene expression:
.
dX(1)
dt
= k(1) − k(2) ×
x(1)
x(1) + k(3)
× x(3)
.
.
dx(2)
dt
= k(4) × x(1) − k(5) × x(2)
.
.
dx(3)
dt
= k(6) × x(2) − k(7) × x(3)
.
Here x(1), x(2) , x(3) are three variable which production depend on rate constant k(1),
k(4), k(6) respectively, and degradation depend on rate constant k(2), k(5), k(7) respectively.
Model consist of one feedback loop in which x(3) is negatively regulating the expression of
x(1) which is the main cause in the origin of oscillatory behavior in the system.
6
B. We consider the three-variable model shown in Fig. 4.6 and described by the following
differential equations for Stochastic Model of gene expression:
.
dx(1)
dt
= k(1) − k(2) ×
x(1)
x(1) + k(3)
× x(3)
.
.
dx(2)
dt
=
k(4)
2
× (status(1) + status(2)) × x(1) − k(5) × x(2)
.
.
dx(3)
dt
= k(6) × x(2) − k(7) × x(3)
.
Case 1 : Here x(1), x(2) , x(3) are three variable which production depend on rate constant
k(1), k(4), k(6) respectively, and degradation depend on rate constant k(2), k(5), k(7) respec-
tively. In this case promoter state will depend on random number for example, we have set the
initial status of promoter in off state. Then it will generate a random number and compare the
random number with the probability of promoter off → on state. If random number is less the
probability, promoter will turned on else remain in off state. Similarly, when promoter is in
on state it will check the probability of promoter on → off state. If random number is less the
probability, promoter will turned off else remain in on state. When promoter is on, it will result
in protein production and in off state it will not produce protein.
Case 2 : In second case of stochastic simulation we have used interarrival time according
to Poisson process to determine promoter state. Initially we consider promoter is in off state
then according to Poisson process(time = - 1/kon * log(u)), it will check when promoter will
going to be turned on. Similarly, when promoter is in on state It will check when promoter is
going to be turned off (time = - 1/koff*log(u)) .When promoter is on, it will result in protein
production and in off state it will not produce protein.(u is random number)
7
3.2 Model Simulation
All the simulation are performed in Matlab 2014b.
Figure 3.1: Schematics representation of deterministic simulation
In this schematics, showing the working of our code in Matlab for Deterministic simulation.
As shown in the figure ordinary differential equation (ode) solver call all the equation and input
requires for solving odes. After simulation, it writes data to a text file.
8
Figure 3.2: Schematics representation of stochastic simulation
It this schematics, showing the working of our code in Matlab for Stochastic simulation. As
shown in the figure ordinary differential equation (ode) solver call all the equation and input
requires in solving odes. Stochasticity is generated by fluctuating the promoter status according
to Poisson distribution.
9
In the Schematics shown in fig. 3.1 and fig. 3.2 describes the working Matlab code.
Matlab code of four functions: Ode solver, parameter value, Equation and text. The first step in
this process is to convert a biological network into the system of ordinary differential equation
and define all the ordinary differential equation in Equation function. The second step is to find
the Parameter value (for example. the rate of transcription, the rate of translation, the rate of
degradation of protein in a gene regulatory network) and initial condition (for example. Basal
level of protein in a cell) by reviewing it in literature and then define it in parameter function.
The third step is to use Ode solver which is a Matlab inbuilt function, we have used it to solve the
ode defined in Equation function. After simulation data is saved in a text file by text function.
In Matlab code for the stochastic simulation, an addition function is added promoter status to
generate randomness into the system. This function helps Ode solver to check whether the
promoter is switch on (then status will be updated to 1) or switch off condition (then status will
be updated to 0) and accordingly protein will produce.
3.3 p53 and its regulation.
p53 is a tumour suppressor protein which regulates the transcription of a growing range of
genes whose protein products can regulate cell-cycle progression. The intracellular activity of
the p53 is regulated by MDM2. MDM2 mediated degradation of p53 under non-stressed. It is
also reported in the paper that MDM2 inhibit the translation of p53 [16]. In stressed condition
(DNA damage) ATM gets activated through intermolecular phosphorylation. Activated ATM
(i.e. phosphorylated form) then phosphorylates and stabilizes p53 (p53p) ATM also phospho-
rylate MDM2 and strongly diminished its ability to degrade [19]. Phosphorylated p53 species
can activate mdm2 and wip1 transcription. WIP1 (wildtype p53induced phosphatase 1) result
in dephosphorylation of p53p, MDM2p and ATM [15]. ATM protein keeps a check over DNA
damage and gets re-activated again and again till the damage is repaired [1] and this gives rise
oscillatory behaviour of p53. Oscillatory behaviour of p53 has physical significance in biolog-
ical context At low damage levels, few p53 pulses evoke cell cycle arrest by inducing p21 and
promote cell survival, whereas at high damage levels, sustained p53 pulses trigger apoptosis
by inducing Casp3 [13].On the basis of all these information, a network map P53 regulation is
created.
10
Chapter 4
Results and Discussion
4.1 Network map of p53 regulation
p53 is a tumour suppressor protein. The intracellular activity of the p53 is regulated by
MDM2. MDM2 mediated degradation of p53 under non-stressed. In stressed condition (DNA
damage) ATM gets activated through intermolecular phosphorylation. Activated ATM then
phosphorylates and stabilizes p53. ATM also phosphorylate MDM2 and strongly diminished its
ability to degrade p53. Phosphorylated p53 species can activate mdm2 and wip1 transcription.
WIP1 result in dephosphorylation of p53p, MDM2p and ATM.
11
4.2 Bi-allele model of gene expression
4.2.1 Model of bi-allele gene expression
This model consists of only one variable.In deterministic model, it is assumed that allele is
continuously producing protein with rate ’jp’ and protein is continuously degraded at a rate
’kp’. In stochastic model, it is consider that gene is switch randomly between inactive (G)
and active (G*) states according to first-order reaction kinetics. ka and kd are activation and
deactivation rate that determines how long a allele remain in the active state. When active, each
allele expresses a protein (G).
Figure 4.1: Deterministic and Stochastic schematics of bi-allele gene expression.
Each active allele (g1*, g2*) allele express protein (G) at rate of jp (nM). G is degraded with a
rate of kp. ka and kd are activation and deactivation rate of allele respectively.
4.2.2 Model simulation of bi-allelic gene expression Network.
As shown in figure. 4.2 deterministic system, protein ’G’ is showing stable expression of allele
and it is reaching steady state level of 0.5 nM, whereas in stochastic system product G is varying
around a mean value of 0.5 nM with excursions to higher(.75 nM) and lower(.25 nM) protein
levels.
12
Figure 4.2: Dynamics of bi-allelic gene expression for deterministic and stochastic model.
In figure at the right,it is assumed that promoter is always turned on and in figure at the left has
promoter transition kinetics (ka = 2 × 10−3
and kd = 2 × 10−3
).
4.2.3 Stochastic system with changing rate kinetics.
In a stochastic system with rate of promoter activation and deactivation result in variability in
protein expression. Protein levels is varying around a mean value of 0.5 nM with excursions
to higher and lower product levels (fig 4.3). The range of protein level varying from 0.25 nM
to 0.75 nM for slow kinetics to 0.40 nM to 0.60 nM. in fast kinetics as shown in histogram
plot (fig. 4.4). Faster expression kinetics is producing extremely narrow variations in protein
level. Our result matches with the paper [4] which validate that the code we have designed for
simulation is working fine.
Figure 4.3: Dynamics of slow and fast stochastic system.
Product G is showing fluctuation around the mean value of 0.5. In figure at the right has pro-
moter transition rate (ka= 2 × 10−3
and kd= 2 × 10−3
) and in figure at the left has promoter
transition rate (ka= 2 × 10−4
and kd= 2 × 10−4
) than .It is observed that increase in rate kinetics
reduces the variation in the protein expression.
13
Figure 4.4: Histogram plot for stochastic system.
A bell-shaped histogram is observed around a mean value of 0.5 nM. a) Stochastic system with
slow kinetics showing protein product in a range of 0.25 nM to 0.75 nM (ka=kd= 2 × 10−4
) .
b) Stochastic system with fast kinetics showing protein product in a range of 0.4 nM to 0.6 nM
(ka=kd = 2 × 10−3
).
4.3 Simple oscillatory Network.
4.3.1 Model Diagram
Figure 4.5: A deterministic model of simple oscillatory network.
g1* and g2* are allele of X2 and it is transcriptionally activated by X1 protein and resulting in
production of X2. X2 protein is resulting in production of X3 protein which in turn mediating
degradation of X1 to regulate it’s level in a cell.
14
Figure 4.6: A Stochastic model of simple oscillatory network.
g1* and g2* are the allele of X2 and it is transcriptionally activated by X1 protein and resulting
in the production of X3 protein from X2 protein, X3 protein in turn mediating degradation of
the X1 protein. Allele differences arise in the system due switching of allele between on and
off with a rate of ka and kd. ka is rate of activation of allele, kd is rate of deactivation of allele,
k1 is rate of production of X1, k2 is rate of degradation of X1, k3 is Michael’s Melton constant,
k4 is rate of transcription of X2, k5 is rate of degradation of X2, k6 rate of Production of X3, k7
is rate of degradation of X3.
4.3.2 Deterministic and stochastic simulation of oscillatory Network us-
ing random number to check promoter state.
The network shown in fig.4.5 and fig 4.6 is converted into a system of ordinary differential equa-
tion and simulation is performed using Matlab 2014b. In our simulation of deterministic model
stable oscillation of X1, X2, X3 is observed with fixed mean height (fig. 4.7). In stochastic
simulation, we observed decay in oscillatory pulses due to allele differences in X2 gene.
15
Figure 4.7: Deterministic and stochastic simulation result of oscillatory Network using random
number.
X1, X2, X3 showing stable oscillation in deterministic simulation shown whereas in stochastic
simulation oscillation observed . In stochastic system random number is generated to check
promoter state at every step of simulation. In this case, we have set the intial status of promoter
to off state, then it will generate a random number to check that whether random number is less
than the probability we have set for promoter off to on state. If condition is justify promoter
will become active and protein will production otherwise it will remain in off state. Similarly,
when promoter is in on state it will check the probability for promoter on to off state.
4.3.3 Deterministic and stochastic simulation of oscillatory Network us-
ing Poisson process for promoter transition between on/off state.
The network shown in fig.4.5 and fig 4.6 is converted into a system of ordinary differential equa-
tion and simulation is performed using Matlab 2014b. In our simulation of deterministic model
stable oscillation of X1, X2, X3 is observed with fixed mean height (fig. 4.8). In stochastic
simulation, we observed decay in oscillatory pulses due to allele differences in X2 gene.
16
Figure 4.8: Deterministic and stochastic simulation result of oscillatory Network using Poisson
process.
X1, X2, X3 showing stable oscillation in deterministic simulation shown whereas in stochastic
simulation(ka=kd= 2 × 10−2
) decay of oscillation observed (Data shown is average of 1000
simulation). In this simulation promoter status is varied according to Poisson process. Initially
we consider promoter is in off state then according to Poisson process(time = - 1/kon * log(u)),
it will check when promoter will going to be turned on. Similarly, when promoter is in on state
It will check when promoter is going to be turned off (time = - 1/koff*log(u)) .When promoter
is on, it will result in protein production and in off state it will not produce protein.(u is random
number)
4.3.4 Fourier Analysis of Oscillatory Network.
Fourier analysis of oscillatory network is performed for deterministic and stochastic system and
result are shown in fig. 4.9.
17
Figure 4.9: Result of Deterministic and stochastic Network Fourier Analysis.
Fourier analysis of oscillatory network shows that amplitude of X1, X2, X3 is decreased in
stochastic system as compare to deterministic system but the frequency of oscillation is ap-
proximately same in all system i.e 3.1 × 10−5
. Error bar is showing that their is variation in
amplitude in stochastic simulation with promoter transition rate ( ka=kd= 2 × 10−2
).
4.3.5 Single cell and Average population behavior of the network with
stochastic gene expression.
In biological system protein expression usually studied by experiments that are averaged over
cell populations, potentially masking the dynamic behavior in individual cells.We have sim-
ulated the model with different promoter transition rate kinetics and it is observed that the
average population behavior is same for different promoter transition rate as shown in fig.4.10,
whereas there are huge differences in gene expression noises for different rate kinetics within
an individual cell.
18
Figure 4.10: Single cell and Average population behavior of stochastic gene expression
In a single cell with changing rate kinetics, huge variation is observed. Fig shown at left slow
kinetics(ka=kd=2 × 10−4
for both allele) protein is varying from 15 nM to 60 nM for X1, and
60 nM to 200 nM for X2, X3 and at right fast kinetics(ka=kd= 2 × 10−3
for both allele. protein
is varying from 23 nM to 48 nM for X1 and 80 nM to 120 nM for X2, X3.
4.3.6 Effect of promoter transition rate on homozygous allele system.
In this simulation promoter transition rate of both allele is kept same, hence represent a homozy-
gous system. To understand how promoter transition rate effect protein expression stochastic
simulation are performed with following rate constant(a. ka=kd= 2 × 10−2
, b. ka=kd= 2 × 10−3
,
c. ka=kd= 2 × 10−4
, d. ka=kd= 2 × 10−5
). With each rate constant 1000 simulation are per-
formed and noise (defined as the standard deviation divided by the mean) of X1, X2, X3 is
calculated and it is observed that by increasing promoter transition rate reduces the noise in
protein expression(fig.4.11) .
19
Figure 4.11: Homozygous allele system behavior with different promoter transition kinetics
Analysis of protein noises in homozygous allele system shows that by increasing promoter
transition rate we can reduces the noises in protein expression. Noise is defined as the standard
deviation divided by the mean protein. Noise is calculated from simulation result of stochastic
system with following promoter rate transition a. ka=kd= 2 × 10−2
, b. ka=kd= 2 × 10−3
, c.
ka=kd= 2 × 10−4
, d. ka=kd= 2 × 10−5
and calculated noise is plotted against time.
4.3.7 Effect of promoter transition rate on heterozygous allele system.
In this simulation promoter transition rate of both allele is kept different for other allele of a
gene, hence represent a heterozygous system.To understand how promoter transition rate effect
protein expression simulation are performed with following rate constant(a. ka=kd= 2 × 10−3
for allele one and for other is ka=kd= 2 × 10−4
, b. ka=kd= 2 × 10−4
for one allele and for other
ka=kd= 2×10−2
), c. ka=kd= 2×10−3
for one allele and for other ka=kd= 2×10−2
). With each
rate constant 1000 simulation are performed and noise in protein expression is calculated.It is
observed that faster the promoter transition rate lesser will be the noise in protein expression as
shown in fig. 4.12.
20
Figure 4.12: Heterozygous allele system behavior with different promoter transition kinetics.
Analysis of protein noises in heterozygous allele system shows that by increasing promoter
transition rate we can reduces the noises in protein expression. Noise is defined as the standard
deviation divided by the mean protein. Noise is calculated from simulation result of stochastic
system with following promoter rate transition a. ka=kd= 2×10−3
for allele one and for other is
ka=kd= 2 × 10−4
, b. ka=kd= 2 × 10−4
for one allele and for other ka=kd= 2 × 10−2
), c. ka=kd=
2 × 10−3
for one allele and for other ka=kd= 2 × 10−2
). and calculated noise is plotted against
time.
4.3.8 Effect of allele differences on stochastic gene expression
Allelic differences in the promoter region can arise due to various reason ex. mutation in single
allele which may modify the binding affinity of the transcription factor at the promoter region
results in the change of promoter activation kinetics which can lead to variation in protein
expression pattern. In an average population, the same amount of proteins is observed for
different promoter rate kinetics, although their huge difference in variation within clonal cell
population as shown in Noise vs Time plot shown in fig 4.13.
21
Figure 4.13: Effect of allele differences on stochastic gene expression.
Allelic differences leads to variation in gene expression in a single cell shown in Noise vs Time
plot whereas average population behaviur of protein is same shown in G vs Time plot. The
average population behavior mask the behavior and variation that arise in single cell. Noise
is defined as the standard deviation divided by the mean protein. Stochastic simulation are
performed with following promoter transition kinetics a. ka=kd= 2 × 10−2
for both allele , b.
ka=kd= 2 × 10−3
for one allele and for other ka=kd= 2 × 10−2
), c. ka=kd= 2 × 10−3
for both
allele.
4.3.9 Analyses of protein noises of X1, X2, X3 .
Stochastic network of biallelic gene expression is simulated with with promoter transition rate
ka=kd=2×10−2
using Matlab 2014b. Simulated result of stochastic gene expression is analysed.
Noise in protein expression of X1, X2, X3 is calculated for 1000 simulation. Noise of one
protein is plotted against noise of another protein and it is observed that their is correlation in
their noise as shown in figure 4.14. It seems that when variation arises in the expression of one
protein it will consequently affect protein expression of other protein. A similar result for other
promoter transition rate.
22
Figure 4.14: Results of protein noise analysis.
Analysis of protein noises showing the correlation between X1, X2, X3 noises in protein expres-
sion. It is evident that when their is variation in expression of one protein it will consequently
effects the expression of other protein. Noise is defined as the standard deviation divided by
the mean protein. Noise is calculated from simulation result of stochastic system with promoter
rate transition ka=kd=2 × 10−2
.
23
Chapter 5
Conclusion
I have created stochastic and deterministic oscillatory network of biallelic gene expression. All
network is converted to system of ordinary differential equation’s and simulation are performed
with different promoter transition rate(1000 simulation for each promoter transition rate) using
Matlab 2014b. On analysis of simulated data following result is observed.
• Stochasticity in gene expression lead to damping of oscillation of average population
protein expression.
• In stochastic system, noises in gene expression is reduced on increasing the promoter
transition rate in homozygous and heterozygous allele system.
• Allelic differences lead to variation at single cell level. Heterozygous allele expression
showing large variation at single cell level as compare to homozygous allele expression
which is not observed in average population behavior of gene expression. It is evident
that average population behavior of protein is masking the variation arise at single cell
level.
24
Chapter 6
Appendix
1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ;
2 Dr . Biplab Bose , Email : biplabbose@gmail . com .
3 / / Date : september 2015.
4 / / This s e t of f u n c t i o n used f o r d e t e r m i n i s t i c s i m u l a t i o n .
5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
6
7 f u n c t i o n Main
8 c l o s e a l l ; c l e a r a l l ; c l c ;
9 t r y
10 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
11 %The main f u n c t i o n reads the i n p u t data from the model
12 [ model , t , x , k ] = Parameter ;
13 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
14 %The main f u n c t i o n c a l l s the ode s o l v e r to solve the ODE
15 o p t i o n s = odeset ( ’ RelTol ’ ,10ˆ −8 , ’ AbsTol ’ ,10ˆ −8 , ’ MaxStep ’ ,100) ;
16 [T , X] = ode15s (@ ( t , x ) Equation ( t , x , k ) , t , x , o p t i o n s ) ;
17 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
18 %The s i m u l a t e d r e s u l t s are s t o r e d in an a r r a y ’ data ’
19 data = [T , X] ;
20 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
21 %The Text f u n c t i o n w r i t e s the data in a t e x t f i l e with unique id f o r each
22 %run
23 Text ( model , x , k , data ) ;
24 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
25 %The below catch f u n c t i o n r e c o r d s the e r r o r thrown by matlab
26 catch e r r o r
25
27 f i d = fopen ( ’ E r r o r F i l e . t x t ’ , ’ a+ ’ ) ;
28 f p r i n t f ( fid , ’%s n ’ , e r r o r . message ) ;
29 f o r i = 1 : l e n g t h ( e r r o r . s t a c k )
30 f p r i n t f ( fid , ’%s a t %dn ’ , e r r o r . s t a c k ( i ) . name , e r r o r . s t a c k ( i ) . l i n e ) ;
31 end
32 f c l o s e ( f i d )
33 end
34 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
35
36 f u n c t i o n [ model , t , x , k ] = Parameter
37 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
38 %Enter the name of the model
39 model = ’ Reaction ’ ;
40 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
41 %Enter the i n i t i a l values of the s p e c i e s t h a t does not r e q u i r e random
42 %number g e n e r a t i o n
43 x ( 1 ) = 45;
44 x ( 2 ) = 140;
45 x ( 3 ) = 125;
46 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
47 %Enter the i n i t i a l values of the s p e c i e s t h a t r e q u i r e random number
48 %g e n e r a t i o n
49 %To get s h u f f l e d random number every time , use the below two l i n e s
50 s = RandStream ( ’ mt19937ar ’ , ’ Seed ’ , ’ s h u f f l e ’ ) ;
51 RandStream . setGlobalStream ( s ) ;
52 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
53 %Enter the values of the parameters
54 k ( 1 ) = 1∗10ˆ −2; k ( 2 ) = 1∗10ˆ −4; k ( 3 ) = 1∗10ˆ −6; k ( 4 ) =1∗10ˆ −3;
55 k ( 5 ) =2∗10ˆ −4; k ( 6 ) =2∗10ˆ −4; k ( 7 ) =2∗10ˆ −4;
56 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
57 t ( 1 ) =0; t ( 2 ) =250000;
58 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
59 end
60 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
61
62 f u n c t i o n dx = Equation ( t , x , k )
63 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
64 % Enter the e q ua t io n below
65 dx ( 1 ) = k ( 1 )−k ( 2 ) ∗ ( x ( 1 ) / ( x ( 1 ) +k ( 3 ) ) ) ∗x ( 3 ) ;
26
66 dx ( 2 ) = k ( 4 ) ∗ x ( 1 ) − k ( 5 ) ∗ x ( 2 ) ;
67 dx ( 3 ) = k ( 6 ) ∗ x ( 2 ) − k ( 7 ) ∗ x ( 3 ) ;
68 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
69 %j u s t above the l i n e dx = dx ’ ;
70 dx = dx ’ ;%Do not change
71 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
72 end
73 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
74
75 f u n c t i o n Text ( model , x , k , data )
76 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
77 %The below s t a n z a c r e a t e s a new f o l d e r with curremt system time
78 time = d a t e s t r (now , ’yyyymmdd HHMMSS ’ ) ;
79 c u r d i r = pwd ;
80 newdir = f u l l f i l e ( c u r d i r , s p r i n t f ( ’%s %s ’ , model , time ) ) ;
81 mkdir ( newdir ) ;
82 cd ( newdir ) ;
83 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
84 %The below s t a n z a c r e a t e s a t e x t f i l e f o r data
85 filename1 = s p r i n t f ( ’ Data %s . t x t ’ , time ) ;
86 f i d = fopen ( filename1 , ’ wt ’ ) ;
87 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
88 %The below loop p r i n t s l a b e l to the data
89 f p r i n t f ( fid , ’%s  t ’ , ’ t ’ ) ;
90 num = l e n g t h ( x ) ;
91 f o r i = 1 : num
92 f p r i n t f ( fid , ’%s%d t ’ , ’x ’ , i ) ;
93 end
94 f p r i n t f ( fid , ’n ’ ) ;
95 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
96 %The below s t a t e m e n t appends the data as tab d e l i m i t e d with t h r e e decimal
97 %p o i n t p r e c i s i o n
98 dlmwrite ( filename1 , data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p r e c i s i o n ’ , ’%.8 f ’ , ’−append
’ ) ;
99 f c l o s e ( f i d ) ;
100 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
101 %The below s t a n z a c r e a t e s a t e x t f i l e with header
102 filename2 = s p r i n t f ( ’ Header %s . t x t ’ , time ) ;
103 f i d = fopen ( filename2 , ’ wt ’ ) ;
27
104 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
105 %The below loop p r i n t s dashed l i n e to mark the beginning
106 f o r i = 1 : 40
107 f p r i n t f ( fid , ’%c ’ , ’−’ ) ;
108 end
109 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
110 %The below s t a t e m e n t p r i n t s the model name
111 f p r i n t f ( fid , ’nnModel name : %s nn ’ , model ) ;
112 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
113 %The below loop p r i n t s the i n i t i a l c o n d i t i o n s of the s p e c i e s
114 f p r i n t f ( fid , ’ I n i t i a l c o n d i t i o n of the s p e c i e s : n ’ ) ;
115 num = l e n g t h ( x ) ;
116 f o r i = 1 : num
117 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’x ’ , i , x ( i ) ) ;
118 end
119 f p r i n t f ( fid , ’nn ’ ) ;
120 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
121 %The below loop p r i n t s the parameter values
122 f p r i n t f ( fid , ’ Values of the parameters : n ’ ) ;
123 num = l e n g t h ( k ) ;
124 f o r i = 1 : num
125 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’k ’ , i , k ( i ) ) ;
126 end
127 f p r i n t f ( fid , ’nn ’ ) ;
128 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
129 %The below loop p r i n t s dashed l i n e to mark the end
130 f o r i = 1 : 40
131 f p r i n t f ( fid , ’%c ’ , ’−’ ) ;
132 end
133 f p r i n t f ( fid , ’n ’ ) ;
134 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
135 %The l o c a t i o n i s r e v e r t e d to the p a r t e n t d i r e c t o r y f o r the next run
136 f c l o s e ( f i d ) ;
137 cd ( c u r d i r ) ;
138 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
139 end
140 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Listing 6.1: Matlab Script for Deterministic Simulation
28
1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ;
2 Dr . Biplab Bose , Email : biplabbose@gmail . com .
3 / / Date : November 2015.
4 / / This s e t of f u n c t i o n used f o r s t o c h a s t i c s i m u l a t i o n using random number .
5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
6
7 f u n c t i o n Main
8 c l o s e a l l ; c l e a r a l l ; c l c ;
9 t r y
10 %
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−%−−−−−−−−−
11 %The main f u n c t i o n reads the i n p u t data from the model
12 [ model , t , x , k , p ] = Parameter ;
13 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
14 %The main f u n c t i o n c a l l s the ode s o l v e r to solve the ODE
15 o p t i o n s = odeset ( ’ RelTol ’ ,10ˆ −8 , ’ AbsTol ’ ,10ˆ −8 , ’ MaxStep ’ ,1) ;
16 [T , X] = ode15s (@ ( t , x ) Equation ( t , x , k , p ) , t , x , o p t i o n s ) ;
17 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
18 %The s i m u l a t e d r e s u l t s are s t o r e d in an a r r a y ’ data ’
19 data = [T , X] ;
20 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
21 %The Text f u n c t i o n w r i t e s the data in a t e x t f i l e with unique id f o r each
22 %run
23 Text ( model , x , k , data ) ;
24 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
25 %Binning f u c t i o n w i l l bin the data and give average value in each bin
26 %a f t e r the binning data w i l l s t o r e in BinMean matrix
27 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
28 %To save the data in t e x t format a f t e r the end of loop
29 %To summed matrix divided by no of loop run .
30 clock
31 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
32 %The below catch f u n c t i o n r e c o r d s the e r r o r thrown by matlab
33 catch e r r o r
34 f i d = fopen ( ’ E r r o r F i l e . t x t ’ , ’ a+ ’ ) ;
35 f p r i n t f ( fid , ’%s n ’ , e r r o r . message ) ;
36 f o r i = 1 : l e n g t h ( e r r o r . s t a c k )
29
37 f p r i n t f ( fid , ’%s a t %dn ’ , e r r o r . s t a c k ( i ) . name , e r r o r . s t a c k ( i ) . l i n e ) ;
38 end
39 f c l o s e ( f i d )
40 end
41 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
42
43 f u n c t i o n [ model , t , x , k , p ] = Parameter
44 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
45 %Enter the name of the model
46 model = ’ Reaction ’ ;
47 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
48 %Enter the i n i t i a l values of the s p e c i e s t h a t does not r e q u i r e random
49 %number g e n e r a t i o n
50 x ( 1 ) = 0;
51 x ( 2 ) = 0;
52 x ( 3 ) = 0;
53 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
54 %Enter the i n i t i a l values of the s p e c i e s t h a t r e q u i r e random number
55 %g e n e r a t i o n
56 %To get s h u f f l e d random number every time , use the below two l i n e s
57 s = RandStream ( ’ mt19937ar ’ , ’ Seed ’ , ’ s h u f f l e ’ ) ;
58 RandStream . setGlobalStream ( s ) ;
59 %For normal d i s t r i b u t i o n follow the below syntax
60 % x ( 1 ) = normrnd (mu, sigma , m, n )
61 % mu i s the mean , sigma i s the s t a n d a r d d e v i a t i o n
62 % m, n i s the s i z e of the a r r a y . I t should be 1 ,1
63 %For log normal d i s t r i b u t i o n follow the below syntax
64 % x ( 1 ) = lognrnd (mu, sigma , m, n )
65 % mu and sigma are the mean and s t a n d a r d d e v i a t i o n , r e s p e c t i v e l y ,
66 % of the a s s o c i a t e d normal d i s t r i b u t i o n
67 % m, n i s the s i z e of the a r r a y . I t should be 1 ,1
68 %x ( 1 ) = normrnd (2 , 0.1 , 1 , 1) ;
69 %x ( 2 ) = lognrnd (2 , 0.1 , 1 , 1) ;
70 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
71 %Enter the values of the parameters
72 k ( 1 ) = 48∗10ˆ −6; k ( 2 ) = 4.8 ∗10ˆ −5; %k ( 3 ) = 10; k ( 4 ) = 10;
73 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
74 %Enter the i n i t i a l and f i n a l l i m i t of time f o r the s i m u l a t i o n
75 t ( 1 ) = 0; t ( 2 ) = 3600000;
30
76 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
77 %Enter the i n i t i a l c o n d i t i o n of the promoter ( on / o f f )
78 %Enter t r u e i f ON; f a l s e i f OFF
79 %I f t h e r e are more than one promoter , l i s t them in an a r r a y
80 %For e . g . , i n i t p m t r ( 1 ) = t r u e ; i n i t p m t r ( 2 ) = f a l s e ;
81 g l o b a l i n i t p m t r ;
82 i n i t p m t r ( 1 ) = f a l s e ;
83 i n i t p m t r ( 2 ) = f a l s e ;
84 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
85 %Enter the p r o b a b i l i t y of promoter s w i t c h i n g from ON to OFF
86 %p ( 1 , 1 ) p r o b a b i l i t y t h a t the promoter ( 1 ) w i l l switch from OFF to ON
87 %p ( 1 , 2 ) p r o b a b i l i t y t h a t the promoter ( 1 ) w i l l switch from ON to OFF
88 %I f t h e r e are more than one promoter , append them in the a r r a y
89 %For e . g . , f o r promoter 1 −−> p ( 1 , 1 ) = 0 . 1 ; p ( 1 , 2 ) = 0 . 1 ;
90 %f o r promoter 2 −−> p ( 2 , 1 ) = 0 . 5 ; p ( 2 , 2 ) = 0 . 2 ;
91 p ( 1 , 1 ) = 2∗10ˆ −4; p ( 1 , 2 ) = 2∗10ˆ −4;
92 p ( 2 , 1 ) = 2∗10ˆ −4; p ( 2 , 2 ) = 2∗10ˆ −4;
93 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
94 end
95 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
96
97 f u n c t i o n dx = Equation ( t , x , k , p )
98 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
99 %The s t a t u s of the promoter i s s t o r e d in the g l o b a l v a r i a b l e ’ i n i t p m t r ’
100 %The s t a t u s i s updated f o r every run by c a l l i n g teh f u n c t i o n ’ Promoter ’
101 g l o b a l i n i t p m t r ;
102 s t a t u s = Promoter ( p ) ;
103 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
104 %To i n t r o d u c e s t o c h a s t i c i t y use the below code .
105 %Each promoter should be t r a e t e d as a s e p a r a t e v a r i a b l e i . e . , x ( 1 ) , x ( 2 )
106 %Place the ode ’ s t h a t w i l l be a f f e c t e d by prmoter ’ s s t a t u s ,
107 %under ’ if ’ and ’ else ’ s t a t e m e n t .
108 %For more than one promoter , copy the below i f and e l s e s t a t e m e n t
109 %a c c o r d i n g l y .
110 %Do not change the o t h e r p a r t of the code .
111 dx ( 1 ) =( k ( 1 ) / 2 ) ∗ ( s t a t u s ( 1 ) + s t a t u s ( 2 ) )−k ( 2 ) ∗x ( 1 )
112 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
113 %Place the ode ’ s t h a t are not a f f e c t e d by the promoter ’ s s t a t u s ,
114 %j u s t above the l i n e dx = dx ’ ;
31
115 dx = dx ’ ;%Do not change
116 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
117 i n i t p m t r = s t a t u s ;
118 end
119 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
120
121 f u n c t i o n p r o m o t e r s t a t u s = Promoter ( p )
122 %Do not make any changes to the t h i s f u n c t i o n .
123 %This f u n c t i o n g e n e r a t e s uniformly d i s t r i b u t e d random number and updates
124 %the promoter s t a t u s f o r each and every run of the s i m u l a t i o n
125 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
126 g l o b a l i n i t p m t r ;
127 promoter count = l e n g t h ( i n i t p m t r ) ;
128 p r o m o t e r s t a t u s = zeros ( promoter count , 1) ;
129 random = rand ( promoter count , 1) ;
130 f o r i = 1 : promoter count
131 p r o m o t e r s t a t u s ( i ) = i n i t p m t r ( i ) ;
132 i f p r o m o t e r s t a t u s ( i ) == t r u e
133 i f random ( i ) <= p ( i , 2)
134 p r o m o t e r s t a t u s ( i ) = f a l s e ;
135 end
136 e l s e
137 i f random ( i ) <= p ( i , 1)
138 p r o m o t e r s t a t u s ( i ) = t r u e ;
139 end
140 end
141 end
142 end
143 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
144
145 f u n c t i o n Text ( model , x , k , data )
146 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
147 %The below s t a n z a c r e a t e s a new f o l d e r with curremt system time
148 time = d a t e s t r (now , ’yyyymmdd HHMMSS ’ ) ;
149 c u r d i r = pwd ;
150 newdir = f u l l f i l e ( c u r d i r , s p r i n t f ( ’%s %s ’ , model , time ) ) ;
151 mkdir ( newdir ) ;
152 cd ( newdir ) ;
153 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
32
154 %The below s t a n z a c r e a t e s a t e x t f i l e f o r data
155 filename1 = s p r i n t f ( ’ Data %s . t x t ’ , time ) ;
156 f i d = fopen ( filename1 , ’ wt ’ ) ;
157 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
158 %The below loop p r i n t s l a b e l to the data
159 f p r i n t f ( fid , ’%s  t ’ , ’ t ’ ) ;
160 num = l e n g t h ( x ) ;
161 f o r i = 1 : num
162 f p r i n t f ( fid , ’%s%d t ’ , ’x ’ , i ) ;
163 end
164 f p r i n t f ( fid , ’n ’ ) ;
165 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
166 %The below s t a t e m e n t appends the data as tab d e l i m i t e d with t h r e e decimal
167 %p o i n t p r e c i s i o n
168 dlmwrite ( filename1 , data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p e c i s i o n ’ , ’%.8 f ’ , ’−append ’
) ;
169 f c l o s e ( f i d ) ;
170 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
171 %The below s t a n z a c r e a t e s a t e x t f i l e with header
172 filename2 = s p r i n t f ( ’ Header %s . t x t ’ , time ) ;
173 f i d = fopen ( filename2 , ’ wt ’ ) ;
174 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
175 %The below loop p r i n t s dashed l i n e to mark the beginning
176 f o r i = 1 : 40
177 f p r i n t f ( fid , ’%c ’ , ’−’ ) ;
178 end
179 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
180 %The below s t a t e m e n t p r i n t s the model name
181 f p r i n t f ( fid , ’nnModel name : %s nn ’ , model ) ;
182 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
183 %The below loop p r i n t s the i n i t i a l c o n d i t i o n s of the s p e c i e s
184 f p r i n t f ( fid , ’ I n i t i a l c o n d i t i o n of the s p e c i e s : n ’ ) ;
185 num = l e n g t h ( x ) ;
186 f o r i = 1 : num
187 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’x ’ , i , x ( i ) ) ;
188 end
189 f p r i n t f ( fid , ’nn ’ ) ;
190 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
191 %The below loop p r i n t s the parameter values
33
192 f p r i n t f ( fid , ’ Values of the parameters : n ’ ) ;
193 num = l e n g t h ( k ) ;
194 f o r i = 1 : num
195 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’k ’ , i , k ( i ) ) ;
196 end
197 f p r i n t f ( fid , ’nn ’ ) ;
198 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
199 %The below loop p r i n t s dashed l i n e to mark the end
200 f o r i = 1 : 40
201 f p r i n t f ( fid , ’%c ’ , ’−’ ) ;
202 end
203 f p r i n t f ( fid , ’n ’ ) ;
204 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
205 %The l o c a t i o n i s r e v e r t e d to the p a r t e n t d i r e c t o r y f o r the next run
206 f c l o s e ( f i d ) ;
207 cd ( c u r d i r ) ;
208 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
209 end
210 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Listing 6.2: Matlab Script for stochastic Simulation with promoter transition using random
number.
Listing 6.3: Python Script for binning and extraction of data
1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ;
2 Dr . Biplab Bose , Email : biplabbose@gmail . com .
3 / / Date : december 2016.
4 / / This program does binning and e x t r a c t i o n of data ( Sampling of Data )
5
6 from o p e r a t o r import add
7 import sys
8 import os
9
10 def bin ( t1 , t2 , n , no var , f i n ) :
11 s t e p s i z e = ( t2−t1 ) / ( n∗ 1 . 0 )
12 c u r b i n = t1 + ( s t e p s i z e / 2 )
13 n e x t b i n = t1 + s t e p s i z e
14 b i n d i c ={} # I n t i l i a z e a empty dic t h a t w i l l c o n t a i n bin as key as
i t s corresponding avg as i t s values
15 b i n d i c [ c u r b i n ] = [ 0 . 0 ] ∗ no var
34
16 c u r b i n c o u n t =0
17 f =open ( f i n + ’ . t x t ’ , ’ r ’ )
18 l i n e l i s t = f . r e a d l i n e s ( ) # s t o r e a l l data in one go
19 f . c l o s e ( )
20 fout name = f i n . r e p l a c e ( ’ Data ’ , ’ bin Data ’ ) + ’ . t x t ’
21 f =open ( fout name , ’w’ )
22 f o r i , item in enumerate ( l i n e l i s t [ 1 : ] ) :
23 c u r l i n e l i s t = item . s t r i p ( ) . s p l i t ( ’ t ’ )
24 # p r i n t ’ c u r l i n e l i s t : ’ , c u r l i n e l i s t
25 ## s c o n v e r t i n g s t r i n g to f l o a t
26 f o r j , item2 in enumerate ( c u r l i n e l i s t ) :
27 c u r l i n e l i s t [ j ] = f l o a t ( c u r l i n e l i s t [ j ] )
28 i f c u r l i n e l i s t [ 0 ] < n e x t b i n :
29 b i n d i c [ c u r b i n ] =map ( sum , zip ( b i n d i c [ c u r b i n ] , c u r l i n e l i s t
[ 1 : ] ) )
30 c u r b i n c o u n t +=1
31 e l s e :
32 # R e i n t i a l i z e s a l l needed temproray v a r i a b l e s
33 i f c u r b i n c o u n t ==0:
34 p r i n t i , cur bin , c u r b i n c o u n t
35 b i n d i c [ c u r b i n ] = map ( lambda x : x / c u r b i n c o u n t , b i n d i c [
c u r b i n ] )
36 s t = s t r ( c u r b i n ) + ’ t ’
37 f o r j , item2 in enumerate ( b i n d i c [ c u r b i n ] ) :
38 s t += ’ %0.8 f  t ’ %(item2 )
39 f . w r i t e ( s t + ’n ’ )
40 # update bin value
41 c u r b i n = n e x t b i n + ( s t e p s i z e / 2 )
42 n e x t b i n = n e x t b i n + s t e p s i z e
43 # c u r b i n c o u n t =0
44 b i n d i c [ c u r b i n ] = c u r l i n e l i s t [ 1 : ]
45 c u r b i n c o u n t =1
46 f . c l o s e ( )
47
48 def copy column ( no of bin , no var , b a s e d i r ) :
49 ’ ’ ’ Assumes t h a t each d i r e c t o r y c o n t a i n s bin f i l e and
50 put corresponding in new d i r e c t o r y ’ ’ ’
51 o u t d i r = ’ s e p v a r i a b l e ’ + b a s e d i r
52 t r y :
35
53 os . mkdir ( o u t d i r )
54 except :
55 p r i n t ’ Dir %s a l r e a d y e x i s t s ’ %( o u t d i r )
56 #open l i s t of f i l e s f o r w r i t i n g
57 o u t f i l e p o i n t e r l i s t =[]
58 f o r i in range ( no var ) :
59 c u r f i l e n a m e = ’%s / column %d . t x t ’ %( o u t d i r , i )
60 o u t f i l e p o i n t e r l i s t . append ( open ( c u r f i l e n a m e , ’w’ ) )
61 d i r l i s t = os . l i s t d i r ( b a s e d i r )
62 #open l i s t of f i l e s f o r re ading
63 i n f i l e p o i n t e r l i s t =[]
64 f o r item in d i r l i s t :
65 cur dir name = ’%s/%s ’ %( b a s e d i r , item )
66 c u r d i r l i s t = os . l i s t d i r ( cur dir name )
67 f o r item2 in c u r d i r l i s t :
68 i f item2 . s t a r t s w i t h ( ’ bin Data ’ ) :
69 i n f i l e n a m e = ’%s/%s/%s ’ %( b a s e d i r , item , item2 )
70 i n f i l e p o i n t e r l i s t . append ( open ( i n f i l e n a m e , ’ r ’ ) )
71 # Reading and w r i t i n g s i m u l t a n e o u s l y by each l i n e by l i n e
72 f o r i in range ( n o o f b i n ) :
73 t e m p s t r =[ ’ ’ ] ∗ no var
74 c u r t i m e = ’ ’
75 f o r item in i n f i l e p o i n t e r l i s t :
76 c u r l i n e l i s t = item . r e a d l i n e ( ) . s t r i p ( ) . s p l i t ( ’ t ’ )
77 c u r t i m e = c u r l i n e l i s t [ 0 ]
78 f o r j , item2 in enumerate ( c u r l i n e l i s t [ 1 : ] ) :
79 t e m p s t r [ j ] += item2 + ’ t ’
80 f o r k , item in enumerate ( o u t f i l e p o i n t e r l i s t ) :
81 item . w r i t e ( c u r t i m e + ’ t ’+ t e m p s t r [ k ] + ’n ’ )
82 # c l o s e the f i l e p o i n t e r
83 f o r item in o u t f i l e p o i n t e r l i s t :
84 item . c l o s e ( )
85 f o r item in i n f i l e p o i n t e r l i s t :
86 item . c l o s e ( )
87
88 def sum row ( no of bin , no var , b a s e d i r ) :
89 o u t d i r = ’ Avg ’ + b a s e d i r
90 t r y :
91 os . mkdir ( o u t d i r )
36
92 except :
93 p r i n t ’ Dir %s a l r e a d y e x i s t s ’ %( o u t d i r )
94 #open l i s t of f i l e s f o r w r i t i n g
95 c u r f i l e n a m e = ’%s / sum row . t x t ’ %( o u t d i r )
96 o u t f i l e p o i n t e r =open ( c u r f i l e n a m e , ’w’ )
97 d i r l i s t = os . l i s t d i r ( b a s e d i r )
98 n o d i r = len ( d i r l i s t )
99 #open l i s t of f i l e s f o r re ading
100 i n f i l e p o i n t e r l i s t =[]
101 f o r item in d i r l i s t :
102 cur dir name = ’%s/%s ’ %( b a s e d i r , item )
103 c u r d i r l i s t = os . l i s t d i r ( cur dir name )
104 f o r item2 in c u r d i r l i s t :
105 i f item2 . s t a r t s w i t h ( ’ bin Data ’ ) :
106 i n f i l e n a m e = ’%s/%s/%s ’ %( b a s e d i r , item , item2 )
107 i n f i l e p o i n t e r l i s t . append ( open ( i n f i l e n a m e , ’ r ’ ) )
108 # Reading and w r i t i n g s i m u l t a n e o u s l y by each l i n e by l i n e
109 f o r i in range ( n o o f b i n ) :
110 temp sum = [ 0 . 0 ] ∗ no var
111 c u r t i m e = ’ ’
112 f o r item in i n f i l e p o i n t e r l i s t :
113 c u r l i n e l i s t = item . r e a d l i n e ( ) . s t r i p ( ) . s p l i t ( ’ t ’ )
114 c u r t i m e = c u r l i n e l i s t [ 0 ]
115 f o r j , item2 in enumerate ( c u r l i n e l i s t [ 1 : ] ) :
116 temp sum [ j ] += f l o a t ( item2 )
117 s t = c u r t i m e
118 f o r item in temp sum :
119 s t += ’ t %0.8 f ’ %(item / n o d i r )
120 o u t f i l e p o i n t e r . w r i t e ( s t + ’n ’ )
121 # c l o s e the f i l e p o i n t e r
122 o u t f i l e p o i n t e r . c l o s e ( )
123 f o r item in i n f i l e p o i n t e r l i s t :
124 item . c l o s e ( )
125
126 def main ( ) :
127 #Make changes here
128 b a s e d i r = ’ data ’ # Enter base d i r e c t o r y name
129 no var =3 # Enter no of v a r i a b l e s in s i m u l a t i o n
130 n=1000 # Enter no of Bin
37
131 t1 =0 # I n t i a l Time of Simulation
132 t2 =250000 # F i n a l Time of Simulation
133 d i r l i s t = os . l i s t d i r ( b a s e d i r )
134 f o r item in d i r l i s t :
135 f i l e l i s t i n c u r d i r = os . l i s t d i r ( b a s e d i r + ’ / ’+ item )
136 f o r item2 in f i l e l i s t i n c u r d i r :
137 i f item2 . s t a r t s w i t h ( ’ Data ’ ) :
138 f i n = ’%s/%s/%s ’ %( b a s e d i r , item , item2 . s t r i p ( ’ . t x t ’ ) )
139 bin ( t1 , t2 , n , no var , f i n )
140 p r i n t ’ Processed f i l e ’ , f i n
141 copy column ( n , no var , b a s e d i r )
142 sum row ( n , no var , b a s e d i r )
143
144
145 i f name == ’ m a i n ’ :
146 main ( )
1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ;
2 Dr . Biplab Bose , Email : biplabbose@gmail . com .
3 / / Date : January 2016.
4 / / This s e t of f u n c t i o n used f o r s t o c h a s t i c using poisson proce ss .
5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
6
7 f u n c t i o n Main
8 c l o s e a l l ; c l e a r a l l ; c l c ;
9 t r y
10 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
11 %The main f u n c t i o n reads the i n p u t data from the model
12 [ model , t , x , k ] = Parameter ;
13 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
14 %The main f u n c t i o n c a l l s the ode s o l v e r to solve the ODE
15 o p t i o n s = odeset ( ’ RelTol ’ ,10ˆ −8 , ’ AbsTol ’ ,10ˆ −8 , ’ MaxStep ’ ,100) ;
16 [T , X] = ode15s (@ ( t , x ) Equation ( t , x , k ) , t , x , o p t i o n s ) ;
17 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
18 %The s i m u l a t e d r e s u l t s are s t o r e d in an a r r a y ’ data ’
19 data = [T , X] ;
20 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
21 %The Text f u n c t i o n w r i t e s the data in a t e x t f i l e with unique id f o r each
22 %run
38
23 Text ( model , x , k , data ) ;
24 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
25 %The below catch f u n c t i o n r e c o r d s the e r r o r thrown by matlab
26 catch e r r o r
27 f i d = fopen ( ’ E r r o r F i l e . t x t ’ , ’ a+ ’ ) ;
28 f p r i n t f ( fid , ’%s n ’ , e r r o r . message ) ;
29 f o r i = 1 : l e n g t h ( e r r o r . s t a c k )
30 f p r i n t f ( fid , ’%s a t %dn ’ , e r r o r . s t a c k ( i ) . name , e r r o r . s t a c k ( i ) . l i n e ) ;
31 end
32 f c l o s e ( f i d )
33 end
34 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
35
36
37 f u n c t i o n [ model , t , x , k ] = Parameter
38 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
39 %Enter the name of the model
40 model = ’ Reaction ’ ;
41 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
42 %Enter the i n i t i a l values of the s p e c i e s t h a t does not r e q u i r e random
43 %number g e n e r a t i o n
44 x ( 1 ) = 45;
45 x ( 2 ) = 140;
46 x ( 3 ) = 125;
47 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
48 %Enter the i n i t i a l values of the s p e c i e s t h a t r e q u i r e random number
49 %g e n e r a t i o n
50 %To get s h u f f l e d random number every time , use the below two l i n e s
51 s = RandStream ( ’ mt19937ar ’ , ’ Seed ’ , ’ s h u f f l e ’ ) ;
52 RandStream . setGlobalStream ( s ) ;
53 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
54 % This f u n c t i o n c a l l s the i n t e r a r r i v a l t i m e f u n c t i o n and g e n e r a t e and s t o r e
55 % promoter s t a t u s f o r a l l e l e 1 in t e x t f i l e .
56 [w, p ] = i n t e r a r r i v a l t i m e a l l e l e 1 ;
57 % i t w i l l import the t e x t f i l e f o r promoter1 f i l e f o r ALLELE 1
58 N = dlmread ( ’ i n t e r a r r i v a l t i m e a l l e l e 1 . t x t ’ ) ;
59 g l o b a l tn ;
60 t l = N( : , 1 ) ;
61 tn = [ t l ; max ( t l ) +1];
39
62 g l o b a l r ;
63 tk = N( : , 2 ) ;
64 r = [ tk ; 1 ] ;
65 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
66 %Enter the values of the parameters
67 k ( 1 ) = 1∗10ˆ −2; k ( 2 ) = 1∗10ˆ −4; k ( 3 ) = 1∗10ˆ −6; k ( 4 ) =1∗10ˆ −3;
68 k ( 5 ) =2∗10ˆ −4; k ( 6 ) =2∗10ˆ −4; k ( 7 ) =2∗10ˆ −4;
69 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
70 t ( 1 ) =0; t ( 2 ) =250000;
71 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
72 end
73 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
74
75 f u n c t i o n [w, p ] = i n t e r a r r i v a l t i m e a l l e l e
76 c l o s e a l l ; c l c ;
77 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
78 % Make changes here
79 i =1; % i n t i a l i s a t i o n of i ( increment o p e r a t o r )
80 w( i ) =0; % i n t i a l i s a t i o n of timr
81 p ( i ) =0; % i n t i a l i s a t i o n of promoter s t a t u s
82 T= 260000; % Time up to which promoter s t a t u s i s r e q u i r e d
83 kon= 2∗10ˆ −3; % Rate of t r a n s i t i o n of a l l e l e 1 from o f f to on
84 koff =2∗10ˆ −3; % Rtae of t r a n s i t i o n of a l l e l e 1 from on to o f f
85 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
86 while w( i ) <T
87 i f p ( i ) ==0;
88 u =rand ( 1 ) ;
89 time = − 1/ kon∗ log ( u ) ;
90 i f (w( i ) +time ) <= T ;
91 w( i +1)=w( i ) +time ;
92 p ( i +1) =1;
93 e l s e
94 break
95 end
96 i = i +1;
97 e l s e u =rand ( 1 ) ;
98 time= − 1/ koff ∗ log ( u ) ;
99 i f (w( i ) +time ) <T ;
100 w( i +1)=w( i ) +time ;
40
101 p ( i +1) =0;
102 e l s e
103 break
104 end
105 i = i +1;
106 end
107 end
108 data1 = [w; p ] ;
109 data = data1 . ’ ;
110 %time = d a t e s t r (now , ’yyyymmdd HHMMSS’ ) ;
111 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
112 %The below s t a n z a c r e a t e s a t e x t f i l e f o r data
113 %filename1 = s p r i n t f ( ’ i n t e r a r r i v a l t i m e %s . txt ’ , time ) ;
114 filename1 = s p r i n t f ( ’ i n t e r a r r i v a l t i m e a l l e l e 1 . t x t ’ ) ;
115 f i d = fopen ( filename1 , ’ wt ’ ) ;
116 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
117 %The below s t a t e m e n t appends the data as tab d e l i m i t e d with t h r e e decimal
118 %p o i n t p r e c i s i o n
119 dlmwrite ( filename1 , data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p r e c i s i o n ’ , ’%.3 f ’ , ’−append
’ ) ;
120 f c l o s e ( f i d ) ;
121 end
122 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
123
124 f u n c t i o n dx = Equation ( t , x , k )
125 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
126 %The s t a t u s of the promoter i s s t o r e d in the g l o b a l v a r i a b l e ’ i n i t p m t r ’
127 %The s t a t u s i s updated f o r every run by c a l l i n g teh f u n c t i o n ’ Promoter ’
128 s t a t u s = P r o m o t e r a l l e l e 1 ( t ) ;
129 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
130 % Enter the e q ua t io n below
131 dx ( 1 ) = k ( 1 )−k ( 2 ) ∗ ( x ( 1 ) / ( x ( 1 ) +k ( 3 ) ) ) ∗x ( 3 ) ;
132 dx ( 2 ) = ( k ( 4 ) / 2 ) ∗ ( s t a t u s 1 + s t a t u s 2 ) ∗ x ( 1 ) − k ( 5 ) ∗ x ( 2 ) ;
133 dx ( 3 ) = k ( 6 ) ∗ x ( 2 ) − k ( 7 ) ∗ x ( 3 ) ;
134 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
135 %j u s t above the l i n e dx = dx ’ ;
136 dx = dx ’ ;%Do not change
137 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
138 end
41
139 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
140
141 f u n c t i o n p r o m o t e r 1 s t a t u s = P r o m o t e r a l l e l e ( t )
142 %Do not make any changes to the t h i s f u n c t i o n .
143
144 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
145 % Below f u n c t i o n w i l l check the time and l o c a t e the p o s i i t i o n of time
146 % and a c c o r d i n g l y check the promoter s t a t u s a t t h a t p o s i i t i o n
147 g l o b a l posi ;
148 g l o b a l tn ;
149 g l o b a l r ;
150 i f ( any ( t == tn ) ) ;
151 posi = f i n d ( tn == t ) ;
152 p r o m o t e r 1 s t a t u s 1 = r ( posi ) ;
153 e l s e
154 i f ( tn ( posi )<= t && t <= tn ( posi +1) )
155 p r o m o t e r 1 s t a t u s 1 = r ( posi ) ;
156 e l s e i f ( t <= tn ( posi ) ) ;
157 posi = posi −1;
158 p r o m o t e r 1 s t a t u s 1 = r ( posi ) ;
159 e l s e
160 posi = posi + 1 ;
161 p r o m o t e r 1 s t a t u s 1 = r ( posi ) ;
162 end
163 end
164 end
165 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
166
167 f u n c t i o n Text ( model , x , k , data )
168 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
169 %The below s t a n z a c r e a t e s a new f o l d e r with curremt system time
170 time = d a t e s t r (now , ’yyyymmdd HHMMSS ’ ) ;
171 c u r d i r = pwd ;
172 newdir = f u l l f i l e ( c u r d i r , s p r i n t f ( ’%s %s ’ , model , time ) ) ;
173 mkdir ( newdir ) ;
174 cd ( newdir ) ;
175 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
176 %The below s t a n z a c r e a t e s a t e x t f i l e f o r data
177 filename1 = s p r i n t f ( ’ Data %s . t x t ’ , time ) ;
42
178 f i d = fopen ( filename1 , ’ wt ’ ) ;
179 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
180 %The below loop p r i n t s l a b e l to the data
181
182 f p r i n t f ( fid , ’%s  t ’ , ’ t ’ ) ;
183 num = l e n g t h ( x ) ;
184 f o r i = 1 : num
185 f p r i n t f ( fid , ’%s%d t ’ , ’x ’ , i ) ;
186 end
187 f p r i n t f ( fid , ’n ’ ) ;
188 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
189 %The below s t a t e m e n t appends the data as tab d e l i m i t e d with t h r e e decimal
190 %p o i n t p r e c i s i o n
191 dlmwrite ( filename1 , data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p r e c i s i o n ’ , ’%.8 f ’ , ’−append
’ ) ;
192 f c l o s e ( f i d ) ;
193 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
194 %The below s t a n z a c r e a t e s a t e x t f i l e with header
195 filename2 = s p r i n t f ( ’ Header %s . t x t ’ , time ) ;
196 f i d = fopen ( filename2 , ’ wt ’ ) ;
197 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
198 %The below loop p r i n t s dashed l i n e to mark the beginning
199 f o r i = 1 : 40
200 f p r i n t f ( fid , ’%c ’ , ’−’ ) ;
201 end
202 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
203 %The below s t a t e m e n t p r i n t s the model name
204 f p r i n t f ( fid , ’nnModel name : %s nn ’ , model ) ;
205 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
206 %The below loop p r i n t s the i n i t i a l c o n d i t i o n s of the s p e c i e s
207 f p r i n t f ( fid , ’ I n i t i a l c o n d i t i o n of the s p e c i e s : n ’ ) ;
208 num = l e n g t h ( x ) ;
209 f o r i = 1 : num
210 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’x ’ , i , x ( i ) ) ;
211 end
212 f p r i n t f ( fid , ’nn ’ ) ;
213 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
214 %The below loop p r i n t s the parameter values
215 f p r i n t f ( fid , ’ Values of the parameters : n ’ ) ;
43
216 num = l e n g t h ( k ) ;
217 f o r i = 1 : num
218 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’k ’ , i , k ( i ) ) ;
219 end
220 f p r i n t f ( fid , ’nn ’ ) ;
221 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
222 %The below loop p r i n t s dashed l i n e to mark the end
223 f o r i = 1 : 40
224 f p r i n t f ( fid , ’%c ’ , ’−’ ) ;
225 end
226 f p r i n t f ( fid , ’n ’ ) ;
227 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
228 %The l o c a t i o n i s r e v e r t e d to the p a r t e n t d i r e c t o r y f o r the next run
229 f c l o s e ( f i d ) ;
230 cd ( c u r d i r ) ;
231 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
232 end
233 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Listing 6.4: Matlab Script for stochastic Simulation with promoter transition using Poisson
process.
1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ;
2 Dr . Biplab Bose , Email : biplabbose@gmail . com .
3 / / Date : March 2016.
4 / / This f u n c t i o n used f o r F o u r i e r Transformation .
5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
6 f u n c t i o n F o u r i e r T r a n s f o r m a t i o n
7 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
8 % to read t e x t f i l e f o r which we want to do f o u r i e r t r a n s f o r m a t i o n
9 % Make changes here
10 M = dlmread ( ’ x1 . t x t ’ ) ;
11 T = M( 2 , 1 )−M( 1 , 1 ) ;
12 Fs = 1/T ; % Sampling frequency
13 [L ,N] = s i z e (M) ;
14 f = Fs∗ ( 0 : ( L / 2 ) ) / L ;
15 Data ( : , 1 ) = f ;
16 % to c a l c u l a t e f o u r i e r t r a n s f o r m of a l l row one by one
17 f o r j =2:N;
18 X=M( : , j ) ;
44
19 % to c a l c u l a t e amplitude
20 Y = f f t (X) ;
21 P2 = abs (Y/ L) ;
22 P1 = P2 ( 1 : L/2+1) ;
23 P1 ( 2 : end −1) = 2∗P1 ( 2 : end −1) ;
24 Data ( : , j ) =P1 ;
25 end
26 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
27 %To save data in t e x t f i l e
28 dlmwrite ( ’ f o u r i e r d a t a . t x t ’ , Data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p r e c i s i o n ’ , ’%.8 f ’ ) ;
29 end
Listing 6.5: Matlab Script for Fourier Transformation
45
Bibliography
[1] BAKKENIST, C. J., AND KASTAN, M. B. Dna damage activates atm through intermolec-
ular autophosphorylation and dimer dissociation. Nature 421, 6922 (2003), 499–506.
[2] BATCHELOR, E., MOCK, C. S., BHAN, I., LOEWER, A., AND LAHAV, G. Recurrent
initiation: a mechanism for triggering p53 pulses in response to dna damage. Molecular
cell 30, 3 (2008), 277–289.
[3] BOND, G. L., HU, W., BOND, E. E., ROBINS, H., LUTZKER, S. G., ARVA, N. C.,
BARGONETTI, J., BARTEL, F., TAUBERT, H., WUERL, P., ET AL. A single nucleotide
polymorphism in the mdm2 promoter attenuates the p53 tumor suppressor pathway and
accelerates tumor formation in humans. Cell 119, 5 (2004), 591–602.
[4] COOK, D. L., GERBER, A. N., AND TAPSCOTT, S. J. Modeling stochastic gene ex-
pression: implications for haploinsufficiency. Proceedings of the National Academy of
Sciences 95, 26 (1998), 15641–15646.
[5] FRASER, H. B., HIRSH, A. E., GIAEVER, G., KUMM, J., AND EISEN, M. B. Noise
minimization in eukaryotic gene expression. PLoS Biol 2, 6 (2004), e137.
[6] HAUPT, Y., MAYA, R., KAZAZ, A., AND OREN, M. Mdm2 promotes the rapid degrada-
tion of p53. Nature 387, 6630 (1997), 296–299.
[7] KO, M., NAKAUCHI, H., AND TAKAHASHI, N. The dose dependence of glucocorticoid-
inducible gene expression results from changes in the number of transcriptionally active
templates. The EMBO Journal 9, 9 (1990), 2835.
[8] KUBBUTAT, M. H., JONES, S. N., AND VOUSDEN, K. H. Regulation of p53 stability by
mdm2. Nature 387, 6630 (1997), 299–303.
46
[9] LAHAV, G., ROSENFELD, N., SIGAL, A., GEVA-ZATORSKY, N., LEVINE, A. J.,
ELOWITZ, M. B., AND ALON, U. Dynamics of the p53-mdm2 feedback loop in in-
dividual cells. Nature genetics 36, 2 (2004), 147–150.
[10] LAMBERT, J.-C., PASQUIER, F., COTTEL, D., FRIGARD, B., AMOUYEL, P., AND
CHARTIER-HARLIN, M.-C. A new polymorphism in the apoe promoter associated with
risk of developing alzheimer’s disease. Human molecular genetics 7, 3 (1998), 533–540.
[11] LEVINE, A. J. p53, the cellular gatekeeper for growth and division. cell 88, 3 (1997),
323–331.
[12] LI, M., BROOKS, C. L., WU-BAER, F., CHEN, D., BAER, R., AND GU, W. Mono-
versus polyubiquitination: differential control of p53 fate by mdm2. Science 302, 5652
(2003), 1972–1975.
[13] LIU, B., CHENG, Y., ZHANG, B., BIAN, H.-J., AND BAO, J.-K. Polygonatum cyr-
tonema lectin induces apoptosis and autophagy in human melanoma a375 cells through a
mitochondria-mediated ros–p38–p53 pathway. Cancer letters 275, 1 (2009), 54–60.
[14] LOYING, P., MANHAS, J., SEN, S., AND BOSE, B. Autoregulation and heterogeneity in
expression of human cripto-1. PloS one 10, 2 (2015), e0116748.
[15] LU, X., NANNENGA, B., AND DONEHOWER, L. A. Ppm1d dephosphorylates chk1 and
p53 and abrogates cell cycle checkpoints. Genes & development 19, 10 (2005), 1162–
1174.
[16] OFIR-ROSENFELD, Y., BOGGS, K., MICHAEL, D., KASTAN, M. B., AND OREN, M.
Mdm2 regulates p53 mrna translation through inhibitory interactions with ribosomal pro-
tein l26. Molecular cell 32, 2 (2008), 180–189.
[17] RAJ, A., AND VAN OUDENAARDEN, A. Nature, nurture, or chance: stochastic gene
expression and its consequences. Cell 135, 2 (2008), 216–226.
[18] SHIEH, S.-Y., IKEDA, M., TAYA, Y., AND PRIVES, C. Dna damage-induced phospho-
rylation of p53 alleviates inhibition by mdm2. Cell 91, 3 (1997), 325–334.
47
[19] SHIEH, S.-Y., TAYA, Y., AND PRIVES, C. Dna damage-inducible phosphorylation of
p53 at n-terminal sites including a novel site, ser20, requires tetramerization. The EMBO
journal 18, 7 (1999), 1815–1823.
[20] SINGH, A., RAZOOKY, B. S., DAR, R. D., AND WEINBERGER, L. S. Dynamics of pro-
tein noise can distinguish between alternate sources of gene-expression variability. Molec-
ular systems biology 8, 1 (2012), 607.
[21] STOLOVITZKY, G., MA, L., WAGNER, J., RICE, J. J., WENWEI, H., AND LEVINE,
A. A plausible model for the digital response of p53 to dna damage. In APS Meeting
Abstracts (2007), vol. 1, p. 35012.
48

Weitere ähnliche Inhalte

Was ist angesagt?

Dr waheed presentation (1)
Dr waheed presentation (1)Dr waheed presentation (1)
Dr waheed presentation (1)
Zahid Hussain
 
Increasing the efficiency of homology-directed repair for crispr-cas9-induced...
Increasing the efficiency of homology-directed repair for crispr-cas9-induced...Increasing the efficiency of homology-directed repair for crispr-cas9-induced...
Increasing the efficiency of homology-directed repair for crispr-cas9-induced...
Hamza Khan
 
Assembly and finishing
Assembly and finishingAssembly and finishing
Assembly and finishing
Nikolay Vyahhi
 

Was ist angesagt? (20)

gene prediction programs
gene prediction programsgene prediction programs
gene prediction programs
 
Molecular markers
Molecular markersMolecular markers
Molecular markers
 
Sage technology
Sage technologySage technology
Sage technology
 
Protein engineering
Protein engineeringProtein engineering
Protein engineering
 
Gene sequencing technique
Gene sequencing techniqueGene sequencing technique
Gene sequencing technique
 
Dr waheed presentation (1)
Dr waheed presentation (1)Dr waheed presentation (1)
Dr waheed presentation (1)
 
Tag-based transcript sequencing: Comparison of SAGE and CAGE
Tag-based transcript sequencing: Comparison of SAGE and CAGETag-based transcript sequencing: Comparison of SAGE and CAGE
Tag-based transcript sequencing: Comparison of SAGE and CAGE
 
How to sequence a large eukaryotic genome
How to sequence a large eukaryotic genomeHow to sequence a large eukaryotic genome
How to sequence a large eukaryotic genome
 
BIOL335: Functional genomics
BIOL335: Functional genomicsBIOL335: Functional genomics
BIOL335: Functional genomics
 
Preparing Genomic DNA for Sequencing
Preparing Genomic DNA for SequencingPreparing Genomic DNA for Sequencing
Preparing Genomic DNA for Sequencing
 
Genome assembly
Genome assemblyGenome assembly
Genome assembly
 
Increasing the efficiency of homology-directed repair for crispr-cas9-induced...
Increasing the efficiency of homology-directed repair for crispr-cas9-induced...Increasing the efficiency of homology-directed repair for crispr-cas9-induced...
Increasing the efficiency of homology-directed repair for crispr-cas9-induced...
 
DNA Sequencing : Maxam Gilbert and Sanger Sequencing
DNA Sequencing : Maxam Gilbert and Sanger SequencingDNA Sequencing : Maxam Gilbert and Sanger Sequencing
DNA Sequencing : Maxam Gilbert and Sanger Sequencing
 
Bioinformatics
BioinformaticsBioinformatics
Bioinformatics
 
SAGE- Serial Analysis of Gene Expression
SAGE- Serial Analysis of Gene ExpressionSAGE- Serial Analysis of Gene Expression
SAGE- Serial Analysis of Gene Expression
 
Assembly and finishing
Assembly and finishingAssembly and finishing
Assembly and finishing
 
artificial neural network-gene prediction
artificial neural network-gene predictionartificial neural network-gene prediction
artificial neural network-gene prediction
 
Applications of transcriptomice s in modern biotechnology 2
Applications of transcriptomice s in modern biotechnology 2Applications of transcriptomice s in modern biotechnology 2
Applications of transcriptomice s in modern biotechnology 2
 
Sequence assembly
Sequence assemblySequence assembly
Sequence assembly
 
Genome analysis2
Genome analysis2Genome analysis2
Genome analysis2
 

Andere mochten auch

PROJECT FINAL PAPER
PROJECT FINAL PAPERPROJECT FINAL PAPER
PROJECT FINAL PAPER
Souvik Roy
 
Mimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlabMimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlab
Gay Yemen
 
Audio Equalization Using LMS Adaptive Filtering
Audio Equalization Using LMS Adaptive FilteringAudio Equalization Using LMS Adaptive Filtering
Audio Equalization Using LMS Adaptive Filtering
Bob Minnich
 
Archi Modelling
Archi ModellingArchi Modelling
Archi Modelling
dilane007
 
Ofdm performance analysis
Ofdm performance analysisOfdm performance analysis
Ofdm performance analysis
Saroj Dhakal
 
Mimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlabMimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlab
ntnam113
 
Mimo ofdm by abhishek pandey
Mimo ofdm by abhishek pandeyMimo ofdm by abhishek pandey
Mimo ofdm by abhishek pandey
abhi29513
 

Andere mochten auch (20)

PROJECT FINAL PAPER
PROJECT FINAL PAPERPROJECT FINAL PAPER
PROJECT FINAL PAPER
 
Cv kaushalesh gupta
Cv kaushalesh guptaCv kaushalesh gupta
Cv kaushalesh gupta
 
Mimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlabMimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlab
 
audit
auditaudit
audit
 
Audio Equalization Using LMS Adaptive Filtering
Audio Equalization Using LMS Adaptive FilteringAudio Equalization Using LMS Adaptive Filtering
Audio Equalization Using LMS Adaptive Filtering
 
matlab
matlabmatlab
matlab
 
Archi Modelling
Archi ModellingArchi Modelling
Archi Modelling
 
B.Tech Final Project
B.Tech Final ProjectB.Tech Final Project
B.Tech Final Project
 
linear equalizer and turbo equalizer
linear equalizer and turbo equalizerlinear equalizer and turbo equalizer
linear equalizer and turbo equalizer
 
DIY OFDM Session
DIY OFDM SessionDIY OFDM Session
DIY OFDM Session
 
Ofdm sim-matlab-code-tutorial web for EE students
Ofdm sim-matlab-code-tutorial web for EE studentsOfdm sim-matlab-code-tutorial web for EE students
Ofdm sim-matlab-code-tutorial web for EE students
 
Adaptive linear equalizer
Adaptive linear equalizerAdaptive linear equalizer
Adaptive linear equalizer
 
Ofdm performance analysis
Ofdm performance analysisOfdm performance analysis
Ofdm performance analysis
 
OFDM transmission step-by-step
OFDM transmission step-by-stepOFDM transmission step-by-step
OFDM transmission step-by-step
 
Matlab code
Matlab codeMatlab code
Matlab code
 
Mimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlabMimo ofdm wireless communications with matlab
Mimo ofdm wireless communications with matlab
 
Equalization
EqualizationEqualization
Equalization
 
Mimo
MimoMimo
Mimo
 
4g lte matlab
4g lte matlab4g lte matlab
4g lte matlab
 
Mimo ofdm by abhishek pandey
Mimo ofdm by abhishek pandeyMimo ofdm by abhishek pandey
Mimo ofdm by abhishek pandey
 

Ähnlich wie M.tech Thesis

Optimization Models and Computational Methods for Systems Biology
Optimization Models and Computational Methods for Systems BiologyOptimization Models and Computational Methods for Systems Biology
Optimization Models and Computational Methods for Systems Biology
Yang Cong
 
利用分子動力學電腦模擬研究聚穀氨醯胺及胰
利用分子動力學電腦模擬研究聚穀氨醯胺及胰利用分子動力學電腦模擬研究聚穀氨醯胺及胰
利用分子動力學電腦模擬研究聚穀氨醯胺及胰
Hsin-Lin Chiang
 
Final report - Adam Zienkiewicz
Final report - Adam ZienkiewiczFinal report - Adam Zienkiewicz
Final report - Adam Zienkiewicz
Adam Zienkiewicz
 
PaulHarrisonThesis_final
PaulHarrisonThesis_finalPaulHarrisonThesis_final
PaulHarrisonThesis_final
Paul Harrison
 
Classification of squamous cell cervical cytology
Classification of squamous cell cervical cytologyClassification of squamous cell cervical cytology
Classification of squamous cell cervical cytology
karthigailakshmi
 
[] Molecular cancer_therapeutics_strategies_for_d(book_zz.org)
[] Molecular cancer_therapeutics_strategies_for_d(book_zz.org)[] Molecular cancer_therapeutics_strategies_for_d(book_zz.org)
[] Molecular cancer_therapeutics_strategies_for_d(book_zz.org)
Hoàng Lê
 
BolingerJustin - Honors Thesis
BolingerJustin - Honors ThesisBolingerJustin - Honors Thesis
BolingerJustin - Honors Thesis
Justin P. Bolinger
 
Submitted Report Final Draft
Submitted Report Final DraftSubmitted Report Final Draft
Submitted Report Final Draft
Owen Walton
 
A Hierarchical Graph for Nucleotide Binding Domain 2
A Hierarchical Graph for Nucleotide Binding Domain 2A Hierarchical Graph for Nucleotide Binding Domain 2
A Hierarchical Graph for Nucleotide Binding Domain 2
Samuel Kakraba
 

Ähnlich wie M.tech Thesis (20)

Optimization Models and Computational Methods for Systems Biology
Optimization Models and Computational Methods for Systems BiologyOptimization Models and Computational Methods for Systems Biology
Optimization Models and Computational Methods for Systems Biology
 
Richard Allen Thesis
Richard Allen ThesisRichard Allen Thesis
Richard Allen Thesis
 
利用分子動力學電腦模擬研究聚穀氨醯胺及胰
利用分子動力學電腦模擬研究聚穀氨醯胺及胰利用分子動力學電腦模擬研究聚穀氨醯胺及胰
利用分子動力學電腦模擬研究聚穀氨醯胺及胰
 
Kl ph d_thesisfinal
Kl ph d_thesisfinalKl ph d_thesisfinal
Kl ph d_thesisfinal
 
Introductory Course on molecular Biology
Introductory Course on molecular BiologyIntroductory Course on molecular Biology
Introductory Course on molecular Biology
 
thesis.compressed
thesis.compressedthesis.compressed
thesis.compressed
 
Final report - Adam Zienkiewicz
Final report - Adam ZienkiewiczFinal report - Adam Zienkiewicz
Final report - Adam Zienkiewicz
 
RapportHicham
RapportHichamRapportHicham
RapportHicham
 
PaulHarrisonThesis_final
PaulHarrisonThesis_finalPaulHarrisonThesis_final
PaulHarrisonThesis_final
 
Classification of squamous cell cervical cytology
Classification of squamous cell cervical cytologyClassification of squamous cell cervical cytology
Classification of squamous cell cervical cytology
 
A hybrid approach to finding phenotype candidates in genetic text.pdf
A hybrid approach to finding phenotype candidates in genetic text.pdfA hybrid approach to finding phenotype candidates in genetic text.pdf
A hybrid approach to finding phenotype candidates in genetic text.pdf
 
Thesis
ThesisThesis
Thesis
 
[] Molecular cancer_therapeutics_strategies_for_d(book_zz.org)
[] Molecular cancer_therapeutics_strategies_for_d(book_zz.org)[] Molecular cancer_therapeutics_strategies_for_d(book_zz.org)
[] Molecular cancer_therapeutics_strategies_for_d(book_zz.org)
 
BolingerJustin - Honors Thesis
BolingerJustin - Honors ThesisBolingerJustin - Honors Thesis
BolingerJustin - Honors Thesis
 
edc_adaptivity
edc_adaptivityedc_adaptivity
edc_adaptivity
 
Epigen princip
Epigen principEpigen princip
Epigen princip
 
MRoutleyThesis
MRoutleyThesisMRoutleyThesis
MRoutleyThesis
 
PhD Thesis Book
PhD Thesis BookPhD Thesis Book
PhD Thesis Book
 
Submitted Report Final Draft
Submitted Report Final DraftSubmitted Report Final Draft
Submitted Report Final Draft
 
A Hierarchical Graph for Nucleotide Binding Domain 2
A Hierarchical Graph for Nucleotide Binding Domain 2A Hierarchical Graph for Nucleotide Binding Domain 2
A Hierarchical Graph for Nucleotide Binding Domain 2
 

M.tech Thesis

  • 1. Effect of allelic differences on stochastic gene expression A thesis submitted in partial fulfillment of the requirements for the degree of Master of Technology by Kaushalesh Gupta (Roll No. 144106035) Under the guidance of Dr. Biplab Bose DEPARTMENT OF BIOSCIENCES & BIOENGINEERING INDIAN INSTITUTE OF TECHNOLOGY GUWAHATI May 2016
  • 2. CERTIFICATE This is to certify that the work contained in this thesis entitled Effect of allelic differences on stochastic gene expression is the work of Kaushalesh Gupta (Roll No. 144106035) for the award of the degree of Master of Technology, carried out in the Department of Biosciences and Bioengineering, Indian Institute of Technology Guwahati under my supervision and that it has not been submitted elsewhere for a degree. Supervisor Signature of HOD Date: Place:
  • 3. DECLARATION The work contained in this thesis is my own work under the supervision of the Dr.Biplab Bose. We have read and understood the “M. Tech Ordinances and Regulations” of IIT Guwahati and the “FAQ Document on Academic Mal- practice and Plagiarism” of Biosciences and Bioengineering Department of IIT Guwahati. To the Best of our knowledge, this thesis is an honest representation of my work. Kaushalesh Gupta Date: Place:
  • 4. Acknowledgments The writing of this project work has been one of the most significant academic challenges I have ever had to face. Without the support, patience and guidance of the following people, this study would not have been completed .It is to them I owe my deepest gratitude. First of all, I would like to give my sincere thanks to my honorific supervisor Dr. Biplab Bose, who accepted me as a MTP student .I appreciate all his contributions of time, ideas and funding to make my project a productive and stimulating experience. I am also thankful for the excellent example he has provided as a successful scientist. I also want to express my profound sense of gratitude and respect to our H.O.D, Prof.Kannan Pakshirajan , for his help in academic matters. I would like to thank all the members of Cen- ter for Excellence who have created all necessary conditions conductive to the initiation and completion of project. All the Lab members contributed immensely to my personal and professional time. They have been a source of friendship as well as good advice. I am especially grateful to Vimal, Thiyagarajan, Sandipan, Poulami, Mahesh, Satendra, poulomi, Neha, Nischal and Namami who have supported me and encouraged me throughout the project work. I very much appreciate their patience with me. Last but not the least; I would like to thank my family and friends for their love and understanding. They form the backbone and origin of my happiness.
  • 5. Abstract It is widely known that stochastic gene expression gives rise to flexibility in the biological sys- tem and makes it adaptable to changing environment. We have used an analytical model to visualize the effect of stochasticity in a biological system which is previously supposed to be deterministic as it shows the average behavior of cell population. Simulation are performed in a simple model of biallelic gene expression to understand how protein behavior changes by changing transcriptional rate kinetics of an allele. It is observed that in an increasing tran- scriptional rate kinetics of an allele decreased the variation arise in stochastic gene expression. Similarly, analytical model is created for protein oscillation and simulation performed to under- stand how allelic differences in one gene affect the expression of other protein. iv
  • 6. Nomenclature MDM2 Mouse Double Minute 2 SNP Single Nucleotide polymorphism mRNA messenger RNA ATM Ataxia Telangiectasia Mutated Wip1 Wild-type p53-induced phosphatase 1 casp3 Caspase 3 ode Ordinary differential equation ka Rate of transition of promoter from off to on kd Rate of transition of promoter from on to off v
  • 7. Contents Abstract iv Nomenclature v List of Figures viii 1 Introduction 1 1.1 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Review of Literature 3 2.1 Stochasticity in gene expression . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Allele differences in gene expression . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 P53 and its regulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 Materials and Methods 6 3.1 Formulation of the model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2 Model Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.3 p53 and its regulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 Results and Discussion 11 4.1 Network map of p53 regulation . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2 Bi-allele model of gene expression . . . . . . . . . . . . . . . . . . . . . . . . 12 4.2.1 Model of bi-allele gene expression . . . . . . . . . . . . . . . . . . . . 12 4.2.2 Model simulation of bi-allelic gene expression Network. . . . . . . . . 12 4.2.3 Stochastic system with changing rate kinetics. . . . . . . . . . . . . . . 13 4.3 Simple oscillatory Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.3.1 Model Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 vi
  • 8. 4.3.2 Deterministic and stochastic simulation of oscillatory Network using random number to check promoter state. . . . . . . . . . . . . . . . . . 15 4.3.3 Deterministic and stochastic simulation of oscillatory Network using Poisson process for promoter transition between on/off state. . . . . . . 16 4.3.4 Fourier Analysis of Oscillatory Network. . . . . . . . . . . . . . . . . 17 4.3.5 Single cell and Average population behavior of the network with stochas- tic gene expression. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.3.6 Effect of promoter transition rate on homozygous allele system. . . . . 19 4.3.7 Effect of promoter transition rate on heterozygous allele system. . . . 20 4.3.8 Effect of allele differences on stochastic gene expression . . . . . . . . 21 4.3.9 Analyses of protein noises of X1, X2, X3 . . . . . . . . . . . . . . . . 22 5 Conclusion 24 6 Appendix 25 vii
  • 9. List of Figures 3.1 Schematics representation of deterministic simulation . . . . . . . . . . . . . . 8 3.2 Schematics representation of stochastic simulation . . . . . . . . . . . . . . . 9 4.1 Deterministic and Stochastic schematics of bi-allele gene expression. . . . . . 12 4.2 Dynamics of bi-allelic gene expression for deterministic and stochastic model. . 13 4.3 Dynamics of slow and fast stochastic system. . . . . . . . . . . . . . . . . . . 13 4.4 Histogram plot for stochastic system. . . . . . . . . . . . . . . . . . . . . . . . 14 4.5 A deterministic model of simple oscillatory network. . . . . . . . . . . . . . . 14 4.6 A Stochastic model of simple oscillatory network. . . . . . . . . . . . . . . . . 15 4.7 Deterministic and stochastic simulation result of oscillatory Network using ran- dom number. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.8 Deterministic and stochastic simulation result of oscillatory Network using Pois- son process. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.9 Result of Deterministic and stochastic Network Fourier Analysis. . . . . . . . . 18 4.10 Single cell and Average population behavior of stochastic gene expression . . . 19 4.11 Homozygous allele system behavior with different promoter transition kinetics 20 4.12 Heterozygous allele system behavior with different promoter transition kinetics. 21 4.13 Effect of allele differences on stochastic gene expression. . . . . . . . . . . . . 22 4.14 Results of protein noise analysis. . . . . . . . . . . . . . . . . . . . . . . . . . 23 viii
  • 10. Chapter 1 Introduction A biological process in an individual cell is stochastic in nature. In a single cell, stochasticity can arise at many stages for example molecule diffusion in a cell, conformation rearrangements, and randomness in a process of transcription and degradation of mRNA and proteins. Stochas- ticity in gene expression can also arise due to SNPs in the promoter region of an allele and give rise differences in its expression dynamics which can consequently affect dynamics of other system depend on it. We have created an analytical model to visualize how transitions of promoter between different transcriptional states lead to noisy gene expression among clonal cell population [5, 20].These noises in gene expression is essential for diverse cellular processes, such as the gen- eration of phenotypic heterogeneity and the regulation of probabilistic cell-fate decisions across isogenic cell lines .Tight regulation of gene expression noises is also vital for the functioning of proteins, and breakdown in its regulation can lead to a diverse disease state. One such system is p53 and MDM2. p53 is a 393 amino acid nuclear phosphoprotein, acts as a tetrameric sequence-specific DNA-binding protein to regulate the transcription of a growing range of genes whose protein products can regulate cell-cycle progression and apop- tosis [11]. MDM2 protein also known as E3 ubiquitin-protein ligase. it is a 491 amino acid nuclear phosphoprotein that contains a p53 binding domain at its N-terminus protein. mdm2 bind p53 mediate its rapid degradation through the ubiquitin proteolysis pathway keeps its level under tight control [6, 8, 12]. It is found that SNPs in the promoter of mdm2 (SNP 309) gene increases the affinity of sp1 transcriptional factor and lead to a high expression of MDM2 which consequently alter dynamics of p53 and lead to a diseased state of tumor progression [3]. 1
  • 11. 1.1 Objective • To make Network map of p53 Regulation. • To study the effect of allelic differences in the production of protein in a single cell. • To study how allelic differences in promoter region effects oscillation of protein in a single cell. 2
  • 12. Chapter 2 Review of Literature 2.1 Stochasticity in gene expression Stochasticity is a property of a system which lacks any predictable order and outcomes. It com- pletely different from a deterministic system whose future behavior is fully determined by their initial conditions and follow a predictable pattern. A biological process in an individual cell is stochastic in nature. In a single cell, stochasticity can arise at many stages for example molecule diffusion in a cell, conformation rearrangements and randomness in a process of transcription and degradation of mRNA and proteins. Novick and Weinert showed that the beta-galactosidase production in single cells was highly variable,and on induction the proportion of cells expressing the enzyme rather increased rather than increasing every cell’s expression level equally. Later studies were performed on the expression of a glucocorticoid-responsive transgene encoding beta-galactosidase with different doses of glucocorticoid expression reporter in a single-cells and observed large variability in the expression of the transgene from cell to cell. It is also observed that with an increase in dose result in increased frequency of cells displaying a high level of expression instead of the uniform increase in expression in every cell. [7]. The same observation is observed in the p53 system. They found that p53 was expressed in a series of discrete pulses after DNA damage. Genetically identical cells had different numbers of pulses: zero, one, two or more. The mean height and duration of each pulse were fixed and did not depend on the amount of DNA damage. The mean number of pulses, however, increased with DNA damage [9]. Later there are several theoretical work has been purposed to describe stochastic in gene expression especially in a P53 system such as A plausible model for the digital response of p53 to DNA damage to describe 3
  • 13. the variability in p53 system [21], Modelling the role of p53 pulses in DNA damage [2]. Stochastic gene expression has important consequences for cellular function, being ben- eficial in some contexts and harmful in others. These situations include the stress response, metabolism, development, the cell cycle, circadian rhythms, and aging [17]. Heterogeneity arises in isogenic cell population due stochastic gene expression give rise to flexibility in the system and also play a crucial role in embryonic development and cancer. It is observed that a positive feedback increases heterogeneity in gene expression and give rise to bistability in the system. A bistable system has two stable steady states, with lower and higher expression of the target gene. In such a system, for a given inducing signal, cells can have either higher expression or lower expression of the gene .This gives rise to a mixed population of cells with bimodal dis- tribution in expression. Due to the inherent stochasticity in transcriptional processes, a positive feedback can lead to bimodal gene expression even without bistability Bimodal gene expres- sion, due to positive feedback in transcription, has been observed for genes involved cellular differentiation and embryonic development [14] 2.2 Allele differences in gene expression An allele is one of a pair of genes that appear at a particular location on a particular chromosome and control the same characteristic, such as blood type or colour-blindness. Some organism contain only one allele at a particular locus on a chromosome and called as monoallelic such as bacteria while species like human are contains two alleles at a particular locus called as biallelic, they inherit one from each parent. If the two alleles are the same, the individual is homozygous for that gene. If the alleles are different, the individual is heterozygous. When the alleles of a pair are heterozygous, the phenotype of one trait may be dominant and the other recessive. The dominant allele is expressed and the recessive allele is masked. This is known as complete dominance. In heterozygous relationships where neither allele is dominant but both are completely expressed, the alleles are considered to be co-dominant. Co-dominance is exemplified in AB blood type inheritance. When one allele in not completely dominant over the other, the alleles are said to express incomplete dominance. Promoter regions are an essential component of transcription initiation and the assembly of RNA polymerase and associated regulators. SNPs in the promoter region of a gene would be expected to modify the binding affinity of the promoter to transcription factors thereby reg- 4
  • 14. ulating gene expression. The change in expression due to SNP in promoter can lead to diseased condition one such example is the development of Alzheimers disease due to a mutation in the promoter sequence of 4 allele of the Apolipoprotein E gene in human [10]. 2.3 P53 and its regulation p53 is a tumor suppressor protein which regulates the expression of multiple proteins involve in cell cycle regulation and forms many feedback loops. An outstanding one is p53-MDM2 negative feedback loop.p53 can transcriptionally activate MDM2 expression and in turn MDM2 can targets p53 for proteasome degradation through the ubiquitin proteolysis pathway [6]. P53- MDM2 feedback loop together with another characterized negative feedback loop involving WIP1/ATM forms the basis of p53 pulses and previous experiments have confirmed sustained p53 oscillation under DNA damage conditions [15,18]. MDM2 contained SNP309 its promoter region which lead to increased affinity of sp1 transcription factor hence show increased level of MDM2 expression level, hence result in attenuation of p53 expression and its control to regulate cell cycle which leads to tumor progression [3]. 5
  • 15. Chapter 3 Materials and Methods 3.1 Formulation of the model A. We consider the three-variable model shown in Fig. 4.5 and described by the following differential equations for Deterministic Model of gene expression: . dX(1) dt = k(1) − k(2) × x(1) x(1) + k(3) × x(3) . . dx(2) dt = k(4) × x(1) − k(5) × x(2) . . dx(3) dt = k(6) × x(2) − k(7) × x(3) . Here x(1), x(2) , x(3) are three variable which production depend on rate constant k(1), k(4), k(6) respectively, and degradation depend on rate constant k(2), k(5), k(7) respectively. Model consist of one feedback loop in which x(3) is negatively regulating the expression of x(1) which is the main cause in the origin of oscillatory behavior in the system. 6
  • 16. B. We consider the three-variable model shown in Fig. 4.6 and described by the following differential equations for Stochastic Model of gene expression: . dx(1) dt = k(1) − k(2) × x(1) x(1) + k(3) × x(3) . . dx(2) dt = k(4) 2 × (status(1) + status(2)) × x(1) − k(5) × x(2) . . dx(3) dt = k(6) × x(2) − k(7) × x(3) . Case 1 : Here x(1), x(2) , x(3) are three variable which production depend on rate constant k(1), k(4), k(6) respectively, and degradation depend on rate constant k(2), k(5), k(7) respec- tively. In this case promoter state will depend on random number for example, we have set the initial status of promoter in off state. Then it will generate a random number and compare the random number with the probability of promoter off → on state. If random number is less the probability, promoter will turned on else remain in off state. Similarly, when promoter is in on state it will check the probability of promoter on → off state. If random number is less the probability, promoter will turned off else remain in on state. When promoter is on, it will result in protein production and in off state it will not produce protein. Case 2 : In second case of stochastic simulation we have used interarrival time according to Poisson process to determine promoter state. Initially we consider promoter is in off state then according to Poisson process(time = - 1/kon * log(u)), it will check when promoter will going to be turned on. Similarly, when promoter is in on state It will check when promoter is going to be turned off (time = - 1/koff*log(u)) .When promoter is on, it will result in protein production and in off state it will not produce protein.(u is random number) 7
  • 17. 3.2 Model Simulation All the simulation are performed in Matlab 2014b. Figure 3.1: Schematics representation of deterministic simulation In this schematics, showing the working of our code in Matlab for Deterministic simulation. As shown in the figure ordinary differential equation (ode) solver call all the equation and input requires for solving odes. After simulation, it writes data to a text file. 8
  • 18. Figure 3.2: Schematics representation of stochastic simulation It this schematics, showing the working of our code in Matlab for Stochastic simulation. As shown in the figure ordinary differential equation (ode) solver call all the equation and input requires in solving odes. Stochasticity is generated by fluctuating the promoter status according to Poisson distribution. 9
  • 19. In the Schematics shown in fig. 3.1 and fig. 3.2 describes the working Matlab code. Matlab code of four functions: Ode solver, parameter value, Equation and text. The first step in this process is to convert a biological network into the system of ordinary differential equation and define all the ordinary differential equation in Equation function. The second step is to find the Parameter value (for example. the rate of transcription, the rate of translation, the rate of degradation of protein in a gene regulatory network) and initial condition (for example. Basal level of protein in a cell) by reviewing it in literature and then define it in parameter function. The third step is to use Ode solver which is a Matlab inbuilt function, we have used it to solve the ode defined in Equation function. After simulation data is saved in a text file by text function. In Matlab code for the stochastic simulation, an addition function is added promoter status to generate randomness into the system. This function helps Ode solver to check whether the promoter is switch on (then status will be updated to 1) or switch off condition (then status will be updated to 0) and accordingly protein will produce. 3.3 p53 and its regulation. p53 is a tumour suppressor protein which regulates the transcription of a growing range of genes whose protein products can regulate cell-cycle progression. The intracellular activity of the p53 is regulated by MDM2. MDM2 mediated degradation of p53 under non-stressed. It is also reported in the paper that MDM2 inhibit the translation of p53 [16]. In stressed condition (DNA damage) ATM gets activated through intermolecular phosphorylation. Activated ATM (i.e. phosphorylated form) then phosphorylates and stabilizes p53 (p53p) ATM also phospho- rylate MDM2 and strongly diminished its ability to degrade [19]. Phosphorylated p53 species can activate mdm2 and wip1 transcription. WIP1 (wildtype p53induced phosphatase 1) result in dephosphorylation of p53p, MDM2p and ATM [15]. ATM protein keeps a check over DNA damage and gets re-activated again and again till the damage is repaired [1] and this gives rise oscillatory behaviour of p53. Oscillatory behaviour of p53 has physical significance in biolog- ical context At low damage levels, few p53 pulses evoke cell cycle arrest by inducing p21 and promote cell survival, whereas at high damage levels, sustained p53 pulses trigger apoptosis by inducing Casp3 [13].On the basis of all these information, a network map P53 regulation is created. 10
  • 20. Chapter 4 Results and Discussion 4.1 Network map of p53 regulation p53 is a tumour suppressor protein. The intracellular activity of the p53 is regulated by MDM2. MDM2 mediated degradation of p53 under non-stressed. In stressed condition (DNA damage) ATM gets activated through intermolecular phosphorylation. Activated ATM then phosphorylates and stabilizes p53. ATM also phosphorylate MDM2 and strongly diminished its ability to degrade p53. Phosphorylated p53 species can activate mdm2 and wip1 transcription. WIP1 result in dephosphorylation of p53p, MDM2p and ATM. 11
  • 21. 4.2 Bi-allele model of gene expression 4.2.1 Model of bi-allele gene expression This model consists of only one variable.In deterministic model, it is assumed that allele is continuously producing protein with rate ’jp’ and protein is continuously degraded at a rate ’kp’. In stochastic model, it is consider that gene is switch randomly between inactive (G) and active (G*) states according to first-order reaction kinetics. ka and kd are activation and deactivation rate that determines how long a allele remain in the active state. When active, each allele expresses a protein (G). Figure 4.1: Deterministic and Stochastic schematics of bi-allele gene expression. Each active allele (g1*, g2*) allele express protein (G) at rate of jp (nM). G is degraded with a rate of kp. ka and kd are activation and deactivation rate of allele respectively. 4.2.2 Model simulation of bi-allelic gene expression Network. As shown in figure. 4.2 deterministic system, protein ’G’ is showing stable expression of allele and it is reaching steady state level of 0.5 nM, whereas in stochastic system product G is varying around a mean value of 0.5 nM with excursions to higher(.75 nM) and lower(.25 nM) protein levels. 12
  • 22. Figure 4.2: Dynamics of bi-allelic gene expression for deterministic and stochastic model. In figure at the right,it is assumed that promoter is always turned on and in figure at the left has promoter transition kinetics (ka = 2 × 10−3 and kd = 2 × 10−3 ). 4.2.3 Stochastic system with changing rate kinetics. In a stochastic system with rate of promoter activation and deactivation result in variability in protein expression. Protein levels is varying around a mean value of 0.5 nM with excursions to higher and lower product levels (fig 4.3). The range of protein level varying from 0.25 nM to 0.75 nM for slow kinetics to 0.40 nM to 0.60 nM. in fast kinetics as shown in histogram plot (fig. 4.4). Faster expression kinetics is producing extremely narrow variations in protein level. Our result matches with the paper [4] which validate that the code we have designed for simulation is working fine. Figure 4.3: Dynamics of slow and fast stochastic system. Product G is showing fluctuation around the mean value of 0.5. In figure at the right has pro- moter transition rate (ka= 2 × 10−3 and kd= 2 × 10−3 ) and in figure at the left has promoter transition rate (ka= 2 × 10−4 and kd= 2 × 10−4 ) than .It is observed that increase in rate kinetics reduces the variation in the protein expression. 13
  • 23. Figure 4.4: Histogram plot for stochastic system. A bell-shaped histogram is observed around a mean value of 0.5 nM. a) Stochastic system with slow kinetics showing protein product in a range of 0.25 nM to 0.75 nM (ka=kd= 2 × 10−4 ) . b) Stochastic system with fast kinetics showing protein product in a range of 0.4 nM to 0.6 nM (ka=kd = 2 × 10−3 ). 4.3 Simple oscillatory Network. 4.3.1 Model Diagram Figure 4.5: A deterministic model of simple oscillatory network. g1* and g2* are allele of X2 and it is transcriptionally activated by X1 protein and resulting in production of X2. X2 protein is resulting in production of X3 protein which in turn mediating degradation of X1 to regulate it’s level in a cell. 14
  • 24. Figure 4.6: A Stochastic model of simple oscillatory network. g1* and g2* are the allele of X2 and it is transcriptionally activated by X1 protein and resulting in the production of X3 protein from X2 protein, X3 protein in turn mediating degradation of the X1 protein. Allele differences arise in the system due switching of allele between on and off with a rate of ka and kd. ka is rate of activation of allele, kd is rate of deactivation of allele, k1 is rate of production of X1, k2 is rate of degradation of X1, k3 is Michael’s Melton constant, k4 is rate of transcription of X2, k5 is rate of degradation of X2, k6 rate of Production of X3, k7 is rate of degradation of X3. 4.3.2 Deterministic and stochastic simulation of oscillatory Network us- ing random number to check promoter state. The network shown in fig.4.5 and fig 4.6 is converted into a system of ordinary differential equa- tion and simulation is performed using Matlab 2014b. In our simulation of deterministic model stable oscillation of X1, X2, X3 is observed with fixed mean height (fig. 4.7). In stochastic simulation, we observed decay in oscillatory pulses due to allele differences in X2 gene. 15
  • 25. Figure 4.7: Deterministic and stochastic simulation result of oscillatory Network using random number. X1, X2, X3 showing stable oscillation in deterministic simulation shown whereas in stochastic simulation oscillation observed . In stochastic system random number is generated to check promoter state at every step of simulation. In this case, we have set the intial status of promoter to off state, then it will generate a random number to check that whether random number is less than the probability we have set for promoter off to on state. If condition is justify promoter will become active and protein will production otherwise it will remain in off state. Similarly, when promoter is in on state it will check the probability for promoter on to off state. 4.3.3 Deterministic and stochastic simulation of oscillatory Network us- ing Poisson process for promoter transition between on/off state. The network shown in fig.4.5 and fig 4.6 is converted into a system of ordinary differential equa- tion and simulation is performed using Matlab 2014b. In our simulation of deterministic model stable oscillation of X1, X2, X3 is observed with fixed mean height (fig. 4.8). In stochastic simulation, we observed decay in oscillatory pulses due to allele differences in X2 gene. 16
  • 26. Figure 4.8: Deterministic and stochastic simulation result of oscillatory Network using Poisson process. X1, X2, X3 showing stable oscillation in deterministic simulation shown whereas in stochastic simulation(ka=kd= 2 × 10−2 ) decay of oscillation observed (Data shown is average of 1000 simulation). In this simulation promoter status is varied according to Poisson process. Initially we consider promoter is in off state then according to Poisson process(time = - 1/kon * log(u)), it will check when promoter will going to be turned on. Similarly, when promoter is in on state It will check when promoter is going to be turned off (time = - 1/koff*log(u)) .When promoter is on, it will result in protein production and in off state it will not produce protein.(u is random number) 4.3.4 Fourier Analysis of Oscillatory Network. Fourier analysis of oscillatory network is performed for deterministic and stochastic system and result are shown in fig. 4.9. 17
  • 27. Figure 4.9: Result of Deterministic and stochastic Network Fourier Analysis. Fourier analysis of oscillatory network shows that amplitude of X1, X2, X3 is decreased in stochastic system as compare to deterministic system but the frequency of oscillation is ap- proximately same in all system i.e 3.1 × 10−5 . Error bar is showing that their is variation in amplitude in stochastic simulation with promoter transition rate ( ka=kd= 2 × 10−2 ). 4.3.5 Single cell and Average population behavior of the network with stochastic gene expression. In biological system protein expression usually studied by experiments that are averaged over cell populations, potentially masking the dynamic behavior in individual cells.We have sim- ulated the model with different promoter transition rate kinetics and it is observed that the average population behavior is same for different promoter transition rate as shown in fig.4.10, whereas there are huge differences in gene expression noises for different rate kinetics within an individual cell. 18
  • 28. Figure 4.10: Single cell and Average population behavior of stochastic gene expression In a single cell with changing rate kinetics, huge variation is observed. Fig shown at left slow kinetics(ka=kd=2 × 10−4 for both allele) protein is varying from 15 nM to 60 nM for X1, and 60 nM to 200 nM for X2, X3 and at right fast kinetics(ka=kd= 2 × 10−3 for both allele. protein is varying from 23 nM to 48 nM for X1 and 80 nM to 120 nM for X2, X3. 4.3.6 Effect of promoter transition rate on homozygous allele system. In this simulation promoter transition rate of both allele is kept same, hence represent a homozy- gous system. To understand how promoter transition rate effect protein expression stochastic simulation are performed with following rate constant(a. ka=kd= 2 × 10−2 , b. ka=kd= 2 × 10−3 , c. ka=kd= 2 × 10−4 , d. ka=kd= 2 × 10−5 ). With each rate constant 1000 simulation are per- formed and noise (defined as the standard deviation divided by the mean) of X1, X2, X3 is calculated and it is observed that by increasing promoter transition rate reduces the noise in protein expression(fig.4.11) . 19
  • 29. Figure 4.11: Homozygous allele system behavior with different promoter transition kinetics Analysis of protein noises in homozygous allele system shows that by increasing promoter transition rate we can reduces the noises in protein expression. Noise is defined as the standard deviation divided by the mean protein. Noise is calculated from simulation result of stochastic system with following promoter rate transition a. ka=kd= 2 × 10−2 , b. ka=kd= 2 × 10−3 , c. ka=kd= 2 × 10−4 , d. ka=kd= 2 × 10−5 and calculated noise is plotted against time. 4.3.7 Effect of promoter transition rate on heterozygous allele system. In this simulation promoter transition rate of both allele is kept different for other allele of a gene, hence represent a heterozygous system.To understand how promoter transition rate effect protein expression simulation are performed with following rate constant(a. ka=kd= 2 × 10−3 for allele one and for other is ka=kd= 2 × 10−4 , b. ka=kd= 2 × 10−4 for one allele and for other ka=kd= 2×10−2 ), c. ka=kd= 2×10−3 for one allele and for other ka=kd= 2×10−2 ). With each rate constant 1000 simulation are performed and noise in protein expression is calculated.It is observed that faster the promoter transition rate lesser will be the noise in protein expression as shown in fig. 4.12. 20
  • 30. Figure 4.12: Heterozygous allele system behavior with different promoter transition kinetics. Analysis of protein noises in heterozygous allele system shows that by increasing promoter transition rate we can reduces the noises in protein expression. Noise is defined as the standard deviation divided by the mean protein. Noise is calculated from simulation result of stochastic system with following promoter rate transition a. ka=kd= 2×10−3 for allele one and for other is ka=kd= 2 × 10−4 , b. ka=kd= 2 × 10−4 for one allele and for other ka=kd= 2 × 10−2 ), c. ka=kd= 2 × 10−3 for one allele and for other ka=kd= 2 × 10−2 ). and calculated noise is plotted against time. 4.3.8 Effect of allele differences on stochastic gene expression Allelic differences in the promoter region can arise due to various reason ex. mutation in single allele which may modify the binding affinity of the transcription factor at the promoter region results in the change of promoter activation kinetics which can lead to variation in protein expression pattern. In an average population, the same amount of proteins is observed for different promoter rate kinetics, although their huge difference in variation within clonal cell population as shown in Noise vs Time plot shown in fig 4.13. 21
  • 31. Figure 4.13: Effect of allele differences on stochastic gene expression. Allelic differences leads to variation in gene expression in a single cell shown in Noise vs Time plot whereas average population behaviur of protein is same shown in G vs Time plot. The average population behavior mask the behavior and variation that arise in single cell. Noise is defined as the standard deviation divided by the mean protein. Stochastic simulation are performed with following promoter transition kinetics a. ka=kd= 2 × 10−2 for both allele , b. ka=kd= 2 × 10−3 for one allele and for other ka=kd= 2 × 10−2 ), c. ka=kd= 2 × 10−3 for both allele. 4.3.9 Analyses of protein noises of X1, X2, X3 . Stochastic network of biallelic gene expression is simulated with with promoter transition rate ka=kd=2×10−2 using Matlab 2014b. Simulated result of stochastic gene expression is analysed. Noise in protein expression of X1, X2, X3 is calculated for 1000 simulation. Noise of one protein is plotted against noise of another protein and it is observed that their is correlation in their noise as shown in figure 4.14. It seems that when variation arises in the expression of one protein it will consequently affect protein expression of other protein. A similar result for other promoter transition rate. 22
  • 32. Figure 4.14: Results of protein noise analysis. Analysis of protein noises showing the correlation between X1, X2, X3 noises in protein expres- sion. It is evident that when their is variation in expression of one protein it will consequently effects the expression of other protein. Noise is defined as the standard deviation divided by the mean protein. Noise is calculated from simulation result of stochastic system with promoter rate transition ka=kd=2 × 10−2 . 23
  • 33. Chapter 5 Conclusion I have created stochastic and deterministic oscillatory network of biallelic gene expression. All network is converted to system of ordinary differential equation’s and simulation are performed with different promoter transition rate(1000 simulation for each promoter transition rate) using Matlab 2014b. On analysis of simulated data following result is observed. • Stochasticity in gene expression lead to damping of oscillation of average population protein expression. • In stochastic system, noises in gene expression is reduced on increasing the promoter transition rate in homozygous and heterozygous allele system. • Allelic differences lead to variation at single cell level. Heterozygous allele expression showing large variation at single cell level as compare to homozygous allele expression which is not observed in average population behavior of gene expression. It is evident that average population behavior of protein is masking the variation arise at single cell level. 24
  • 34. Chapter 6 Appendix 1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ; 2 Dr . Biplab Bose , Email : biplabbose@gmail . com . 3 / / Date : september 2015. 4 / / This s e t of f u n c t i o n used f o r d e t e r m i n i s t i c s i m u l a t i o n . 5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 6 7 f u n c t i o n Main 8 c l o s e a l l ; c l e a r a l l ; c l c ; 9 t r y 10 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 11 %The main f u n c t i o n reads the i n p u t data from the model 12 [ model , t , x , k ] = Parameter ; 13 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 14 %The main f u n c t i o n c a l l s the ode s o l v e r to solve the ODE 15 o p t i o n s = odeset ( ’ RelTol ’ ,10ˆ −8 , ’ AbsTol ’ ,10ˆ −8 , ’ MaxStep ’ ,100) ; 16 [T , X] = ode15s (@ ( t , x ) Equation ( t , x , k ) , t , x , o p t i o n s ) ; 17 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 18 %The s i m u l a t e d r e s u l t s are s t o r e d in an a r r a y ’ data ’ 19 data = [T , X] ; 20 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 21 %The Text f u n c t i o n w r i t e s the data in a t e x t f i l e with unique id f o r each 22 %run 23 Text ( model , x , k , data ) ; 24 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 25 %The below catch f u n c t i o n r e c o r d s the e r r o r thrown by matlab 26 catch e r r o r 25
  • 35. 27 f i d = fopen ( ’ E r r o r F i l e . t x t ’ , ’ a+ ’ ) ; 28 f p r i n t f ( fid , ’%s n ’ , e r r o r . message ) ; 29 f o r i = 1 : l e n g t h ( e r r o r . s t a c k ) 30 f p r i n t f ( fid , ’%s a t %dn ’ , e r r o r . s t a c k ( i ) . name , e r r o r . s t a c k ( i ) . l i n e ) ; 31 end 32 f c l o s e ( f i d ) 33 end 34 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 35 36 f u n c t i o n [ model , t , x , k ] = Parameter 37 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 38 %Enter the name of the model 39 model = ’ Reaction ’ ; 40 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 41 %Enter the i n i t i a l values of the s p e c i e s t h a t does not r e q u i r e random 42 %number g e n e r a t i o n 43 x ( 1 ) = 45; 44 x ( 2 ) = 140; 45 x ( 3 ) = 125; 46 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 47 %Enter the i n i t i a l values of the s p e c i e s t h a t r e q u i r e random number 48 %g e n e r a t i o n 49 %To get s h u f f l e d random number every time , use the below two l i n e s 50 s = RandStream ( ’ mt19937ar ’ , ’ Seed ’ , ’ s h u f f l e ’ ) ; 51 RandStream . setGlobalStream ( s ) ; 52 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 53 %Enter the values of the parameters 54 k ( 1 ) = 1∗10ˆ −2; k ( 2 ) = 1∗10ˆ −4; k ( 3 ) = 1∗10ˆ −6; k ( 4 ) =1∗10ˆ −3; 55 k ( 5 ) =2∗10ˆ −4; k ( 6 ) =2∗10ˆ −4; k ( 7 ) =2∗10ˆ −4; 56 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 57 t ( 1 ) =0; t ( 2 ) =250000; 58 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 59 end 60 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 61 62 f u n c t i o n dx = Equation ( t , x , k ) 63 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 64 % Enter the e q ua t io n below 65 dx ( 1 ) = k ( 1 )−k ( 2 ) ∗ ( x ( 1 ) / ( x ( 1 ) +k ( 3 ) ) ) ∗x ( 3 ) ; 26
  • 36. 66 dx ( 2 ) = k ( 4 ) ∗ x ( 1 ) − k ( 5 ) ∗ x ( 2 ) ; 67 dx ( 3 ) = k ( 6 ) ∗ x ( 2 ) − k ( 7 ) ∗ x ( 3 ) ; 68 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 69 %j u s t above the l i n e dx = dx ’ ; 70 dx = dx ’ ;%Do not change 71 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 72 end 73 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 74 75 f u n c t i o n Text ( model , x , k , data ) 76 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 77 %The below s t a n z a c r e a t e s a new f o l d e r with curremt system time 78 time = d a t e s t r (now , ’yyyymmdd HHMMSS ’ ) ; 79 c u r d i r = pwd ; 80 newdir = f u l l f i l e ( c u r d i r , s p r i n t f ( ’%s %s ’ , model , time ) ) ; 81 mkdir ( newdir ) ; 82 cd ( newdir ) ; 83 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 84 %The below s t a n z a c r e a t e s a t e x t f i l e f o r data 85 filename1 = s p r i n t f ( ’ Data %s . t x t ’ , time ) ; 86 f i d = fopen ( filename1 , ’ wt ’ ) ; 87 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 88 %The below loop p r i n t s l a b e l to the data 89 f p r i n t f ( fid , ’%s t ’ , ’ t ’ ) ; 90 num = l e n g t h ( x ) ; 91 f o r i = 1 : num 92 f p r i n t f ( fid , ’%s%d t ’ , ’x ’ , i ) ; 93 end 94 f p r i n t f ( fid , ’n ’ ) ; 95 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 96 %The below s t a t e m e n t appends the data as tab d e l i m i t e d with t h r e e decimal 97 %p o i n t p r e c i s i o n 98 dlmwrite ( filename1 , data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p r e c i s i o n ’ , ’%.8 f ’ , ’−append ’ ) ; 99 f c l o s e ( f i d ) ; 100 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 101 %The below s t a n z a c r e a t e s a t e x t f i l e with header 102 filename2 = s p r i n t f ( ’ Header %s . t x t ’ , time ) ; 103 f i d = fopen ( filename2 , ’ wt ’ ) ; 27
  • 37. 104 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 105 %The below loop p r i n t s dashed l i n e to mark the beginning 106 f o r i = 1 : 40 107 f p r i n t f ( fid , ’%c ’ , ’−’ ) ; 108 end 109 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 110 %The below s t a t e m e n t p r i n t s the model name 111 f p r i n t f ( fid , ’nnModel name : %s nn ’ , model ) ; 112 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 113 %The below loop p r i n t s the i n i t i a l c o n d i t i o n s of the s p e c i e s 114 f p r i n t f ( fid , ’ I n i t i a l c o n d i t i o n of the s p e c i e s : n ’ ) ; 115 num = l e n g t h ( x ) ; 116 f o r i = 1 : num 117 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’x ’ , i , x ( i ) ) ; 118 end 119 f p r i n t f ( fid , ’nn ’ ) ; 120 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 121 %The below loop p r i n t s the parameter values 122 f p r i n t f ( fid , ’ Values of the parameters : n ’ ) ; 123 num = l e n g t h ( k ) ; 124 f o r i = 1 : num 125 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’k ’ , i , k ( i ) ) ; 126 end 127 f p r i n t f ( fid , ’nn ’ ) ; 128 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 129 %The below loop p r i n t s dashed l i n e to mark the end 130 f o r i = 1 : 40 131 f p r i n t f ( fid , ’%c ’ , ’−’ ) ; 132 end 133 f p r i n t f ( fid , ’n ’ ) ; 134 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 135 %The l o c a t i o n i s r e v e r t e d to the p a r t e n t d i r e c t o r y f o r the next run 136 f c l o s e ( f i d ) ; 137 cd ( c u r d i r ) ; 138 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 139 end 140 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Listing 6.1: Matlab Script for Deterministic Simulation 28
  • 38. 1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ; 2 Dr . Biplab Bose , Email : biplabbose@gmail . com . 3 / / Date : November 2015. 4 / / This s e t of f u n c t i o n used f o r s t o c h a s t i c s i m u l a t i o n using random number . 5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 6 7 f u n c t i o n Main 8 c l o s e a l l ; c l e a r a l l ; c l c ; 9 t r y 10 % −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−%−−−−−−−−− 11 %The main f u n c t i o n reads the i n p u t data from the model 12 [ model , t , x , k , p ] = Parameter ; 13 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 14 %The main f u n c t i o n c a l l s the ode s o l v e r to solve the ODE 15 o p t i o n s = odeset ( ’ RelTol ’ ,10ˆ −8 , ’ AbsTol ’ ,10ˆ −8 , ’ MaxStep ’ ,1) ; 16 [T , X] = ode15s (@ ( t , x ) Equation ( t , x , k , p ) , t , x , o p t i o n s ) ; 17 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 18 %The s i m u l a t e d r e s u l t s are s t o r e d in an a r r a y ’ data ’ 19 data = [T , X] ; 20 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 21 %The Text f u n c t i o n w r i t e s the data in a t e x t f i l e with unique id f o r each 22 %run 23 Text ( model , x , k , data ) ; 24 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 25 %Binning f u c t i o n w i l l bin the data and give average value in each bin 26 %a f t e r the binning data w i l l s t o r e in BinMean matrix 27 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 28 %To save the data in t e x t format a f t e r the end of loop 29 %To summed matrix divided by no of loop run . 30 clock 31 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 32 %The below catch f u n c t i o n r e c o r d s the e r r o r thrown by matlab 33 catch e r r o r 34 f i d = fopen ( ’ E r r o r F i l e . t x t ’ , ’ a+ ’ ) ; 35 f p r i n t f ( fid , ’%s n ’ , e r r o r . message ) ; 36 f o r i = 1 : l e n g t h ( e r r o r . s t a c k ) 29
  • 39. 37 f p r i n t f ( fid , ’%s a t %dn ’ , e r r o r . s t a c k ( i ) . name , e r r o r . s t a c k ( i ) . l i n e ) ; 38 end 39 f c l o s e ( f i d ) 40 end 41 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 42 43 f u n c t i o n [ model , t , x , k , p ] = Parameter 44 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 45 %Enter the name of the model 46 model = ’ Reaction ’ ; 47 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 48 %Enter the i n i t i a l values of the s p e c i e s t h a t does not r e q u i r e random 49 %number g e n e r a t i o n 50 x ( 1 ) = 0; 51 x ( 2 ) = 0; 52 x ( 3 ) = 0; 53 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 54 %Enter the i n i t i a l values of the s p e c i e s t h a t r e q u i r e random number 55 %g e n e r a t i o n 56 %To get s h u f f l e d random number every time , use the below two l i n e s 57 s = RandStream ( ’ mt19937ar ’ , ’ Seed ’ , ’ s h u f f l e ’ ) ; 58 RandStream . setGlobalStream ( s ) ; 59 %For normal d i s t r i b u t i o n follow the below syntax 60 % x ( 1 ) = normrnd (mu, sigma , m, n ) 61 % mu i s the mean , sigma i s the s t a n d a r d d e v i a t i o n 62 % m, n i s the s i z e of the a r r a y . I t should be 1 ,1 63 %For log normal d i s t r i b u t i o n follow the below syntax 64 % x ( 1 ) = lognrnd (mu, sigma , m, n ) 65 % mu and sigma are the mean and s t a n d a r d d e v i a t i o n , r e s p e c t i v e l y , 66 % of the a s s o c i a t e d normal d i s t r i b u t i o n 67 % m, n i s the s i z e of the a r r a y . I t should be 1 ,1 68 %x ( 1 ) = normrnd (2 , 0.1 , 1 , 1) ; 69 %x ( 2 ) = lognrnd (2 , 0.1 , 1 , 1) ; 70 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 71 %Enter the values of the parameters 72 k ( 1 ) = 48∗10ˆ −6; k ( 2 ) = 4.8 ∗10ˆ −5; %k ( 3 ) = 10; k ( 4 ) = 10; 73 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 74 %Enter the i n i t i a l and f i n a l l i m i t of time f o r the s i m u l a t i o n 75 t ( 1 ) = 0; t ( 2 ) = 3600000; 30
  • 40. 76 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 77 %Enter the i n i t i a l c o n d i t i o n of the promoter ( on / o f f ) 78 %Enter t r u e i f ON; f a l s e i f OFF 79 %I f t h e r e are more than one promoter , l i s t them in an a r r a y 80 %For e . g . , i n i t p m t r ( 1 ) = t r u e ; i n i t p m t r ( 2 ) = f a l s e ; 81 g l o b a l i n i t p m t r ; 82 i n i t p m t r ( 1 ) = f a l s e ; 83 i n i t p m t r ( 2 ) = f a l s e ; 84 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 85 %Enter the p r o b a b i l i t y of promoter s w i t c h i n g from ON to OFF 86 %p ( 1 , 1 ) p r o b a b i l i t y t h a t the promoter ( 1 ) w i l l switch from OFF to ON 87 %p ( 1 , 2 ) p r o b a b i l i t y t h a t the promoter ( 1 ) w i l l switch from ON to OFF 88 %I f t h e r e are more than one promoter , append them in the a r r a y 89 %For e . g . , f o r promoter 1 −−> p ( 1 , 1 ) = 0 . 1 ; p ( 1 , 2 ) = 0 . 1 ; 90 %f o r promoter 2 −−> p ( 2 , 1 ) = 0 . 5 ; p ( 2 , 2 ) = 0 . 2 ; 91 p ( 1 , 1 ) = 2∗10ˆ −4; p ( 1 , 2 ) = 2∗10ˆ −4; 92 p ( 2 , 1 ) = 2∗10ˆ −4; p ( 2 , 2 ) = 2∗10ˆ −4; 93 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 94 end 95 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 96 97 f u n c t i o n dx = Equation ( t , x , k , p ) 98 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 99 %The s t a t u s of the promoter i s s t o r e d in the g l o b a l v a r i a b l e ’ i n i t p m t r ’ 100 %The s t a t u s i s updated f o r every run by c a l l i n g teh f u n c t i o n ’ Promoter ’ 101 g l o b a l i n i t p m t r ; 102 s t a t u s = Promoter ( p ) ; 103 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 104 %To i n t r o d u c e s t o c h a s t i c i t y use the below code . 105 %Each promoter should be t r a e t e d as a s e p a r a t e v a r i a b l e i . e . , x ( 1 ) , x ( 2 ) 106 %Place the ode ’ s t h a t w i l l be a f f e c t e d by prmoter ’ s s t a t u s , 107 %under ’ if ’ and ’ else ’ s t a t e m e n t . 108 %For more than one promoter , copy the below i f and e l s e s t a t e m e n t 109 %a c c o r d i n g l y . 110 %Do not change the o t h e r p a r t of the code . 111 dx ( 1 ) =( k ( 1 ) / 2 ) ∗ ( s t a t u s ( 1 ) + s t a t u s ( 2 ) )−k ( 2 ) ∗x ( 1 ) 112 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 113 %Place the ode ’ s t h a t are not a f f e c t e d by the promoter ’ s s t a t u s , 114 %j u s t above the l i n e dx = dx ’ ; 31
  • 41. 115 dx = dx ’ ;%Do not change 116 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 117 i n i t p m t r = s t a t u s ; 118 end 119 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 120 121 f u n c t i o n p r o m o t e r s t a t u s = Promoter ( p ) 122 %Do not make any changes to the t h i s f u n c t i o n . 123 %This f u n c t i o n g e n e r a t e s uniformly d i s t r i b u t e d random number and updates 124 %the promoter s t a t u s f o r each and every run of the s i m u l a t i o n 125 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 126 g l o b a l i n i t p m t r ; 127 promoter count = l e n g t h ( i n i t p m t r ) ; 128 p r o m o t e r s t a t u s = zeros ( promoter count , 1) ; 129 random = rand ( promoter count , 1) ; 130 f o r i = 1 : promoter count 131 p r o m o t e r s t a t u s ( i ) = i n i t p m t r ( i ) ; 132 i f p r o m o t e r s t a t u s ( i ) == t r u e 133 i f random ( i ) <= p ( i , 2) 134 p r o m o t e r s t a t u s ( i ) = f a l s e ; 135 end 136 e l s e 137 i f random ( i ) <= p ( i , 1) 138 p r o m o t e r s t a t u s ( i ) = t r u e ; 139 end 140 end 141 end 142 end 143 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 144 145 f u n c t i o n Text ( model , x , k , data ) 146 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 147 %The below s t a n z a c r e a t e s a new f o l d e r with curremt system time 148 time = d a t e s t r (now , ’yyyymmdd HHMMSS ’ ) ; 149 c u r d i r = pwd ; 150 newdir = f u l l f i l e ( c u r d i r , s p r i n t f ( ’%s %s ’ , model , time ) ) ; 151 mkdir ( newdir ) ; 152 cd ( newdir ) ; 153 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 32
  • 42. 154 %The below s t a n z a c r e a t e s a t e x t f i l e f o r data 155 filename1 = s p r i n t f ( ’ Data %s . t x t ’ , time ) ; 156 f i d = fopen ( filename1 , ’ wt ’ ) ; 157 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 158 %The below loop p r i n t s l a b e l to the data 159 f p r i n t f ( fid , ’%s t ’ , ’ t ’ ) ; 160 num = l e n g t h ( x ) ; 161 f o r i = 1 : num 162 f p r i n t f ( fid , ’%s%d t ’ , ’x ’ , i ) ; 163 end 164 f p r i n t f ( fid , ’n ’ ) ; 165 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 166 %The below s t a t e m e n t appends the data as tab d e l i m i t e d with t h r e e decimal 167 %p o i n t p r e c i s i o n 168 dlmwrite ( filename1 , data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p e c i s i o n ’ , ’%.8 f ’ , ’−append ’ ) ; 169 f c l o s e ( f i d ) ; 170 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 171 %The below s t a n z a c r e a t e s a t e x t f i l e with header 172 filename2 = s p r i n t f ( ’ Header %s . t x t ’ , time ) ; 173 f i d = fopen ( filename2 , ’ wt ’ ) ; 174 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 175 %The below loop p r i n t s dashed l i n e to mark the beginning 176 f o r i = 1 : 40 177 f p r i n t f ( fid , ’%c ’ , ’−’ ) ; 178 end 179 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 180 %The below s t a t e m e n t p r i n t s the model name 181 f p r i n t f ( fid , ’nnModel name : %s nn ’ , model ) ; 182 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 183 %The below loop p r i n t s the i n i t i a l c o n d i t i o n s of the s p e c i e s 184 f p r i n t f ( fid , ’ I n i t i a l c o n d i t i o n of the s p e c i e s : n ’ ) ; 185 num = l e n g t h ( x ) ; 186 f o r i = 1 : num 187 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’x ’ , i , x ( i ) ) ; 188 end 189 f p r i n t f ( fid , ’nn ’ ) ; 190 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 191 %The below loop p r i n t s the parameter values 33
  • 43. 192 f p r i n t f ( fid , ’ Values of the parameters : n ’ ) ; 193 num = l e n g t h ( k ) ; 194 f o r i = 1 : num 195 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’k ’ , i , k ( i ) ) ; 196 end 197 f p r i n t f ( fid , ’nn ’ ) ; 198 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 199 %The below loop p r i n t s dashed l i n e to mark the end 200 f o r i = 1 : 40 201 f p r i n t f ( fid , ’%c ’ , ’−’ ) ; 202 end 203 f p r i n t f ( fid , ’n ’ ) ; 204 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 205 %The l o c a t i o n i s r e v e r t e d to the p a r t e n t d i r e c t o r y f o r the next run 206 f c l o s e ( f i d ) ; 207 cd ( c u r d i r ) ; 208 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 209 end 210 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Listing 6.2: Matlab Script for stochastic Simulation with promoter transition using random number. Listing 6.3: Python Script for binning and extraction of data 1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ; 2 Dr . Biplab Bose , Email : biplabbose@gmail . com . 3 / / Date : december 2016. 4 / / This program does binning and e x t r a c t i o n of data ( Sampling of Data ) 5 6 from o p e r a t o r import add 7 import sys 8 import os 9 10 def bin ( t1 , t2 , n , no var , f i n ) : 11 s t e p s i z e = ( t2−t1 ) / ( n∗ 1 . 0 ) 12 c u r b i n = t1 + ( s t e p s i z e / 2 ) 13 n e x t b i n = t1 + s t e p s i z e 14 b i n d i c ={} # I n t i l i a z e a empty dic t h a t w i l l c o n t a i n bin as key as i t s corresponding avg as i t s values 15 b i n d i c [ c u r b i n ] = [ 0 . 0 ] ∗ no var 34
  • 44. 16 c u r b i n c o u n t =0 17 f =open ( f i n + ’ . t x t ’ , ’ r ’ ) 18 l i n e l i s t = f . r e a d l i n e s ( ) # s t o r e a l l data in one go 19 f . c l o s e ( ) 20 fout name = f i n . r e p l a c e ( ’ Data ’ , ’ bin Data ’ ) + ’ . t x t ’ 21 f =open ( fout name , ’w’ ) 22 f o r i , item in enumerate ( l i n e l i s t [ 1 : ] ) : 23 c u r l i n e l i s t = item . s t r i p ( ) . s p l i t ( ’ t ’ ) 24 # p r i n t ’ c u r l i n e l i s t : ’ , c u r l i n e l i s t 25 ## s c o n v e r t i n g s t r i n g to f l o a t 26 f o r j , item2 in enumerate ( c u r l i n e l i s t ) : 27 c u r l i n e l i s t [ j ] = f l o a t ( c u r l i n e l i s t [ j ] ) 28 i f c u r l i n e l i s t [ 0 ] < n e x t b i n : 29 b i n d i c [ c u r b i n ] =map ( sum , zip ( b i n d i c [ c u r b i n ] , c u r l i n e l i s t [ 1 : ] ) ) 30 c u r b i n c o u n t +=1 31 e l s e : 32 # R e i n t i a l i z e s a l l needed temproray v a r i a b l e s 33 i f c u r b i n c o u n t ==0: 34 p r i n t i , cur bin , c u r b i n c o u n t 35 b i n d i c [ c u r b i n ] = map ( lambda x : x / c u r b i n c o u n t , b i n d i c [ c u r b i n ] ) 36 s t = s t r ( c u r b i n ) + ’ t ’ 37 f o r j , item2 in enumerate ( b i n d i c [ c u r b i n ] ) : 38 s t += ’ %0.8 f t ’ %(item2 ) 39 f . w r i t e ( s t + ’n ’ ) 40 # update bin value 41 c u r b i n = n e x t b i n + ( s t e p s i z e / 2 ) 42 n e x t b i n = n e x t b i n + s t e p s i z e 43 # c u r b i n c o u n t =0 44 b i n d i c [ c u r b i n ] = c u r l i n e l i s t [ 1 : ] 45 c u r b i n c o u n t =1 46 f . c l o s e ( ) 47 48 def copy column ( no of bin , no var , b a s e d i r ) : 49 ’ ’ ’ Assumes t h a t each d i r e c t o r y c o n t a i n s bin f i l e and 50 put corresponding in new d i r e c t o r y ’ ’ ’ 51 o u t d i r = ’ s e p v a r i a b l e ’ + b a s e d i r 52 t r y : 35
  • 45. 53 os . mkdir ( o u t d i r ) 54 except : 55 p r i n t ’ Dir %s a l r e a d y e x i s t s ’ %( o u t d i r ) 56 #open l i s t of f i l e s f o r w r i t i n g 57 o u t f i l e p o i n t e r l i s t =[] 58 f o r i in range ( no var ) : 59 c u r f i l e n a m e = ’%s / column %d . t x t ’ %( o u t d i r , i ) 60 o u t f i l e p o i n t e r l i s t . append ( open ( c u r f i l e n a m e , ’w’ ) ) 61 d i r l i s t = os . l i s t d i r ( b a s e d i r ) 62 #open l i s t of f i l e s f o r re ading 63 i n f i l e p o i n t e r l i s t =[] 64 f o r item in d i r l i s t : 65 cur dir name = ’%s/%s ’ %( b a s e d i r , item ) 66 c u r d i r l i s t = os . l i s t d i r ( cur dir name ) 67 f o r item2 in c u r d i r l i s t : 68 i f item2 . s t a r t s w i t h ( ’ bin Data ’ ) : 69 i n f i l e n a m e = ’%s/%s/%s ’ %( b a s e d i r , item , item2 ) 70 i n f i l e p o i n t e r l i s t . append ( open ( i n f i l e n a m e , ’ r ’ ) ) 71 # Reading and w r i t i n g s i m u l t a n e o u s l y by each l i n e by l i n e 72 f o r i in range ( n o o f b i n ) : 73 t e m p s t r =[ ’ ’ ] ∗ no var 74 c u r t i m e = ’ ’ 75 f o r item in i n f i l e p o i n t e r l i s t : 76 c u r l i n e l i s t = item . r e a d l i n e ( ) . s t r i p ( ) . s p l i t ( ’ t ’ ) 77 c u r t i m e = c u r l i n e l i s t [ 0 ] 78 f o r j , item2 in enumerate ( c u r l i n e l i s t [ 1 : ] ) : 79 t e m p s t r [ j ] += item2 + ’ t ’ 80 f o r k , item in enumerate ( o u t f i l e p o i n t e r l i s t ) : 81 item . w r i t e ( c u r t i m e + ’ t ’+ t e m p s t r [ k ] + ’n ’ ) 82 # c l o s e the f i l e p o i n t e r 83 f o r item in o u t f i l e p o i n t e r l i s t : 84 item . c l o s e ( ) 85 f o r item in i n f i l e p o i n t e r l i s t : 86 item . c l o s e ( ) 87 88 def sum row ( no of bin , no var , b a s e d i r ) : 89 o u t d i r = ’ Avg ’ + b a s e d i r 90 t r y : 91 os . mkdir ( o u t d i r ) 36
  • 46. 92 except : 93 p r i n t ’ Dir %s a l r e a d y e x i s t s ’ %( o u t d i r ) 94 #open l i s t of f i l e s f o r w r i t i n g 95 c u r f i l e n a m e = ’%s / sum row . t x t ’ %( o u t d i r ) 96 o u t f i l e p o i n t e r =open ( c u r f i l e n a m e , ’w’ ) 97 d i r l i s t = os . l i s t d i r ( b a s e d i r ) 98 n o d i r = len ( d i r l i s t ) 99 #open l i s t of f i l e s f o r re ading 100 i n f i l e p o i n t e r l i s t =[] 101 f o r item in d i r l i s t : 102 cur dir name = ’%s/%s ’ %( b a s e d i r , item ) 103 c u r d i r l i s t = os . l i s t d i r ( cur dir name ) 104 f o r item2 in c u r d i r l i s t : 105 i f item2 . s t a r t s w i t h ( ’ bin Data ’ ) : 106 i n f i l e n a m e = ’%s/%s/%s ’ %( b a s e d i r , item , item2 ) 107 i n f i l e p o i n t e r l i s t . append ( open ( i n f i l e n a m e , ’ r ’ ) ) 108 # Reading and w r i t i n g s i m u l t a n e o u s l y by each l i n e by l i n e 109 f o r i in range ( n o o f b i n ) : 110 temp sum = [ 0 . 0 ] ∗ no var 111 c u r t i m e = ’ ’ 112 f o r item in i n f i l e p o i n t e r l i s t : 113 c u r l i n e l i s t = item . r e a d l i n e ( ) . s t r i p ( ) . s p l i t ( ’ t ’ ) 114 c u r t i m e = c u r l i n e l i s t [ 0 ] 115 f o r j , item2 in enumerate ( c u r l i n e l i s t [ 1 : ] ) : 116 temp sum [ j ] += f l o a t ( item2 ) 117 s t = c u r t i m e 118 f o r item in temp sum : 119 s t += ’ t %0.8 f ’ %(item / n o d i r ) 120 o u t f i l e p o i n t e r . w r i t e ( s t + ’n ’ ) 121 # c l o s e the f i l e p o i n t e r 122 o u t f i l e p o i n t e r . c l o s e ( ) 123 f o r item in i n f i l e p o i n t e r l i s t : 124 item . c l o s e ( ) 125 126 def main ( ) : 127 #Make changes here 128 b a s e d i r = ’ data ’ # Enter base d i r e c t o r y name 129 no var =3 # Enter no of v a r i a b l e s in s i m u l a t i o n 130 n=1000 # Enter no of Bin 37
  • 47. 131 t1 =0 # I n t i a l Time of Simulation 132 t2 =250000 # F i n a l Time of Simulation 133 d i r l i s t = os . l i s t d i r ( b a s e d i r ) 134 f o r item in d i r l i s t : 135 f i l e l i s t i n c u r d i r = os . l i s t d i r ( b a s e d i r + ’ / ’+ item ) 136 f o r item2 in f i l e l i s t i n c u r d i r : 137 i f item2 . s t a r t s w i t h ( ’ Data ’ ) : 138 f i n = ’%s/%s/%s ’ %( b a s e d i r , item , item2 . s t r i p ( ’ . t x t ’ ) ) 139 bin ( t1 , t2 , n , no var , f i n ) 140 p r i n t ’ Processed f i l e ’ , f i n 141 copy column ( n , no var , b a s e d i r ) 142 sum row ( n , no var , b a s e d i r ) 143 144 145 i f name == ’ m a i n ’ : 146 main ( ) 1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ; 2 Dr . Biplab Bose , Email : biplabbose@gmail . com . 3 / / Date : January 2016. 4 / / This s e t of f u n c t i o n used f o r s t o c h a s t i c using poisson proce ss . 5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 6 7 f u n c t i o n Main 8 c l o s e a l l ; c l e a r a l l ; c l c ; 9 t r y 10 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 11 %The main f u n c t i o n reads the i n p u t data from the model 12 [ model , t , x , k ] = Parameter ; 13 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 14 %The main f u n c t i o n c a l l s the ode s o l v e r to solve the ODE 15 o p t i o n s = odeset ( ’ RelTol ’ ,10ˆ −8 , ’ AbsTol ’ ,10ˆ −8 , ’ MaxStep ’ ,100) ; 16 [T , X] = ode15s (@ ( t , x ) Equation ( t , x , k ) , t , x , o p t i o n s ) ; 17 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 18 %The s i m u l a t e d r e s u l t s are s t o r e d in an a r r a y ’ data ’ 19 data = [T , X] ; 20 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 21 %The Text f u n c t i o n w r i t e s the data in a t e x t f i l e with unique id f o r each 22 %run 38
  • 48. 23 Text ( model , x , k , data ) ; 24 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 25 %The below catch f u n c t i o n r e c o r d s the e r r o r thrown by matlab 26 catch e r r o r 27 f i d = fopen ( ’ E r r o r F i l e . t x t ’ , ’ a+ ’ ) ; 28 f p r i n t f ( fid , ’%s n ’ , e r r o r . message ) ; 29 f o r i = 1 : l e n g t h ( e r r o r . s t a c k ) 30 f p r i n t f ( fid , ’%s a t %dn ’ , e r r o r . s t a c k ( i ) . name , e r r o r . s t a c k ( i ) . l i n e ) ; 31 end 32 f c l o s e ( f i d ) 33 end 34 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 35 36 37 f u n c t i o n [ model , t , x , k ] = Parameter 38 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 39 %Enter the name of the model 40 model = ’ Reaction ’ ; 41 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 42 %Enter the i n i t i a l values of the s p e c i e s t h a t does not r e q u i r e random 43 %number g e n e r a t i o n 44 x ( 1 ) = 45; 45 x ( 2 ) = 140; 46 x ( 3 ) = 125; 47 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 48 %Enter the i n i t i a l values of the s p e c i e s t h a t r e q u i r e random number 49 %g e n e r a t i o n 50 %To get s h u f f l e d random number every time , use the below two l i n e s 51 s = RandStream ( ’ mt19937ar ’ , ’ Seed ’ , ’ s h u f f l e ’ ) ; 52 RandStream . setGlobalStream ( s ) ; 53 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 54 % This f u n c t i o n c a l l s the i n t e r a r r i v a l t i m e f u n c t i o n and g e n e r a t e and s t o r e 55 % promoter s t a t u s f o r a l l e l e 1 in t e x t f i l e . 56 [w, p ] = i n t e r a r r i v a l t i m e a l l e l e 1 ; 57 % i t w i l l import the t e x t f i l e f o r promoter1 f i l e f o r ALLELE 1 58 N = dlmread ( ’ i n t e r a r r i v a l t i m e a l l e l e 1 . t x t ’ ) ; 59 g l o b a l tn ; 60 t l = N( : , 1 ) ; 61 tn = [ t l ; max ( t l ) +1]; 39
  • 49. 62 g l o b a l r ; 63 tk = N( : , 2 ) ; 64 r = [ tk ; 1 ] ; 65 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 66 %Enter the values of the parameters 67 k ( 1 ) = 1∗10ˆ −2; k ( 2 ) = 1∗10ˆ −4; k ( 3 ) = 1∗10ˆ −6; k ( 4 ) =1∗10ˆ −3; 68 k ( 5 ) =2∗10ˆ −4; k ( 6 ) =2∗10ˆ −4; k ( 7 ) =2∗10ˆ −4; 69 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 70 t ( 1 ) =0; t ( 2 ) =250000; 71 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 72 end 73 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 74 75 f u n c t i o n [w, p ] = i n t e r a r r i v a l t i m e a l l e l e 76 c l o s e a l l ; c l c ; 77 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 78 % Make changes here 79 i =1; % i n t i a l i s a t i o n of i ( increment o p e r a t o r ) 80 w( i ) =0; % i n t i a l i s a t i o n of timr 81 p ( i ) =0; % i n t i a l i s a t i o n of promoter s t a t u s 82 T= 260000; % Time up to which promoter s t a t u s i s r e q u i r e d 83 kon= 2∗10ˆ −3; % Rate of t r a n s i t i o n of a l l e l e 1 from o f f to on 84 koff =2∗10ˆ −3; % Rtae of t r a n s i t i o n of a l l e l e 1 from on to o f f 85 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 86 while w( i ) <T 87 i f p ( i ) ==0; 88 u =rand ( 1 ) ; 89 time = − 1/ kon∗ log ( u ) ; 90 i f (w( i ) +time ) <= T ; 91 w( i +1)=w( i ) +time ; 92 p ( i +1) =1; 93 e l s e 94 break 95 end 96 i = i +1; 97 e l s e u =rand ( 1 ) ; 98 time= − 1/ koff ∗ log ( u ) ; 99 i f (w( i ) +time ) <T ; 100 w( i +1)=w( i ) +time ; 40
  • 50. 101 p ( i +1) =0; 102 e l s e 103 break 104 end 105 i = i +1; 106 end 107 end 108 data1 = [w; p ] ; 109 data = data1 . ’ ; 110 %time = d a t e s t r (now , ’yyyymmdd HHMMSS’ ) ; 111 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 112 %The below s t a n z a c r e a t e s a t e x t f i l e f o r data 113 %filename1 = s p r i n t f ( ’ i n t e r a r r i v a l t i m e %s . txt ’ , time ) ; 114 filename1 = s p r i n t f ( ’ i n t e r a r r i v a l t i m e a l l e l e 1 . t x t ’ ) ; 115 f i d = fopen ( filename1 , ’ wt ’ ) ; 116 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 117 %The below s t a t e m e n t appends the data as tab d e l i m i t e d with t h r e e decimal 118 %p o i n t p r e c i s i o n 119 dlmwrite ( filename1 , data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p r e c i s i o n ’ , ’%.3 f ’ , ’−append ’ ) ; 120 f c l o s e ( f i d ) ; 121 end 122 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 123 124 f u n c t i o n dx = Equation ( t , x , k ) 125 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 126 %The s t a t u s of the promoter i s s t o r e d in the g l o b a l v a r i a b l e ’ i n i t p m t r ’ 127 %The s t a t u s i s updated f o r every run by c a l l i n g teh f u n c t i o n ’ Promoter ’ 128 s t a t u s = P r o m o t e r a l l e l e 1 ( t ) ; 129 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 130 % Enter the e q ua t io n below 131 dx ( 1 ) = k ( 1 )−k ( 2 ) ∗ ( x ( 1 ) / ( x ( 1 ) +k ( 3 ) ) ) ∗x ( 3 ) ; 132 dx ( 2 ) = ( k ( 4 ) / 2 ) ∗ ( s t a t u s 1 + s t a t u s 2 ) ∗ x ( 1 ) − k ( 5 ) ∗ x ( 2 ) ; 133 dx ( 3 ) = k ( 6 ) ∗ x ( 2 ) − k ( 7 ) ∗ x ( 3 ) ; 134 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 135 %j u s t above the l i n e dx = dx ’ ; 136 dx = dx ’ ;%Do not change 137 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 138 end 41
  • 51. 139 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 140 141 f u n c t i o n p r o m o t e r 1 s t a t u s = P r o m o t e r a l l e l e ( t ) 142 %Do not make any changes to the t h i s f u n c t i o n . 143 144 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 145 % Below f u n c t i o n w i l l check the time and l o c a t e the p o s i i t i o n of time 146 % and a c c o r d i n g l y check the promoter s t a t u s a t t h a t p o s i i t i o n 147 g l o b a l posi ; 148 g l o b a l tn ; 149 g l o b a l r ; 150 i f ( any ( t == tn ) ) ; 151 posi = f i n d ( tn == t ) ; 152 p r o m o t e r 1 s t a t u s 1 = r ( posi ) ; 153 e l s e 154 i f ( tn ( posi )<= t && t <= tn ( posi +1) ) 155 p r o m o t e r 1 s t a t u s 1 = r ( posi ) ; 156 e l s e i f ( t <= tn ( posi ) ) ; 157 posi = posi −1; 158 p r o m o t e r 1 s t a t u s 1 = r ( posi ) ; 159 e l s e 160 posi = posi + 1 ; 161 p r o m o t e r 1 s t a t u s 1 = r ( posi ) ; 162 end 163 end 164 end 165 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 166 167 f u n c t i o n Text ( model , x , k , data ) 168 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 169 %The below s t a n z a c r e a t e s a new f o l d e r with curremt system time 170 time = d a t e s t r (now , ’yyyymmdd HHMMSS ’ ) ; 171 c u r d i r = pwd ; 172 newdir = f u l l f i l e ( c u r d i r , s p r i n t f ( ’%s %s ’ , model , time ) ) ; 173 mkdir ( newdir ) ; 174 cd ( newdir ) ; 175 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 176 %The below s t a n z a c r e a t e s a t e x t f i l e f o r data 177 filename1 = s p r i n t f ( ’ Data %s . t x t ’ , time ) ; 42
  • 52. 178 f i d = fopen ( filename1 , ’ wt ’ ) ; 179 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 180 %The below loop p r i n t s l a b e l to the data 181 182 f p r i n t f ( fid , ’%s t ’ , ’ t ’ ) ; 183 num = l e n g t h ( x ) ; 184 f o r i = 1 : num 185 f p r i n t f ( fid , ’%s%d t ’ , ’x ’ , i ) ; 186 end 187 f p r i n t f ( fid , ’n ’ ) ; 188 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 189 %The below s t a t e m e n t appends the data as tab d e l i m i t e d with t h r e e decimal 190 %p o i n t p r e c i s i o n 191 dlmwrite ( filename1 , data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p r e c i s i o n ’ , ’%.8 f ’ , ’−append ’ ) ; 192 f c l o s e ( f i d ) ; 193 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 194 %The below s t a n z a c r e a t e s a t e x t f i l e with header 195 filename2 = s p r i n t f ( ’ Header %s . t x t ’ , time ) ; 196 f i d = fopen ( filename2 , ’ wt ’ ) ; 197 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 198 %The below loop p r i n t s dashed l i n e to mark the beginning 199 f o r i = 1 : 40 200 f p r i n t f ( fid , ’%c ’ , ’−’ ) ; 201 end 202 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 203 %The below s t a t e m e n t p r i n t s the model name 204 f p r i n t f ( fid , ’nnModel name : %s nn ’ , model ) ; 205 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 206 %The below loop p r i n t s the i n i t i a l c o n d i t i o n s of the s p e c i e s 207 f p r i n t f ( fid , ’ I n i t i a l c o n d i t i o n of the s p e c i e s : n ’ ) ; 208 num = l e n g t h ( x ) ; 209 f o r i = 1 : num 210 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’x ’ , i , x ( i ) ) ; 211 end 212 f p r i n t f ( fid , ’nn ’ ) ; 213 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 214 %The below loop p r i n t s the parameter values 215 f p r i n t f ( fid , ’ Values of the parameters : n ’ ) ; 43
  • 53. 216 num = l e n g t h ( k ) ; 217 f o r i = 1 : num 218 f p r i n t f ( fid , ’%s%d :%.8 f ; ’ , ’k ’ , i , k ( i ) ) ; 219 end 220 f p r i n t f ( fid , ’nn ’ ) ; 221 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 222 %The below loop p r i n t s dashed l i n e to mark the end 223 f o r i = 1 : 40 224 f p r i n t f ( fid , ’%c ’ , ’−’ ) ; 225 end 226 f p r i n t f ( fid , ’n ’ ) ; 227 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 228 %The l o c a t i o n i s r e v e r t e d to the p a r t e n t d i r e c t o r y f o r the next run 229 f c l o s e ( f i d ) ; 230 cd ( c u r d i r ) ; 231 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 232 end 233 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Listing 6.4: Matlab Script for stochastic Simulation with promoter transition using Poisson process. 1 / / Author : Kaushalesh Gupta , Email : kaushalesh . gupta@gmail . com ; 2 Dr . Biplab Bose , Email : biplabbose@gmail . com . 3 / / Date : March 2016. 4 / / This f u n c t i o n used f o r F o u r i e r Transformation . 5 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 6 f u n c t i o n F o u r i e r T r a n s f o r m a t i o n 7 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 8 % to read t e x t f i l e f o r which we want to do f o u r i e r t r a n s f o r m a t i o n 9 % Make changes here 10 M = dlmread ( ’ x1 . t x t ’ ) ; 11 T = M( 2 , 1 )−M( 1 , 1 ) ; 12 Fs = 1/T ; % Sampling frequency 13 [L ,N] = s i z e (M) ; 14 f = Fs∗ ( 0 : ( L / 2 ) ) / L ; 15 Data ( : , 1 ) = f ; 16 % to c a l c u l a t e f o u r i e r t r a n s f o r m of a l l row one by one 17 f o r j =2:N; 18 X=M( : , j ) ; 44
  • 54. 19 % to c a l c u l a t e amplitude 20 Y = f f t (X) ; 21 P2 = abs (Y/ L) ; 22 P1 = P2 ( 1 : L/2+1) ; 23 P1 ( 2 : end −1) = 2∗P1 ( 2 : end −1) ; 24 Data ( : , j ) =P1 ; 25 end 26 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 27 %To save data in t e x t f i l e 28 dlmwrite ( ’ f o u r i e r d a t a . t x t ’ , Data , ’ d e l i m i t e r ’ , ’ t ’ , ’ p r e c i s i o n ’ , ’%.8 f ’ ) ; 29 end Listing 6.5: Matlab Script for Fourier Transformation 45
  • 55. Bibliography [1] BAKKENIST, C. J., AND KASTAN, M. B. Dna damage activates atm through intermolec- ular autophosphorylation and dimer dissociation. Nature 421, 6922 (2003), 499–506. [2] BATCHELOR, E., MOCK, C. S., BHAN, I., LOEWER, A., AND LAHAV, G. Recurrent initiation: a mechanism for triggering p53 pulses in response to dna damage. Molecular cell 30, 3 (2008), 277–289. [3] BOND, G. L., HU, W., BOND, E. E., ROBINS, H., LUTZKER, S. G., ARVA, N. C., BARGONETTI, J., BARTEL, F., TAUBERT, H., WUERL, P., ET AL. A single nucleotide polymorphism in the mdm2 promoter attenuates the p53 tumor suppressor pathway and accelerates tumor formation in humans. Cell 119, 5 (2004), 591–602. [4] COOK, D. L., GERBER, A. N., AND TAPSCOTT, S. J. Modeling stochastic gene ex- pression: implications for haploinsufficiency. Proceedings of the National Academy of Sciences 95, 26 (1998), 15641–15646. [5] FRASER, H. B., HIRSH, A. E., GIAEVER, G., KUMM, J., AND EISEN, M. B. Noise minimization in eukaryotic gene expression. PLoS Biol 2, 6 (2004), e137. [6] HAUPT, Y., MAYA, R., KAZAZ, A., AND OREN, M. Mdm2 promotes the rapid degrada- tion of p53. Nature 387, 6630 (1997), 296–299. [7] KO, M., NAKAUCHI, H., AND TAKAHASHI, N. The dose dependence of glucocorticoid- inducible gene expression results from changes in the number of transcriptionally active templates. The EMBO Journal 9, 9 (1990), 2835. [8] KUBBUTAT, M. H., JONES, S. N., AND VOUSDEN, K. H. Regulation of p53 stability by mdm2. Nature 387, 6630 (1997), 299–303. 46
  • 56. [9] LAHAV, G., ROSENFELD, N., SIGAL, A., GEVA-ZATORSKY, N., LEVINE, A. J., ELOWITZ, M. B., AND ALON, U. Dynamics of the p53-mdm2 feedback loop in in- dividual cells. Nature genetics 36, 2 (2004), 147–150. [10] LAMBERT, J.-C., PASQUIER, F., COTTEL, D., FRIGARD, B., AMOUYEL, P., AND CHARTIER-HARLIN, M.-C. A new polymorphism in the apoe promoter associated with risk of developing alzheimer’s disease. Human molecular genetics 7, 3 (1998), 533–540. [11] LEVINE, A. J. p53, the cellular gatekeeper for growth and division. cell 88, 3 (1997), 323–331. [12] LI, M., BROOKS, C. L., WU-BAER, F., CHEN, D., BAER, R., AND GU, W. Mono- versus polyubiquitination: differential control of p53 fate by mdm2. Science 302, 5652 (2003), 1972–1975. [13] LIU, B., CHENG, Y., ZHANG, B., BIAN, H.-J., AND BAO, J.-K. Polygonatum cyr- tonema lectin induces apoptosis and autophagy in human melanoma a375 cells through a mitochondria-mediated ros–p38–p53 pathway. Cancer letters 275, 1 (2009), 54–60. [14] LOYING, P., MANHAS, J., SEN, S., AND BOSE, B. Autoregulation and heterogeneity in expression of human cripto-1. PloS one 10, 2 (2015), e0116748. [15] LU, X., NANNENGA, B., AND DONEHOWER, L. A. Ppm1d dephosphorylates chk1 and p53 and abrogates cell cycle checkpoints. Genes & development 19, 10 (2005), 1162– 1174. [16] OFIR-ROSENFELD, Y., BOGGS, K., MICHAEL, D., KASTAN, M. B., AND OREN, M. Mdm2 regulates p53 mrna translation through inhibitory interactions with ribosomal pro- tein l26. Molecular cell 32, 2 (2008), 180–189. [17] RAJ, A., AND VAN OUDENAARDEN, A. Nature, nurture, or chance: stochastic gene expression and its consequences. Cell 135, 2 (2008), 216–226. [18] SHIEH, S.-Y., IKEDA, M., TAYA, Y., AND PRIVES, C. Dna damage-induced phospho- rylation of p53 alleviates inhibition by mdm2. Cell 91, 3 (1997), 325–334. 47
  • 57. [19] SHIEH, S.-Y., TAYA, Y., AND PRIVES, C. Dna damage-inducible phosphorylation of p53 at n-terminal sites including a novel site, ser20, requires tetramerization. The EMBO journal 18, 7 (1999), 1815–1823. [20] SINGH, A., RAZOOKY, B. S., DAR, R. D., AND WEINBERGER, L. S. Dynamics of pro- tein noise can distinguish between alternate sources of gene-expression variability. Molec- ular systems biology 8, 1 (2012), 607. [21] STOLOVITZKY, G., MA, L., WAGNER, J., RICE, J. J., WENWEI, H., AND LEVINE, A. A plausible model for the digital response of p53 to dna damage. In APS Meeting Abstracts (2007), vol. 1, p. 35012. 48