Location: Funny current channel knowledge page @ 3750deed6e38 / parameter_finder / kinetic_parameters_funny.py

Author:
Shelley Fong <sfon036@UoA.auckland.ac.nz>
Date:
2024-08-19 14:20:55+12:00
Desc:
Changing rdf link
Permanent Source URI:
https://models.physiomeproject.org/workspace/b8b/rawfile/3750deed6e3853e3a563bf0b3833bbe59a16de5e/parameter_finder/kinetic_parameters_funny.py

# funny module, translated from Kernik19

# 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_Na = 8.167940775713335e-10    # Unit mA/mM
    G_GHK_K = 2.366168724266607e-09    # Unit mA/mM
    P_f_Na = G_GHK_Na/F * 1e12 # Unit pL/s . G_GHK [=] Amp/(mol/s)
    P_f_K = G_GHK_K/F * 1e12 # Unit pL/s . G_GHK [=] Amp/(mol/s)
    x_fK_channel = 5000e3*6673/N_A*1e15 # unit    fmol
    x_fNa_channel = x_fK_channel/100 # for Na component

    # load gate transition parameters
    params_gate = [5.78970090430308e-07,	-1.83090386964676,	0.0116300002850840,	0.787348904990578]
    alpha = params_gate[0]*1e3 # unit    s ^ -1
    beta = params_gate[2]*1e3 # unit    s ^ -1

    kf = [P_f_Na / x_fNa_channel,     # R_GHK
          P_f_K / x_fK_channel,     # R_GHK
          alpha]

    kr = [P_f_Na / x_fNa_channel,     # R_GHK
          P_f_K / x_fK_channel,     # R_GHK
          beta]

    k_kinetic = kf + kr

    # 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'], V['V_myo'], V['V_o']] + [1] * (num_rows-4)

    return (k_kinetic, N_cT, K_C, W)