Commit 4fb03f3d authored by Turnhout, M.C. van's avatar Turnhout, M.C. van
Browse files

implement FRET pair

parent 344a3a5f
Pipeline #5438 canceled with stages
clear all; close all;
% fluorophore rate constants:
% donor
kf = 0.03; % decay from S1 to S0 with fluorescence emission [1/ns/S1]
kn = 0.05; % decay from S1 to S0 without emission [1/ns/S1]
kx = 0.02; % intersystem crossing from S1 to T1 [1/ns/S1]
kF = 0.02; % FRET donations [1/ns/S1]
kp = 1e-4; % decay from T1 to S0 with phosphorescence emission [1/ns/T1]
kN = 1e-4; % decay from T1 to S0 without emission [1/ns/T1]
kb = 1e-5; % bleach rate in T1 [1/ns/T1]
ks = .08; % decay from S2 to S1 [1/ns/S2]
kX = .08; % intersystem crossing to T2 [1/ns/S2]
kS = 1e-4; % decay from T2 to S1 [1/ns/T2]
kB = 1e-5; % bleach rate in T2 [1/ns/T2]
P(1, :) = [kf, kn, kx, kF, kp, kN, kb, ks, kX, kS, kB];
% acceptor
kf = 0.3; % decay from S1 to S0 with fluorescence emission [1/ns/S1]
kn = 0.5; % decay from S1 to S0 without emission [1/ns/S1]
kx = 0.2; % intersystem crossing to T1 [1/ns/S1]
kp = 1e-3; % decay from T1 to S0 with phosphorescence emission [1/ns/T1]
kN = 1e-3; % decay from T1 to S0 without emission [1/ns/T1]
kb = 1e-4; % bleach rate in T1 [1/ns/T1]
P(2, 1:6) = [kf, kn, kx, kp, kN, kb];
% constant excitation by light source
E = zeros(100, 1);
E(1:100, 1) = 1000;
[D, Y, A] = rate_getpop(E, P);
figure
plot(D(:, [1 3]))
legend('donor S1', 'donor T1')
% figure
% plot(D(:, [2 4]))
% legend('donor S2', 'donor T2')
figure
plot(Y(:, 1))
legend('donor fluorescence')
figure
plot(Y(:, 2))
legend('donor phosphorescence')
figure
plot(Y(:, 3))
legend('donor bleaching')
figure
plot(A(:, [1 1]))
legend('acceptor S1', 'acceptor T1')
figure
plot(Y(:, 4))
legend('acceptor fluorescence')
figure
plot(Y(:, 5))
legend('acceptor phosphorescence')
figure
plot(Y(:, 6))
legend('acceptor bleaching')
function [D, Y, A] = rate_getpop(E, P, Di)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
% P = [PD; PA]
% PD = [kf, kn, kx, kF, kp, kN, kb, ks, kX, kS, kB]
% PA = [kf, kn, kx, kp, kN, kb]
%
% D = [S1 S2 T1 T2]
% Y = [YD, YA]
% Y = [fluo, phos, bleach, fluo, phos, bleach]
% A = [S1 T1]
if nargout == 3
if size(E, 2) ~= 4, E(end, 4) = 0; end % no direct excitation of acceptor
if size(P, 1) == 1, P(2, :) = P(1, :); end % copy donor properties
% allocate yield
Y = zeros(size(E, 1), 6);
else
if size(E, 2) ~=2, E(end, 2) = 0; end % no T2 excitation
% allocate yield
Y = zeros(size(E, 1), 3);
end
P(1, 7)
% fill P with defaults
if size(P, 2) < 7
P(1, 7) = 0;
elseif size(P, 2) < 11
P(1, 11) = 0;
end
% allocate populations
D = zeros(size(E, 1), 4);
A = zeros(size(E, 1), 2);
if nargin == 3
% insert initial donor state
D(1:size(Di, 2)) = Di(1, :);
if size(Di, 1) > 1
% insert initial acceptor state
A(1:size(Di, 2)) = Di(2, :);
end
end
% get parameters from P for easier handling
% donor
Df = P(1, 1);
Dn = P(1, 2);
Dx = P(1, 3);
DF = P(1, 4);
Dp = P(1, 5);
DN = P(1, 6);
Db = P(1, 7);
if size(P, 1) == 11
Ds = P(1, 8);
DX = P(1, 9);
DS = P(1, 10);
DB = P(1, 11);
else
Ds = 0;
DX = 0;
DS = 0;
DB = 0;
end
% acceptor
Af = P(2, 1);
An = P(2, 2);
Ax = P(2, 3);
Ap = P(2, 4);
AN = P(2, 5);
Ab = P(2, 6);
% gwaan!
for t = 2:size(E, 1)
% donor fluorescence yield from S1
Y(t, 1) = Df*D(t-1, 1);
% donor phosphorescence yield from T1
Y(t, 2) = Dp*D(t-1, 3);
% donor bleaching from T1
Y(t, 3) = Db*D(t-1, 3);
% donor S1
D(t, 1) = D(t-1, 1) ... % previous amount +/- changes
+ E(t, 1) + Ds*D(t-1, 2) + DS*D(t-1, 4) ... % incomming: excitation from S0, decay from S2, decay from T2
- Dn*D(t-1, 1) - Df*D(t-1, 1) - Dx*D(t-1, 1) - DF*D(t-1, 1);
% outgoing: decay to S0, fluorescence, decay to T1, FRET
% donor S2
D(t, 2) = D(t-1, 2) ... % previous amount +/- changes
+ E(t, 2) ... % incomming: excitation from S0
- Ds*D(t-1, 2) - DX*D(t-1, 2); % outgoing: decay to S1, decay to T2
% donor T1
D(t, 3) = D(t-1, 3) ... % previous amount +/- changes
+ Dx*D(t-1, 1) ... % incomming: decay from S1
- DN*D(t-1, 3) - Dp*D(t-1, 3) - Db*D(t-1, 3); % outgoing:
% decay to S0, phosphorescence, bleaching
% donor T2
D(t, 4) = D(t-1, 4) ... % previous amount +/- changes
+ DX*D(t-1, 2) ... % incomming: decay from S2
- DS*D(t-1, 4)- DB*D(t-1, 4); % outgoing: decay to S1, bleaching
if size(P, 1) > 1
% acceptor fluorescence yield from S1
Y(t, 4) = Af*A(t-1, 1);
% acceptor phosphorescence yield from T1
Y(t, 5) = Ap*A(t-1, 2);
% acceptor bleaching from T1
Y(t, 6) = Ab*A(t-1, 2);
% acceptor S1
A(t, 1) = A(t-1, 1) ... % previous amount +/- changes
+ E(t, 3) + DF*D(t-1, 1) ... % incomming: direct excitation, and excitation by FRET, from the donors S1
- An*A(t-1, 1) - Af*A(t-1, 1) - Ax*A(t-1, 1);
% outgoing: decay to S0, fluorescence, decay to T
% acceptor T1
A(t, 2) = A(t-1, 2) ... % previous amount +/- changes
+ Ax*A(t-1, 1) ... % incomming: decay from S1
- AN*A(t-1, 2) - Ap*A(t-1, 2) - Ab*A(t-1, 2); % outgoing:
% decay to S0, phosphorescence, bleaching
end
end
% part of ratelab: https://gitlab.tue.nl/stem/ratelab
end
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment