Location: BG_RyR @ 4eff70506ca8 / parameter_finder / kinetic_parameters_RyR.py

Author:
Shelley Fong <s.fong@auckland.ac.nz>
Date:
2021-11-17 10:27:24+13:00
Desc:
Using sympy for rational nullspace
Permanent Source URI:
https://models.physiomeproject.org/workspace/6e3/rawfile/4eff70506ca8336d6d1ba7a7ee1f10fba9004650/parameter_finder/kinetic_parameters_RyR.py

# linalg for Ryanodine channel: gated by Ca, and allowing passage of Ca.

import numpy as np 

def kinetic_parameters(M, include_type2_reactions, dims, Vol):
    num_cols = dims['num_cols']
    num_rows = dims['num_rows']

    R = 8.3143
    T = 310
    F = 96485
    z = 2
    N_A = 6.022e23
    x_ryr = 1e15*50e3/N_A # fmol  Hinch: 50000 units
    
    c_di = 1.7374E-04 # mM
    c_sr = 5.5545E-01 # mM

    # channel conductance (without gating)
    k_ryr = 25     # 1/ms  (Shannon/Stern value) WRONG UNITS FOR A CHANNEL 
    g_ryr = 103    # pS
    E_Ca = (R*T/(z*F))*np.log(c_di/c_sr)
    
    # finding permeability value by setting I_ohmic = I_ghk:
    # P [=] pL/s  (permeability)
    V = -E_Ca
    P_ryr = 1e3*(V - E_Ca)*g_ryr*R*T*(1-np.exp(-z*F*V/(R*T)))/(((z*F)^2)*(c_sr-(c_di*np.exp(-z*F*V/(R*T)))))
    k_ryr = P_ryr / x_ryr # 1/mM.s  both fwd and bwd
    
    # gate transitions
    ko = 35e3  # 1/(mM2.s)
    ki = 500   # 1/(mM.s)
    kim = 5    # 1/s
    kom = 60   # 1/s
    
    # rxnID: [RyR  OC  CCI  CII  IO]
    # set up ensures detailed balance already
    kf = [k_ryr, kom, ki, ko, kim]
    kr = [k_ryr, ko, kim, kom, ki]

    k = kf + kr
    
    N_cT = [] 
    K_C = []
    
    # volume vector
    W = [1]*num_cols + [Vol['V_SR']] + [Vol['V_di']] + [1]*4

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