KMC-KaiC Code
Kinetic Monte Carlo simulation of the in-vitro Kai Circadian clock
Status: Beta
Brought to you by:
jpaijmans
Introduction
---------
This code is a dedicated Kinetic Monte Carlo (KMC) algorithm
which simulates a model of the post-translational Kai circadian clock.
The code allows you to simulate the Kai system at the level of individual
KaiC hexamers and monomers and explicitly tracks the turnover of every ATP
nucleotide. This way, all the reaction rates in the simulation strictly obay
detailed balance.
The application of the code is described in the freely available preprint "A Thermodynamically consistent model of the post-translational Kai circadian clock":
https://arxiv.org/abs/1612.02715
The code is free for scientific use. Please contact us if you plan to use this software for commercial purposes. Do not further distribute without prior permission of the authors. Please forward links to related publications so we can learn about your research.
Installation
----------
Extract the content of this archive in a new directory.
The simulation code is written in C++. Therefore, running the code requires installation of a C++ compiler. On a typical linux sistribution, type
make
to compile and chmod 744 KMCKaiC to make the program executable under linux, then
./KMCKaiC [parameter_file]
to run. (Assumes 'default.par' when no file is specified).
Results
----------
The program will output three files, named test.dat, Atest1.dat and Itest1.dat
containing time traces of inportant quantaties in the simulations, specified below.
In test.dat, the quantaties are averaged over all hexamers,
in Atest.dat, the quantaties are averaged over all active hexamers
and in Itest.dat, the quantaties are averaged over all inactive hexamers.
The ouput files will contain 23 columns, with the following quantaties
01 - Time
02 - Phosphorylation level
03 - Concentration of free KaiA
04 - Fraction of total KaiA sequestered by CI domain
05 - Fraction of total KaiA sequestered by CII domain
06 - Total KaiA fraction (should be constant).
07 - Mean number of ATP nucleotides bound to the CI domain, per hexamer.
08 - Mean number of ATP nucleotides bound to the CII domain, per hexamer.
09 - Mean number of phosphorylated threonine sites, per hexamer.
10 - Mean number of phosphorylated serine sites, per hexamer.
11 - Mean number of monomers in the unphosphorylated (U) state, per hexamer.
12 - Mean number of monomers in the threonine phosphorylated (T) state, per hexamer.
13 - Mean number of monomers in the doubly (D) state, per hexamer.
14 - Mean number of monomers in the serine phosphorylated (S) state, per hexamer.
15 - Total ATP nuceotides consumed on CI domain, per monomer.
16 - ATP consumption rate on CI domain, per monomer per 24 hours.
17 - Total ATP nuceotides consumed on CII domain, per monomer.
18 - ATP consumption rate on CII domain, per monomer per 24 hours.
19 - Mean rate for switching from active to inactive state.
20 - Mean on-rate fo KaiA binding to CII domain.
21 - Mean ADP dissociation rate from the CI domain.
22 - Fraction of hexamers in the active state.
23 - Fraction of hexamers who have the maximal number of KaiB monomers bound on CI,
without having KaiA sequestered on CI.
Reproduce manuscript figures
----------
In the spirit of transparency and reproducibility, we include all code used to produce the results in the preprint referenced above, including code used to plot the figures. To reproduce the results, one should run the scripts listed in the Figures subdirectory. How to run the
scripts for each figure is explained in the README inside the Figures directory.
License
----------
Copyright (c) 2017 Joris Paijmans <joris.paijmans@planet.nl>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.