- Author:
- Shelley Fong <sfon036@UoA.auckland.ac.nz>
- Date:
- 2024-11-13 11:21:47+13:00
- Desc:
- Updating sedml
- Permanent Source URI:
- https://models.physiomeproject.org/workspace/6d7/rawfile/a79973328ed2045baaa637f758b2fdfdc4076631/parameter_finder/kinetic_parameters_LCC.py
## kinetic parameters for the LCC channel, adapted from Pan et al
## in the format of the other channels in the BG library
## hardcode the parameters from Pan's optimisation for ionic permeability and gate variables directly
import numpy as np
def kinetic_parameters(M, include_type2_reactions, dims, V):
num_cols = dims['num_cols']
num_rows = dims['num_rows']
# ## Import IV parameters
x_LCC = 50000 / V['N_A'] * 1e15 # unit fmol
x_LCC = V['numChannels']/V['N_A']*1e15 # unit fmol
# L-type calcium channel
# Load P_GHK (unit pL/s)
# load([storage_dir 'LCC_P_GHK_Ca.mat'])
P_LCC_Ca = 28.247076000000000 # P_GHK_Ca Unit pL/s
# load([storage_dir 'LCC_P_GHK_K.mat'])
P_LCC_K = 0.022204650000000 # P_GHK_K Unit pL/s
# load([storage_dir 'LCC_d_parameters.mat'])
params_d = [0.48676190823203597,
2.1404117552482584,
0.09802386860112802,
-2.1404117552482584
]
# load([storage_dir 'LCC_f_parameters.mat'])
params_f = [0.04688708435236662, 9.60767238499644, 0.9284601827359618, 8.534912099303016, 0.003047491353055938, -2.4856670387239808, 0.045833689404789546, -0.4710148075619314]
# L-type calcium channel
alpha_d0_bg = params_d[0]*1e3 # unit s^-1
beta_d0_bg = params_d[2]*1e3 # unit s^-1
alpha_f1_0_bg = params_f[0]*1e3 # unit s^-1
beta_f1_0_bg = params_f[2]*1e3 # unit s^-1
alpha_f2_0_bg = params_f[4]*1e3 # unit s^-1
beta_f2_0_bg = params_f[6]*1e3 # unit s^-1
K_f3_0 = beta_f1_0_bg*alpha_f2_0_bg/alpha_f1_0_bg/beta_f2_0_bg # dimensionless
rate_f3 = 1e5 # unit s^-1
KmCa = 0.6e-3 # Unit mM
rate_fCa = 1e5 # unit s^-1
kf_LCC = [P_LCC_Ca/x_LCC, # R_GHK_Ca1
P_LCC_Ca/x_LCC, # R_GHK_Ca2
P_LCC_K/x_LCC, # R_GHK_K1
P_LCC_K/x_LCC, # R_GHK_K2
alpha_d0_bg, # Rd000
alpha_d0_bg, # Rd010
alpha_d0_bg, # Rd020
alpha_d0_bg, # Rd001
alpha_d0_bg, # Rd011
alpha_d0_bg, # Rd021
alpha_f1_0_bg, # Rf1_000
alpha_f1_0_bg, # Rf1_100
alpha_f1_0_bg, # Rf1_001
alpha_f1_0_bg, # Rf1_101
alpha_f2_0_bg, # Rf2_000
alpha_f2_0_bg, # Rf2_100
alpha_f2_0_bg, # Rf2_001
alpha_f2_0_bg, # Rf2_101
K_f3_0*rate_f3, # Rf3_010
K_f3_0*rate_f3, # Rf3_110
K_f3_0*rate_f3, # Rf3_011
K_f3_0*rate_f3, # Rf3_111
rate_fCa, # RfCa000
rate_fCa, # RfCa100
rate_fCa, # RfCa010
rate_fCa, # RfCa110
rate_fCa, # RfCa020
rate_fCa] # RfCa120
kr_LCC = [P_LCC_Ca/x_LCC, # R_GHK_Ca1
P_LCC_Ca/x_LCC, # R_GHK_Ca2
P_LCC_K/x_LCC, # R_GHK_K1
P_LCC_K/x_LCC, # R_GHK_K2
beta_d0_bg, # Rd000
beta_d0_bg, # Rd010
beta_d0_bg, # Rd020
beta_d0_bg, # Rd001
beta_d0_bg, # Rd011
beta_d0_bg, # Rd021
beta_f1_0_bg, # Rf1_000
beta_f1_0_bg, # Rf1_100
beta_f1_0_bg, # Rf1_001
beta_f1_0_bg, # Rf1_101
beta_f2_0_bg, # Rf2_000
beta_f2_0_bg, # Rf2_100
beta_f2_0_bg, # Rf2_001
beta_f2_0_bg, # Rf2_101
rate_f3, # Rf3_010
rate_f3, # Rf3_110
rate_f3, # Rf3_011
rate_f3, # Rf3_111
rate_fCa/KmCa, # RfCa000
rate_fCa/KmCa, # RfCa100
rate_fCa/KmCa, # RfCa010
rate_fCa/KmCa, # RfCa110
rate_fCa/KmCa, # RfCa020
rate_fCa/KmCa] # RfCa120
k_kinetic = kf_LCC+kr_LCC
# CONSTRAINTS
N_cT = []
K_C = []
# volume vector
W = list(np.append([1] * num_cols, [V['V_myo'],V['V_o'],V['V_myo'],V['V_o']])) + [1]*(num_rows-4)
return (k_kinetic, [N_cT], K_C, W)