Location: BG_sGC @ 764c22a66180 / parameter_finder / kinetic_parameters_sGC.py

Author:
Shelley Fong <sfon036@UoA.auckland.ac.nz>
Date:
2022-05-13 11:56:11+12:00
Desc:
Fixing equations
Permanent Source URI:
https://models.physiomeproject.org/workspace/857/rawfile/764c22a661800aa2d3173388426c3b88d31ebc80/parameter_finder/kinetic_parameters_sGC.py

# cGS module, translated from Yang et al 2005

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

# Based on Pan 2018 cardiac AP

import numpy as np

def kinetic_parameters(M, include_type2_reactions, dims, V):

    num_cols = dims['num_cols']
    num_rows = dims['num_rows']

    fkc = 1e6
    smr = 1e-3

    E0 = 0.05  # [=] uM    #GUESS for sum of sGC forms

    # DIMENSIONALISE appropriate rates by multiplying by E0, the quantity used to nondimensionalise the model
    k1p = 2e6*E0 # [=] 1/uM.s
    k1m = 100 # [=] 1/s
    k2p = 0.1 # [=] 1/s
    k2m = smr # [=] 1/s
    k3p = 0.003e6*E0 # [=] 1/uM.s
    k3m = smr # [=] 1/s
    k4p = 0.011 # [=] 1/s
    k4m = smr # [=] 1/s
    k_dno_p = 0.01 # [=] 1/s
    k_dno_m = smr # [=] 1/s

    # closed loop exists: recalculate parameter k4m (or k1m) using loop [1,2,4]. Then use update to recalculate k3m.
    if False:
        k4m = k1p*k2p*k4p/(k1m*k2m)
    else:
        k1m = k1p * k2p * k4p / (k4m * k2m)
    k3m = k1p*k3p*k4p/(k1m*k4m)

    # Calculate bond graph constants from kinetic parameters
    # Note: units of kappa are fmol/s, units of K are fmol^-1
    kf = [k1p,
          k2p,
          k3p,
          k4p,
          k_dno_p,
          ]

    kr = [
        k1m,
        k2m,
        k3m,
        k4m,
        k_dno_m,
    ]

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

    return (k_kinetic, N_cT, K_C, W)