%This function implements the basic model of the repressilator, with one of the repression
%stages being replaced with mRNA inhibition. The cI coding sequence is under control of
%a tetR promoter region. This model assumes that tetR is being constitutively produced in
%the cell, and the active amount can be externally controlled via the addition of aTc.
%the cI then regulated the production of lacI (which is under the control of a cI promoter).
%LacI controls the rate of production of our anti-sense RNA (asRNA) through the lacI
%promoter region. The asRNA then regulates the translation rate of cI transcripts by binding
%the transcripts over the RBS and start codon. We assume that all cI_RNA/asRNA pairs do
%are degraded before they are able to dissociate.


function dydt = repressilator_physical(t, y, k_RNAi)

%set the amount of free tetR in the cell (ie the number that are not bound by aTc)
protein_tetR=100;

%store the state variables under more meaningful names
mRNA_cI = y(1);
mRNA_lacI = y(2);
mRNA_asRNA = y(3);
protein_cI = y(4);
protein_lacI = y(5);

%set the max transcription rate in transcripts per second
%(taken from the Elowitz Repressilator paper)

k_transcription_cI = 0.5;
k_transcription_lacI = 0.5;
k_transcription_asRNA = 0.5;

%set the leakage transcription rate (ie transcription rate if promoter region bound
%by repressor) in transcripts per second
%(taken from the Elowitz Repressilator paper)

k_transcription_leakage_cI = 5e-4;
k_transcription_leakage_lacI = 5e-4;
k_transcription_leakage_asRNA = 5e-4;

%Set the mRNA and protein degradation rates (per second)
%(taken from the Elowitz Repressilator paper)

mRNA_half_life = 120;         % in seconds
k_mRNA_degradation = log(2)/mRNA_half_life;
protein_half_life = 600;      % in seconds
k_protein_degradation = log(2)/protein_half_life;

translation_efficiency = 20;  % proteins per transcript lifespan
average_mRNA_lifespan = 1/k_mRNA_degradation;                 % in seconds
k_translation = translation_efficiency/average_mRNA_lifespan; % proteins per transcript per sec

%set the Hill coefficients of the repressors
%(taken from the Elowitz Repressilator paper)

n_tetR = 2;
n_cI = 2;
n_lacI = 2;

%set the dissociation constant for the repressors to their target promoters
%in per molecule per second
%(taken from the Elowitz Repressilator paper)

KM_tetR = 40;
KM_cI = 40;
KM_lacI = 40;

%the differential equations governing the state variables:
%transcription given repressor concentration - mRNA degradation + transcription
%leakage - mRNA/asRNA binding

dydt(1,:) = k_transcription_cI/(1 + (protein_tetR / KM_tetR)^n_tetR) - k_mRNA_degradation*mRNA_cI + k_transcription_leakage_cI - k_RNAi*y(3)*y(1);
dydt(2,:) = k_transcription_lacI/(1 + (protein_cI / KM_cI)^n_cI)- k_mRNA_degradation*mRNA_lacI + k_transcription_leakage_lacI;
dydt(3,:) = k_transcription_asRNA/(1 + (protein_lacI / KM_lacI)^n_lacI) - k_mRNA_degradation*mRNA_asRNA + k_transcription_leakage_asRNA - k_RNAi*y(3)*y(1);
%translation - protein degradation
dydt(4,:) = k_translation*mRNA_cI - k_protein_degradation*protein_cI;
dydt(5,:) = k_translation*mRNA_lacI - k_protein_degradation*protein_lacI;

Back to index