Location: BG_NCX @ 8329c81d5a38 / parameter_finder / kinetic_parameters_NCX.py

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2022-04-14 15:37:18+12:00
Desc:
Scaling number of gating variables by new SA
Permanent Source URI:
https://models.physiomeproject.org/workspace/828/rawfile/8329c81d5a3859fd4716f3429d791a061b916a3d/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]
    params = [370.328903593437,	18.8602822628204,	72578052.5394232,	0.400073619931864,	1289852.37227604,	2356108.60994548,	45516.9924334909,	18.7787311137038,	0.112995480828711,	4275.19393026393,	-0.556864130959396]
    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)