Location: BG_B1AR @ 6fba2601af38 / parameter_finder / kinetic_parameters_B1AR.py

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2021-11-17 11:19:21+13:00
Desc:
Exposure rst file
Permanent Source URI:
https://models.cellml.org/workspace/6ba/rawfile/6fba2601af3873977fab9edfabb94fff57d52607/parameter_finder/kinetic_parameters_B1AR.py

# B1AR module 

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

# 6 sep 21: removing signalling rewactions (separate module, LRGbinding)

# 5 Oct removing B1tot as the product of PKACI reaction with R. Instead,
# using R as the substrate, which gets phosphorylated to B1AR_p by PKACI.
# This means reactions p1 and p2 are switched around with directions
# reversed.

import numpy as np 

def kinetic_parameters(M, include_type2_reactions, dims, V):
    # Set the kinetic rate constants.
    # original model had reactions that omitted enzymes as substrates e.g. BARK
    # convert unit from 1/s to 1/uM.s by dividing by conc of enzyme
    # all reactions were irreversible, made reversible by letting kr ~= 0
    
    num_cols = dims['num_cols']
    num_rows = dims['num_rows']

    # concentration of BARK = 0.6uM (crude approx from litsearch, for GRK)
    bigNum = 1e6
    fastKineticConstant = bigNum
    smallReverse = fastKineticConstant/(pow(bigNum,2))
    cBARK = 0.6                #uM
    cPKACI = 0.0587898478276673        #uM
    
    Kl = 0.285 # uM
    Kr = 0.062 # uM
    Kc = 33 # uM
    
    kB11p = 1.1e-3 / cBARK     # 1/uM.s
    kB11m = 2.2e-3             # 1/s
    kB12p = fastKineticConstant#1/s
    kB12m = smallReverse       # 1/uM.s
    kB21p = kB11p              # 1/uM.s
    kB21m = kB11m              # 1/s
    kB22p = fastKineticConstant#1/s
    kB22m = smallReverse       # 1/uM.s
    kP1p = 3.6e-3              # 1/uM.s 
    kP1m = 2.2e-3              # 1/s 
    kP2p = fastKineticConstant # 1/s
    kP2m = smallReverse        # 1/uM.s
    
    # detailed balance for kP2p
#     kP2p = kP2m*kP1m/kP1p
    
    k_kinetic = [
        kB11p, kB12p, kB21p, kB22p, kP1p, kP2p,
        kB11m, kB12m, kB21m, kB22m, kP1m, kP2m
        ]
    nid = [1,10]

    # CONSTRAINTS
    N_cT = np.zeros(len(M[0]))
    if True:
        # PKACI: substrate R is in eqlm with product B1ARp
        N_cT[num_cols + nid[0]] = 1
        N_cT[num_cols + nid[1]] = -1
    
    
    K_C = [1]

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

    return (k_kinetic, [N_cT], K_C, W)