- Author:
- Shelley Fong <s.fong@auckland.ac.nz>
- Date:
- 2021-09-28 16:02:54+13:00
- Desc:
- Updating closed loops in G protein metabolism
- Permanent Source URI:
- https://models.cellml.org/workspace/6cb/rawfile/255e7ddc7ac990eddfd325dda65ee8351061f5db/MATLAB/kinetic_parameters.m
% Gs protein module. From Dupont Sneyd: simple G protein model.
% Gs is associated with B1AR proteins
% Return kinetic parameters, constraints, and vector of volumes in each
% compartment (pL) (1 if gating variable, or in element corresponding to
% kappa)
function [k_kinetic, N_cT, K_C, W] = kinetic_parameters(M, include_type2_reactions, dims, V)
% Set the kinetic rate constants.
% original model had reactions that omitted enzymes as substrates e.g. BARK
% convert unit from 1/s to 1/uM.s by dividing by conc of enzyme
% all reactions were irreversible, made reversible by letting kr ~= 0
num_cols = dims.num_cols;
num_rows = dims.num_rows;
bigNum = 1e3;
fastKineticConstant = bigNum;
smallReverse = fastKineticConstant/(bigNum^2);
c_G = 3.83; % uM
kbindm = fastKineticConstant; % 1/s
kbindp = kbindm / 0.285; % 1/uM.s
kActp = 16/c_G; % 1/uM.s
kActm = smallReverse; % 1/uM.s
kHydp = 0.8; % 1/s
kHydm = smallReverse; % 1/s
kReassocp = 1.21e3; % 1/uM.s
kReassocm = kReassocp/bigNum; % 1/s
% CLOSED LOOP involving G - aGTP - aGDP - G
% use detailed balance to find kReasocm
if true
kReassocm = kActp*kHydp*kReassocp/(kActm*kHydm);
end
k_kinetic = [
kbindp, kActp, kHydp, kReassocp...
kbindm, kActm, kHydm, kReassocm
]';
% CONSTRAINTS
N_cT = zeros(1,size(M,2));
% Reaction BIND: equal portions of L + derivatives (L == LR) **SMALL_ERROR**
N_cT(1,num_cols + 1) = -1;
N_cT(1,num_cols + 4) = 1;
% or LR.G = aGTP.betaGamma
if false
N_cT(2,num_cols + 3) = 1;
N_cT(2,num_cols + 4) = 1;
N_cT(2,num_cols + 5) = -1;
N_cT(2,num_cols + 6) = -1;
end
% [a-GTP] + [a-GDP] = [beta.gamma] **SMALL_ERROR**
if true
N_cT(2,num_cols + 6) = 1; % beta_gamma
N_cT(2,num_cols + 5) = -1; % a_GTP
N_cT(2,num_cols + 7) = -1; % a_GDP
end
% Gibbs free energy of L + R binding **MED_ERROR**
if false
N_cT(1,num_cols + 4) = 1; % RL
N_cT(1,num_cols + 1) = -1; % L
N_cT(1,num_cols + 2) = -1; % R
G_0_bind = -45.1872; % kJ/mol
R = 8.314;
T = 310;
K_bind = exp(G_0_bind/(R*T))*10^6;
K_C = [K_bind];
end
K_C = [1 1];
% volume vector
W = [ones(num_cols,1); V.V_myo*ones(num_rows,1)];
return