Location: BG_AE @ e479536490c5 / parameter_finder / kinetic_parameters_AE.py

Author:
Shelley Fong <sfon036@UoA.auckland.ac.nz>
Date:
2022-07-13 15:26:37+12:00
Desc:
Moving channel initial moles to main environment from channel component
Permanent Source URI:
http://models.cellml.org/workspace/882/rawfile/e479536490c5930360f79e4e2d44a90ed4a2cf38/parameter_finder/kinetic_parameters_AE.py

# Chloride-hydroxide exchanger, based on 6 state transporter by Crampin and Smith 2006

# Return kinetic parameters, constraints, and vector of volumes in each
# compartment (pL) (1 if gating variable, or in element corresponding to
# kappa)

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

    fkc = 1e6
    # dissociation constants for A+B>C where Kd = k-/k+
    # K_H is given as pK_H. K_H = 10^(-pK_H)
    K_HCO3 = 1.11e3
    K_Cl = 9.84e3 # [=] mM
    kp = [3.52e2, 3.54e2] # [=] 1/s
    km = [3.47e2, 3.6e2] # [=] 1/s
    pKi = 7.537
    pKo = 6.506
    ni = 5.11
    no = 1.44
    Kd_pHi = pow(pow(10, -pKi), ni)
    Kd_pHo = pow(pow(10, -pKo), -no)

    kf_1 =[kp[0], fkc*K_HCO3, fkc, kp[1], fkc*K_Cl, fkc]
    kr_1 =[km[0], fkc, fkc*K_Cl, km[1], fkc, fkc*K_HCO3]

    # pH_dependent reactions
    kf_pHi = fkc
    kr_pHi = kf_pHi*Kd_pHi
    kf_2 = [kf_pHi]*6
    kr_2 = [kr_pHi]*6

    kf_pHo = fkc
    kr_pHo = kf_pHo*Kd_pHo
    kf_3 = [kf_pHo]*6
    kr_3 = [kr_pHo]*6

    # detailed bal? They said they did it already
    if False:
        kr_1[5] = np.product(kf_1)/(np.product(kr_1[0:4]))
        kr_2[5] = np.product(kf_2)/(np.product(kr_2[0:4]))
        kr_3[5] = np.product(kf_3)/(np.product(kr_3[0:4]))

    # total kf and kr
    kf = kf_1 #+ kf_2 + kf_3
    kr = kr_1 #+ kr_2 + kr_3
    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']]*2 + [1]*6# + [V['V_myo'], V['V_o']]

    return (k_kinetic, N_cT, K_C, W)