- Author:
- Shelley Fong <sfon036@UoA.auckland.ac.nz>
- Date:
- 2022-06-13 10:45:56+12:00
- Desc:
- Adding odes for gates
- Permanent Source URI:
- https://models.physiomeproject.org/workspace/7a5/rawfile/9d5e55d62fe4dc048db9e1d7420c76ecdb6ba940/parameter_finder/kinetic_parameters_SERCA.py
import math
import numpy as np
def kinetic_parameters(M, include_type2_reactions, dims, V):
# R1-2
k_12p = 25900
# R2-4
K_dCai = 0.91
k_24m = 259e8
k_24p = k_24m/pow(K_dCai,2)
# R2-2a
K_dH1 = 1.09e-5
k_22am = 259e8
k_22ap = k_22am/K_dH1
# R4-5
K_dHi = 3.54e-3
k_45p = 259e8
k_45m = k_45p/K_dHi
# R5-6
k_56p = 2540
k_56m = 67200
# R6-8
K_dCasr = 2.24
k_68m = 259e8
k_68p = k_68m*pow(K_dCasr,2)
# R8-9
K_dHsr = 1.05e-8
k_89m = 259e8
k_89p = k_89m/K_dHsr
# R9-10
K_dH = 7.24e-5
k_910p = 259e8
k_910m = k_910p/K_dH
# R10-1
k_101p = 20.5
k_101m = 149
G_0_MgATP = 11900
R = 8.314
T = 310
K_MgATP = math.exp(-G_0_MgATP/(R*T))*pow(10,6)
# Calculate remaining parameter using detailed balance
k_12m = (k_12p*k_24p*k_45p*k_56p*k_68p*k_89p*k_910p*k_101p)/(k_24m*k_45m*k_56m*k_68m*k_89m*k_910m*k_101m*K_MgATP)
## Calculate bond graph constants from kinetic parameters
# Note: units of kappa are fmol/s, units of K are fmol^-1
K_C = [K_MgATP, 1]
k = [k_12p, k_24p, k_22ap, k_45p, k_56p, k_68p, k_89p, k_910p, k_101p, k_12m, k_24m, k_22am, k_45m, k_56m, k_68m, k_89m, k_910m, k_101m]
# constraints
N_cT = np.zeros([2,len(M[0])])
# Add constraint for MgATP hydrolysis
N_cT[0][21] = 1
N_cT[0][22] = -1
N_cT[0][23] = -1
N_cT[0][18] = -1
# Add constraint for calcium transport
N_cT[1][19] = 1
N_cT[1][20] = -1
W = [1]*18 + [ V['V_ISR'], V['V_myo'], V['V_SR'], V['V_myo'], V['V_myo'], V['V_myo']]
return (k, N_cT, K_C, W)