Location: BG_SERCA @ 5a68fec19ca9 / parameter_finder / kinetic_parameters_SERCA.py

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2021-11-08 08:51:14+13:00
Desc:
Moving gate states to local comp only
Permanent Source URI:
https://models.cellml.org/workspace/7a5/rawfile/5a68fec19ca96cc9f576d39aba6b31de61e2d3bf/parameter_finder/kinetic_parameters_SERCA.py

import math
import numpy as np

def kinetic_parameters(M, km, 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)