Location: BG_Ks @ 6ca9cbf971a3 / parameter_finder / kinetic_parameters_Ks_Clancy01.py

Author:
Shelley Fong <sfon036@UoA.auckland.ac.nz>
Date:
2024-11-12 11:16:41+13:00
Desc:
Updating cellml and sedml
Permanent Source URI:
https://models.physiomeproject.org/workspace/82d/rawfile/6ca9cbf971a30a2b5d74e93b0f3cdc816b065680/parameter_finder/kinetic_parameters_Ks_Clancy01.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']

    G_GHK = 8.633865763157799e-09    # G_GHK [=] mA/mM
    P_ks = G_GHK/F * 1e12 # Unit pL/s .
    x_Ks_channel = (30833/1)/N_A*1e15 # fmol. From inferring whole cell conductance (Clancy) against single cell (3 Ps, Chinn)
    x_Ks_channel = (10e5*30833/70)/N_A*1e15 # fmol. From inferring whole cell conductance (Clancy) against single cell (3 Ps, Chinn)
    x_Ks_channel = 1.63E+6/N_A*1e15

    # load gate transition parameters
    params_xs1 = [1.4553735686818794,	0.7139137911117777,	1.4406316908249004,	-0.48710409409640176]
    params_xs2 = [0.3348069123572211,	0.7798495649896808,	0.3176442832555819,	-0.518794842790217]
    alpha_xs1 = params_xs1[0] # unit    s ^ -1
    beta_xs1 = params_xs1[2] # unit    s ^ -1

    alpha_xs2 = params_xs2[0] # unit    s ^ -1
    beta_xs2 = params_xs2[2] # unit    s ^ -1

    # Calculate bond graph constants from kinetic parameters
    # Note: units of kappa are fmol/s, units of K are fmol^-1

    kf_Ks = [P_ks / x_Ks_channel,     # R_GHK
    alpha_xs1,     # Rx1_0
    alpha_xs1,     # Rx1_1
    alpha_xs2,     # Rx2_0
    alpha_xs2] # Rx2_1

    kr_Ks = [P_ks / x_Ks_channel,     # R_GHK
    beta_xs1,     # Rx1_0
    beta_xs1,     # Rx1_1
    beta_xs2,     # Rx2_0
    beta_xs2] # Rx2_1


    k_kinetic = kf_Ks + kr_Ks

    # CONSTRAINTS
    N_cT = []
    K_C = []

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

    return (k_kinetic, N_cT, K_C, W)