Computational
p
Model of
Cyanobacteria KaiC
P t i Circadian
Protein
Ci
di
Oscillations
Jacqueline L. Barnes1, Markus Dittrich, PhD2,
Joel Stiles,
Stiles MD,
MD PhD3 1Bioengineering
& Bioinformatics Summer Institute, Dept. of
C
Computational
t ti
l Bi
Biology,
l
U
University
i
it off Pitt
Pittsburgh
b h 2,3Center
For Quantitative Biological Simulation, Pittsburgh
Supercomputing Center
Center, Carnegie Mellon University
Background
• Cyanobacteria
• Circadian Oscillations
• KaiC System
Cyanobacteria
Background
• Early earth inhabitant (still around
today)
y)
• Produced/
Produced/es
es oxygen in the
atmosphere
• Ancient life form, simple model
Circadian Oscillations
Background
• These internal biochemical clocks allow
organisms
g
to regulate
g
their biological
g
activity with the sunset/sunrise each day.
• This was needed to adjust early life to the
d il activity
daily
ti it off sunlight
li ht ((especially
i ll iin th
the
ocean).
• Usually these oscillations have a 20-22
20 22
hour period.
• Most (other than in primitive life) use
negative feedback of DNA transcription
KaiC
i System Background
• Requires
R
i
only
l K
KaiA,
iA KaiB,
K iB KaiC
K iC proteins,
t i
and
d ATP.
ATP
• Keep in mind: KaiC is phosphorylated by ATP.
KaiA accelerates phosphorylation of KaiC, while
KaiB inhibits this help.
• KaiC is the main focus (and will be the only one
shown in other slides). The rates take into
account overall
phosphorylation/dephosphorylation.
Purpose Of This
Investigation
• Use MCell to model this system using
the differential equations provided
by Emberly and Wingreen’s paper.
• If a successful oscillation is achieved,
achieved
then different aspects of the model
can be manipulated and tested.
tested
Emberly, Eldon, Ned S. Wingreen. Hourglass Model For A
P t i B
Protein-Based
d Circadian
Ci
di
O
Oscillator.
ill t
Physical
Ph i l Review
R i
Letters.
L tt
PRL 96, 038303 (2006).
Methods: Using
i
MCell
MCell is a modeling tool used to
quantitatively explore a system’s
behavior
behavior.
Rather than being a deterministic
approach,
h MCell
MC ll uses stochastic
h i M
Monte
Carlo algorithms, generating more
realistic
li i spontaneity.
i
MCell Values Needed For
The MDL File (in this model)
• Time steps
• Interaction radius
• Molecules involved
• Reactions
R
ti
• Reaction Rates
• Initial release sites
• Output files
Day
Night
i
The Model
KaiC
K iC has
h ttwo phosphorylation
h h l ti sites.
it
Rate of phosphorylation at each site is
α
(alpha).
Rate of dephosphorylation at each site
is
γ (gamma).
MO = Unphosphorylated monomer
MP = One site phosphorylated
M2P = Both sites phosphorylated
MO --2α--> MP
MP --γ-->
> MO
MP --α--> M2P
M2P --2
2γ--> MP
M2P --R-->
R
C144 (first cluster)
MO =
Unphosphorylated
monomer
MP = One site
phosphorylated
M2P = Both sites
phosphorylated
α = rate of
phosphorylation (at
one site)
γ = rate of
p
p y
dephosphorylation
(at one site)
C144 -- γ*(2NoNc)-->
*(2NoNc) > C143
….
C15(Cpmin) -- (NoNc
(N N - Pmin)(Pmin
P i )(P i + 1) * γ -->
> MO
C15 (Cpmin)– (Pmin (Pmin + 1)* γ --> MP
Given Equations
(from Emberly and Wingreen)
dMO (unphosphorylated monomer)/dt =
‐2α [MO] + γ[MP] + (NoNc - Pmin)(Pmin + 1) * γ[CPmin +1]
dMP (one site phosphorylated)/dt =
2α [MO] + 2γ[M2P] ‐ α[MP] ‐ γ[MP] + Pmin (Pmin + 1)* γ[CPmin +1]
dM2P (both sites phosphorylated)/dt =
α[MP] ‐ 2γ[M2P] ‐ NoNc* Β[(m+2P)^No*Of]^Nc
dC2NoNc (first cluster state formed)/dt =
Β[(m+2P)^No*Of]^Nc - 2NoNc*γ[C2NoNc]
dCi (cluster state i)/dt = ‐i γ[C]+ (i + 1) γ[C]
Determine The Input
Needed
• Reactions and rates are already defined
• Interaction radius (I found the diameter of
a KaiC
K iC protein)
t i )
• Molecules involved (list of all monomer
and cluster states that can occur)
• Initial release sites (define these in the
center
ce
e of
o the
e ‘box’,
bo , with the
e specified
spec ed
numbers to release)
• Output files
Write
i the MDL, try iit out
•
•
•
•
•
•
….
•
•
•
•
•
•
….
iterations = 4000
dt = 86.4
halfbox = 0.7115
TIME STEP = dt
TIME_STEP
ITERATIONS = iterations
INTERACTION_RADIUS = 0.005
DEFINE_MOLECULES
{
MO {DIFFUSION_CONSTANT_3D = 3.17e-7}
MP {{DIFFUSION_CONSTANT_3D = 3.17e-7}}
M2P {DIFFUSION_CONSTANT_3D = 3.17e-7}
C144 {DIFFUSION_CONSTANT_3D = 6e-6}
DEFINE_REACTIONS
{
MO -> MP [5.73e-4]:MO_to_MP
[5 73 4] MO t MP
MP -> MO [3.58e-5]:MP_to_MO
MP -> M2P [2.87e-4]:MP_to_M2P
M2P -> MP [7.17e-5]:M2P_to_MP
M2P -> C144 [R]
[R]:M2P_to_C144
M2P t C144
C144 -> C143 [5.16e-3]:C144_to_C143
….
cyanobacterial_cell BOX {
CORNERS = [[-halfbox,-halfbox,-halfbox],[halfbox,halfbox,halfbox]
h lfb
h lfb
h lfb ] [h lfb h lfb h lfb ]
DEFINE_SURFACE_REGIONS{
my_region {
ELEMENT_LIST = [ALL_ELEMENTS]
}
}
}
MO l
MO_release_site
it CUBIC_RELEASE_SITE
CUBIC RELEASE SITE {
LOCATION = [0,0,0]
SITE_RADIUS = 0.7
MOLECULE = MO
NUMBER TO RELEASE = 2100
NUMBER_TO_RELEASE
}
•
MP_release_site CUBIC_RELEASE_SITE {
LOCATION = [0,0,0]
SITE RADIUS = 0.7
SITE_RADIUS
07
MOLECULE = MP
NUMBER_TO_RELEASE = 900
}
….
VIZ_OUTPUT {
MODE = DREAMM_V3
FILENAME = "kaic_oscillation_output.dat.dat”
•
•
•
•
….
• REACTION_DATA_OUTPUT {
•
STEP = dt * 1
•
•
•
•
•
•
•
{COUNT[MO,WORLD]} => react_dir & "MO_sim_output.dat"
{COUNT[MP,WORLD]} => react_dir & "MP_sim_output.dat"
{COUNT[M2P,WORLD]} => react_dir & "M2P_sim_output.dat"
{COUNT[MO,WORLD]} =>"combined_output/" &
"MO_sim_output.dat"
{COUNT[MP,WORLD]} =>"combined_output/" &
MP_sim_output.dat
sim output.dat"
"MP
{COUNT[M2P,WORLD]} =>"combined_output/" &
"M2P_sim_output.dat"
{COUNT[C144,WORLD]} =>"combined_output/" &
"C144 sim output.dat”
Need For A Python Script
(to calculate R)
• Rates that change over time, dependent
on monomer concentrations at each
point
• We developed a Python script that takes
the output with the number of each
monomer, and puts those values into an
equations to calculate the new rate. This
new value
l
is
i putt into
i t the
th nextt checkpoint
h k i t
as the rate.
• This process is done 4000 times,
times at each
iteration.
First Results: Successful
Oscillation
• This model produced an oscillatory
y
system
Understanding
i
The Output
• Each output file contains two columns. The first
lists all the time steps (in seconds). The second
has the number of that molecule present at that
time step.
• By
yp
plotting
g this data on a g
graph,
p we can see
how the number of a certain monomer or cluster
changes through the simulation.
Control Graphs
• Essentially recreating the model
g
paper
p p
described in the original
Number of
Monomers
M2P (both sites phosphorylated)
MP (one site phosphorylated)
MO (unphosphorylated)
Time (s)
C144, C80, and C15 Cluster States
Number
N
b off
each state
Time (s)
Visualize
i
i iin DREAMM
Starting Concentrations
Monomers--Spheres
MO = yellow
MP = red
M2P = green
Clusters--Triangles
C140s to C120s = blue
C110 tto C90
C110s
C90s = tteall
C80s to C60s = green
C50s to C30s = yellow
C20s to C15 = red
M2P Appears
Clusters--Triangles
Clusters
Triangles
Monomers--Spheres
C140s to C120s = blue
MO = yellow
C110s to C90s = teal
MP = red
C80s to C60s = green
M2P = green
C50s to C30s = yellow
C20s to C15 = red
First Clusters
C110s to C90s
Clusters--Triangles
Clusters
Triangles
Monomers--Spheres
C140s to C120s = blue
MO = yellow
C110s to C90s = teal
MP = red
C80s to C60s = bright green
M2P = green
C50s to C30s = yellow
C20s to C15 = red
C80s to C60s
C50s to C30s
Clusters--Triangles
Clusters
Triangles
Monomers--Spheres
C140s to C120s = blue
MO = yellow
C110s to C90s = teal
MP = red
C80s to C60s = green
M2P = green
C50s to C30s = yellow
C20s to C15 = red
C20s to C15
Monomers Again
Clusters--Triangles
C140 tto C120
C140s
C120s = bl
blue
Monomers--Spheres
C110s to C90s = teal
MO = yellow
C80s to C60s = green
MP = red
C50s to C30s = yellow
M2P = green
C20s to C15 = red
Clusters Again
Test Variations Using The
Same Method
• Change the starting ratios of monomers
• Add 5 times more monomers total to start
• Add another monomer at the start of the
simulation
• Bigger
Bi
clusters
l t
(f
(from large
l
N
Nc or No)
N )
• Smaller clusters (from small Nc or No)
• More or less cluster states
• Higher/lower Pmin value
• Can M2P result from cluster break-up?
break up?
Higher
i
Pmin
i
Number
N
b off
each
monomer
Number
N
b off
each
monomer
Time (s)
Control
Time (s)
Test With Higher
g
Pmin Value
Same Number of Cluster States ((130)) But
Starting With Bigger Clusters (240 instead of
144)
Number of
each
monomer
Number of
each
monomer
Time (s)
Control
Time (s)
Test With Bigger Starting
Clusters
Improving
i
These Results
• Much smaller time step run
• Average of 10 runs with different
random number ‘seeds’.
O controll with
Our
i ha
86.4s time step
Number of
each
monomer
Variation with a 0.7s
time step
Number of
each
monomer
Time (s)
Time (s)
2 Seeds (1 and 4) On One
Graph
Time (s)
10 Seeds On One Graph vs.
Control (just
(j
the default
f
seed of 1)
Number of each
monomer
Time (s)
Control
Number of each
monomer
Time (s)
10 seeds on one graph
Simulation
i
i
Conclusions
i
• MCell was successful in modeling
biological
g
oscillatory
y behavior
• The model was took predicted
oscillations from a deterministic
method (the differential equations)
to a stochastic model in MCell.
MCell
More Simulation
Conclusions
• This is a limit system, as predicted by
the paper
• At ~28 hours:
MP
START
Monomers
2100 MO
Continues
here and
starts to loop
MO Monomers
900 MP
Even More Simulation
Conclusions A Few
Conclusions….A
Interesting Results From The
Various Tests
• Oscillation
O ill ti
stabilizer
t bili
d
does nott seem
to be necessary.
• Varying concentrations of anything
does not significantly affect
oscillation.
• Some versions do seem less stable.
Future Research
• This model
• Investigation of oscillatory networks
• Use of MCell in these investigations
• Relevance
R l
to
t other
th biological
bi l i l
oscillators
Acknowledgement
My own investigation was based on the
work of Emberly and Wingreen, cited
below. I used the equations derived and
reaction
ti
rates
t
given
i
from
f
their
th i paper.
Emberly, Eldon, Ned S. Wingreen. Hourglass
Model For A Protein-Based Circadian
Oscillator. Physical Review Letters. PRL
96, 038303 (2006).
Questions/Discussion?
i
i
i
Thank you :)
© Copyright 2026 Paperzz