Intro and references

Nanocompartments proteins and promoters

ΔVP1

There is no Uniprot reference exactly for this protein, here is the similar wild type protein:
P49302 (VP1_POVMP)
Promoter used:
Gal1

VP2C-GFP

P12908 (VP2_POVMC)
Promoter used:
Gal10

Constants references

Some of the constants were taken from the SPARKLE project, supplementarty table 1.

Model: constitutive gene expression

Screenshot_20220904_130005.png

Gal1

Define model constants

p.CN = 1; % initial number of plasmids
% TODO: how to +- calculate it from the lab protocol?
 
p.d1 = 0.042116; % mRNA degradation rate
p.d2 = 0.02; % protein degradation rate
p.k2 = 1.4514; % translation rate
p.k1 = 10.22731087; % transcription rate

Define simulation parameters

tfin = 60*6;
step = 0.1;
tspan = 0:step:tfin-step;

Run the simulation

opti = odeset('AbsTol', 1e-8, 'RelTol', 1e-6);
 
Init = [0 0];
 
[t0, x0] = ode23t(@(t, x) model_const(t, x, p), tspan, Init, opti);

Plot the results

plot(t0, x0);
title('Gal1')
legend('mRNA', 'protein')
legend('location', 'eastoutside')
xlabel('Time (min)');
ylabel('Number of molecules')

Gal10

gal1 = x0(:, 2)
gal1 = 3600×1
104 ×
0 0.0000 0.0000 0.0001 0.0001 0.0002 0.0003 0.0004 0.0005 0.0006
basal_gal10 = 80 / 90 * max(gal1) % reverse engineered
basal_gal10 = 1.5642e+04

Define model constants

p.CN = 1; % initial number of plasmids
% TODO: how to +- calculate it from the lab protocol?
 
p.d1 = p.d1; % mRNA degradation rate
p.d2 = p.d2; % protein degradation rate
p.k2 = p.k2; % translation rate
p.k1 = p.k1 * (200 - 80) / 90; % transcription rate, reverse engineered

Define simulation parameters

tfin = 60*6;
step = 0.1;
tspan = 0:step:tfin-step;

Run the simulation

opti = odeset('AbsTol', 1e-8, 'RelTol', 1e-6);
 
Init = [0 0];
 
[t1, x1] = ode23t(@(t, x) model_const(t, x, p), tspan, Init, opti);

Plot the results

plot(t1, x1);
title('Gal10')
legend('mRNA', 'protein')
legend('location', 'eastoutside')
xlabel('Time (min)');
ylabel('Number of molecules')

Plot Gal1 and Gal 10 to adjust constants

gal10 = x1(:, 2)
gal10 = 3600×1
104 ×
0 0.0000 0.0000 0.0001 0.0002 0.0002 0.0004 0.0005 0.0006 0.0008
figure(1)
plot(t0, gal1, t1, gal10 + basal_gal10)
set(gcf,'Position',[200 200 1000 1000])
 
title('Nanocompartments proteins expression model')
 
legend('ΔVP1 (under GAL1)', 'VP2C-GFP (under GAL10)')
legend('location', 'eastoutside')
 
xlabel('Time (min)');
ylabel('Number of molecules')
 

Discussion

WARNING: not actual
Model is quite adequate, but protein degradation constant is still neeeded (I couldn't find it). We can reverse engineer the only missing constant, using aticle about nanocompartments (actually, model is already close to the experimental data).
function [dxdt] = model_const(t, x, p)
dxdt(1,1) = p.CN*p.k1-p.d1*x(1);
dxdt(2,1) = p.k2*x(1)-p.d2*x(2);
end