Location: BG_NCX @ da8ac256d121 / parameter_finder / kinetic_parameters_NCX.py

Author:
Shelley Fong <sfon036@UoA.auckland.ac.nz>
Date:
2024-11-08 12:11:28+13:00
Desc:
Adding exposure files
Permanent Source URI:
https://models.physiomeproject.org/workspace/828/rawfile/da8ac256d12197076149c38f8681b66339077330/parameter_finder/kinetic_parameters_NCX.py

# fast Na module

# 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']

    # load gate transition parameters - with updated params found from actual used volumes
    params = [323.2592297817289,	6.911447298392656,	4.113516627678789E7,	0.13419021047464114,
              469173.29229603236,	2528149.5534127243,	3413.9776277285114,	51.22860832366725,	0.02218888189756564,
              1425.9123082882184,	-0.556790119918188] # original Pan
    params = [370.328903593437,	18.8602822628204,	72578052.5394232,	0.400073619931864,	1289852.37227604,
              2356108.60994548,	45516.9924334909,	18.7787311137038,	0.112995480828711,	4275.19393026393,
              -0.556864130959396] # Kernik cell of vol=3.71 pL
    params = [33.88389500174221,	0.88760482250967,	1.2243575371188797E8,	0.056474828763463936,
              3675996.9359448263,	3.34679170881807E7,	958.0639582039124,	399.03604766483835,
              0.06482563708742461,	35697.79246249781,	-0.556873748348377] # LRd cell of 34.4 pL
    kappa_fast = 1e6
    kappa_3 = params[0]
    kappa_6 = params[1]
    K_1 = params[2]
    K_2 = params[3]
    K_3 = params[4]
    K_4 = params[5]
    K_5 = params[6]
    K_6 = params[7]

    K_Nai = V['V_myo'] * params[8]
    K_Cai = V['V_myo'] * params[9]
    K_Nae = K_Nai
    K_Cae = K_Cai

    Delta_NCX = params[10]

    kf_NCX = [kappa_fast * K_1,    
        kappa_fast * K_2 * K_Cai,
        kappa_3 * K_3,    
        kappa_fast * K_4,
        kappa_fast * K_5 * pow(K_Nae,3),
        kappa_6 * K_6]
    
    kr_NCX = [kappa_fast * K_2 * pow(K_Nai,3),
        kappa_fast * K_3,
        kappa_3 * K_4,
        kappa_fast * K_5 * K_Cae,
        kappa_fast * K_6,
        kappa_6 * K_1]

    k_kinetic = kf_NCX + kr_NCX

    # CONSTRAINTS
    N_cT = []
    K_C = []

    # volume vector
    # W = list(np.append([1] * num_cols, [V['V_myo']] * num_rows))
    W = [1] * num_cols + [1] * 6 + [V['V_myo'], V['V_myo'], V['V_o'], V['V_o']]

    return (k_kinetic, N_cT, K_C, W)