- Author:
- Shelley Fong <s.fong@auckland.ac.nz>
- Date:
- 2022-04-20 10:32:46+12:00
- Desc:
- Fixing number of gate particles and storing in comp environment
- Permanent Source URI:
- https://models.cellml.org/workspace/82d/rawfile/9a1497e69cab852bcf13040237c3c9a34c46da4b/parameter_finder/kinetic_parameters_Ks.py
# Ks module, translated from Kernik 19
# Return kinetic parameters, constraints, and vector of volumes in each
# compartment (pL) (1 if gating variable, or in element corresponding to
# kappa)
# Translated from Pan 2018 cardiac AP
import numpy as np
def kinetic_parameters(M, include_type2_reactions, dims, V):
# Set the kinetic rate constants
num_cols = dims['num_cols']
num_rows = dims['num_rows']
# constants are stored in V
F = V['F']
R = V['R']
T = V['T']
N_A = V['N_A']
G_GHK = 4.148559068672240e-10 # G_GHK [=] mA/mM
P_ks = G_GHK/F * 1e12 # Unit pL/s .
x_Ks_channel = 3000/N_A*1e15
x_Ks_channel = V['numChannels']/N_A*1e15 # unit fmol
# load gate transition parameters
params_xs = [0.00116560000000183, 0.000400323747581994, 0.000326899999998023, -1.41544821457997]
alpha_xs = params_xs[0] # unit s ^ -1
beta_xs = params_xs[2] # unit s ^ -1
# Calculate bond graph constants from kinetic parameters
# Note: units of kappa are fmol/s, units of K are fmol^-1
# gate particle is squared, so there are 4 reactions
kf_Ks = [P_ks / x_Ks_channel, # R_GHK
alpha_xs, # Rx1_0
alpha_xs, # Rx1_1
alpha_xs, # Rx2_0
alpha_xs] # Rx2_1
kr_Ks = [P_ks / x_Ks_channel, # R_GHK
beta_xs, # Rx1_0
beta_xs, # Rx1_1
beta_xs, # Rx2_0
beta_xs] # Rx2_1
k_kinetic = kf_Ks + kr_Ks
# CONSTRAINTS
N_cT = []
K_C = []
# volume vector
# W = list(np.append([1] * num_cols, [V['V_myo']] * num_rows))
W = [1] * num_cols + [V['V_myo'], V['V_o']] + [1] * (num_rows-2)
return (k_kinetic, N_cT, K_C, W)