Modelling bacteria-mediated siRNA knockdown in plants.
We estimated the induction time of siRNA production using a heat-inducible dnaK promoter.
In E. coli, dnaK promoter activity rises steeply within 5–20 minutes after a heat shock of 42–45°C
(PMC107371).
In our model, the promoter activation is captured by a sigmoidal function (T50 = 37°C, k_T = 1.5)
to approximate partial activation at 40°C, reflecting realistic induction dynamics.
alpha) in our model.
k_up), and release from bacteria is
captured by k_rel. Encapsulation and transport efficiencies are estimated from analogous studies using
synthetic and lipid nanoparticles (PMC7314522).
gamma_sb), the rhizosphere (gamma_sr), and plant cells (gamma_sp).
Intracellular siRNA in plant cells can be stable from hours to days, and long-term RNAi silencing may persist for weeks
(PMC7108305).
In our first figure, we can look at siRNA pools over time in response to heat treatment (red). The siRNA inside the bacteria (S_b; blue), siRNA in the soil around the roots (S_r; green), and the siRNA inside the plant (S_p; magenta). We observe that when temperature rises, such as in a heat wave, the heat-inducible promoter (dnaK) turns on. This makes the bacteria start producing siRNA. First, the siRNA builds up inside the bacteria. Then, it gets released into the soil and is taken up by the plant roots. Once the heat wave is over and temperatures return to normal, siRNA levels rapidly decrease.
function promoter_siRNA_knockdown
% Parameters
p.alpha = 10.0; % max siRNA production (a.u./min)
p.T50 = 37.0; % midpoint temperature (°C)
p.k_T = 1.5; % steepness for activation
p.gamma_sb = 0.01; % bacterial siRNA degradation
p.k_rel = 0.05; % release rate
p.gamma_sr = 0.02; % rhizosphere decay
p.k_up = 0.02; % uptake into plant
p.gamma_sp = 0.05; % plant siRNA decay
p.r_m = 1.0; % target mRNA transcription
p.gamma_m = 0.01; % target mRNA degradation
p.k_sil = 0.8; % max silencing rate
p.K = 5.0; % siRNA saturation constant
% Time span (minutes)
tspan = [0 2000];
% Initial conditions
M0 = p.r_m / p.gamma_m;
y0 = [0 0 0 M0]; % [S_b, S_r, S_p, M]
% Solve ODEs
[t, y] = ode45(@(t,y) odesys(t,y,p), tspan, y0);
S_b = y(:,1);
S_r = y(:,2);
S_p = y(:,3);
M = y(:,4);
kd = 100*(1 - M/M0);
% Temperature profile
T = temperature_profile(t);
% --- Plot results ---
figure;
yyaxis left
plot(t/60, T, 'r', 'LineWidth', 2);
ylabel('Temperature (°C)');
yyaxis right
plot(t/60, S_b, 'b', t/60, S_r, 'g', t/60, S_p, 'm', 'LineWidth', 1.5);
ylabel('siRNA (a.u.)');
xlabel('Time (hours)');
legend('Temp','S_b','S_r','S_p');
title('siRNA pools over time');
figure;
plot(t/60, M, 'k', 'LineWidth', 1.5); hold on;
yline(M0, '--');
xlabel('Time (hours)');
ylabel('Target mRNA (a.u.)');
title('Plant target mRNA dynamics');
figure;
plot(t/60, kd, 'c', 'LineWidth', 1.5);
xlabel('Time (hours)');
ylabel('Knockdown (%)');
title('Percent knockdown of target mRNA');
end
% --- ODE system ---
function dydt = odesys(t, y, p)
S_b = y(1); S_r = y(2); S_p = y(3); M = y(4);
T = temperature_profile(t);
A = activation(T, p.T50, p.k_T);
dSb = p.alpha*A - p.gamma_sb*S_b - p.k_rel*S_b;
dSr = p.k_rel*S_b - p.gamma_sr*S_r - p.k_up*S_r;
dSp = p.k_up*S_r - p.gamma_sp*S_p;
silencing = p.k_sil * (S_p/(p.K+S_p)) * M;
dM = p.r_m - p.gamma_m*M - silencing;
dydt = [dSb; dSr; dSp; dM];
end
% --- Activation function ---
function A = activation(T, T50, k_T)
A = 1.0 ./ (1.0 + exp(-(T - T50)/k_T));
end
% --- Temperature profile ---
function T = temperature_profile(t)
T = 25*ones(size(t)); % baseline 25°C
T(t >= 300 & t <= 900) = 40.0; % heat wave
end