[[model]] name: Heijman2011 desc: """ VERSION 1.1, Sept. 13, 2016 - With fixed PLB phosphorylation and remodeling of ICab. The Heijman2011 model of the ventricular myocyte The following sources were used: [1] Decker, Heijman, Hund, Silva and Rudy (2009) Properties and Ionic Mechanisms of Action Potential Adaptation, Restitution and Accomodation in Canine Epicardium Am. J. Physiol. / Heart Circ. Physiol. http://dx.doi.org/10.1152/ajpheart.01216.2008 [2] Heijman, Volders, Westra and Rudy (2011) Local control of beta-adrenergic stimulation: Effects on ventricular myocyte electrophysiology and Ca2+-transient. Journal of Molecular and Cellular Cardiology Volume 50, Issue 5, May 2011, Pages 863-871 http://dx.doi.org/10.1016/j.yjmcc.2011.02.007 [3] PhD Thesis Heijman (2012) Computational analysis of beta-adrenergic stimulation and its effects on cardiac ventricular electrophysiology. [4] The matlab code published for [1] and [2], which was downloaded from the rudylab website: http://rudylab.wustl.edu An attempt was made to annotate the source of each component. Where section numbers are given these refer to sections in the data supplement of [1] and [2], or the appendix of [3]. Original copyright notice published with the matlab code: -------------------------------------------------------------------------- Copyright (C) 2011 by Jordi Heijman, Paul G. A. Volders, Ronald L. Westra and Yoram Rudy Email: jordi.heijman@maastrichtuniversity.nl / rudy@wustl.edu Web: http://rudylab.wustl.edu MATLAB Implementation of the model described in the article: "Local control of beta-adrenergic stimulation: Effects on ventricular myocyte electrophysiology and Ca2+ transient" Journal of Molecular and Cellular Cardiology. 2011. This program is free software you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. """ # Initial states membrane.V = -87.491 # 1 Vm calcium.uCa = 9.6709e-5 #1.3394e-2 # 2 Ca_i calcium.uCa_sr = 1.33739e-4 #2.3413e-2 # 3 Ca_sr calcium.uCa_CaL = 1.33739e-4 #2.3413e-2 # 4 Ca_srCaL calcium.uCa_jsr = 1.09269 #6.8659 # 5 Ca_JSR calcium.Ca_nsr = 1.1910 # 6 Ca_NSR camk.trap = 1.7546e-3 # 7 Ca_trap sodium.Na = 6.8909 # 8 Na_i sodium.Na_sr = 6.8909 # 9 Na_ss potassium.K = 1.4562e2 # 10 K_i chloride.Cl = 20.273 # 11 Cl_i chloride.Cl_sr = 20.273 # 12 Cl_SR irel.Irel_np = 3.6675e-9 # 13 Irel ina_np.h = 6.8172e-3 # 14 H ina_np.m = 9.0163e-1 # 15 m ina_np.j = 9.9709e-1 # 16 J inal.m = 7.0530e-4 # 17 mL inal.h = 3.6003e-1 # 18 hL ito.a_np = 1.7687e-5 # 19 to_a ito.if_np = 9.9798e-1 # 20 to_if ito.is_np = 9.8747e-1 # 21 to_is ikr.ac = 1.2306e-8 # 22 xr (Ikr activation gate) iclca.i2 = 9.9604e-1 # 23 AA (ITo2 inactivation gate) ical_np.C = 1 ical_np.O = 0 ical_np.Cs = 0 ical_np.Os = 0 ical_np.CI = 0 ical_np.OI = 0 ical_np.CIs = 0 ical_np.OIs = 0 iks_np.C1 = 9.1141e-1 iks_np.C2 = 8.4395e-2 iks_np.C3 = 2.9306e-3 iks_np.C4 = 4.52285e-5 iks_np.C5 = 2.6175e-7 iks_np.C6 = 1.1424e-3 iks_np.C7 = 7.9337e-5 iks_np.C8 = 1.8366e-6 iks_np.C9 = 1.4172e-8 iks_np.C10 = 5.3696e-7 iks_np.C11 = 2.4861e-8 iks_np.C12 = 2.8776e-10 iks_np.C13 = 1.1217e-10 iks_np.C14 = 2.5967e-12 iks_np.C15 = 8.7874e-15 iks_np.O1 = 9.3722e-16 iks_np.O2 = 1.6595e-17 ical_camk.C = 1 ical_camk.O = 0 ical_camk.Cs = 0 ical_camk.Os = 0 ical_camk.CI = 0 ical_camk.OI = 0 ical_camk.CIs = 0 ical_camk.OIs = 0 iks_pka.C1 = 0.95624 iks_pka.C2 = 4.2127e-2 iks_pka.C3 = 6.9597e-4 iks_pka.C4 = 5.1101e-6 iks_pka.C5 = 1.4070e-8 iks_pka.C6 = 9.0269e-4 iks_pka.C7 = 2.9826e-5 iks_pka.C8 = 3.2850e-7 iks_pka.C9 = 1.2060e-9 iks_pka.C10 = 3.1956e-7 iks_pka.C11 = 7.0390e-9 iks_pka.C12 = 3.8763e-11 iks_pka.C13 = 5.0277e-11 iks_pka.C14 = 5.5374e-13 iks_pka.C15 = 2.9664e-15 iks_pka.O1 = 1.1201e-15 iks_pka.O2 = 1.6613e-18 ina_pka.h = 1.2360e-3 # 74 H (P) ina_pka.m = 7.9472e-1 # 75 m (P) ina_pka.j = 9.9123e-1 # 76 J (P) ina_camk.m = 6.8127e-4 # 77 m (P, CAMKII) ina_camk.h = 8.3805e-1 # 78 h (P, CAMKII) ina_camk.j = 9.9281e-1 # 79 J (P, CAMKII) irel.Irel_p = 7.3074e-9 # 80 IRel (P) ito.if_camk = 1 # 81 to_if_CaMKII ito.is_camk = 1 # 82 to_is_CaMKII camk.f_plb = 0 # 83 fPLBP_CaMKII camk.f_ryr = 0 # 84 fRyRP_CaMKII camk.f_ito = 0 # 85 fIToP_CaMKII camk.f_ina = 0 # 86 fINaP_CaMKII camk.f_ik1 = 0 # 87 fIK1P_CaMKII camk.f_ical = 0 # 88 fICaLP_CaMKII beta_cav.Gs_aGTP = 0.00685041638458665 # 89 1 Gs_aGTP_CAV beta_eca.Gs_aGTP = 0.0184627603007976 # 90 2 Gs_aGTP_ECAV beta_cyt.Gs_aGTP = 0.000731420577213056 # 91 3 Gs_a_GTP_CYT beta_cav.Gs_bg = 0.00745773247314215 # 92 4 Gs_bg_CAV beta_eca.Gs_bg = 0.0191017987408719 # 93 5 Gs_bg_ECAV beta_cyt.Gs_bg = 0.00115141243826747 # 94 6 Gs_bg_CYT beta_cav.Gs_aGDP = 0.000607316088556676 # 95 7 Gs_aGDP_CAV beta_eca.Gs_aGDP = 0.000639038440072507 # 96 8 Gs_aGDP_ECAV beta_cyt.Gs_aGDP = 0.000419991861054322 # 97 9 Gs_aGDP_CYT camp.cAMP_cav = 0.347102959606005 # 98 10 cAMP_CAV camp.cAMP_eca = 9.62359241535767 # 99 11 cAMP_ECAV camp.cAMP_cyt = 0.474081735738211 # 100 12 cAMP_CYT beta_cav.Rb1_pka_tot = 0 #0.0149041813757831 # 101 13 R_pkap_tot_CAV beta_eca.Rb1_pka_tot = 0 #0.203016833596288 # 102 14 R_pkap_tot_ECAV beta_cyt.Rb1_pka_tot = 0 #0.00944463350378086 # 103 15 R_pkap_tot_CYT beta_cav.Rb1_grk_tot = 2.49592854373432e-10 # 104 16 R_grkp_tot_CAV beta_eca.Rb1_grk_tot = 1.18055788874765e-9 # 105 17 R_grkp_tot_ECAV beta_cyt.Rb1_grk_tot = 7.07824478944671e-11 # 106 18 R_grkp_tot_CYT pka_cav.ARC = 0.0904820284659604 # 107 19 RLC_CAV pka_cav.A2RC = 0.00276490711096605 # 108 20 L2RC_CAV pka_cav.A2R = 0.225475702283053 # 109 21 L2R_CAV pka_cav.C = 0.0326565916584703 # 110 22 C_CAV pka_cav.PKIC = 0.192819110624505 # 111 23 PKI_CAV pka_eca.ARC = 0.205444874210056 # 112 24 RLC_ECAV pka_eca.A2RC = 0.174057375932567 # 113 25 L2RC_ECAV pka_eca.A2R = 0.817161796756964 # 114 26 L2R_ECAV pka_eca.C = 0.567249910261073 # 115 27 C_ECAV pka_eca.PKIC = 0.249911886495890 # 116 28 PKI_ECAV pka_cyt.ARC = 0.0646928309115710 # 117 29 RLC_CYT pka_cyt.A2RC = 0.0664997605558791 # 118 30 L2RC_CYT pka_cyt.A2R = 0.489063888619456 # 119 31 L2R_CYT pka_cyt.C = 0.362113356111496 # 120 32 C_CYT pka_cyt.PKIC = 0.126950532507959 # 121 33 PKI_CYT pde.PDE3_P_cav = 0.0236821659448037 # 122 34 PDE3_P_CAV pde.PDE3_P_cyt = 0.0128402905095188 # 123 35 PDE3_P_CYT pde.PDE4_P_cav = 0.00637363047239019 # 124 36 PDE4_P_CAV pde.PDE4_P_eca = 4.29171113639322e-5 # 125 37 PDE4_P_ECAV pde.PDE4_P_cyt = 0.00917039986149184 # 126 38 PDE4_P_CYT pp1.inhib1_p = 0.0282662056977524 # 127 39 Inhib1_P_CYT akap_sig.ICaLp = 0.000673713947839317 # 128 40 fLCC_P not a fraction! iks_sig.IKsp = 0.000765988420110534 # 129 41 fIKS_P not a fraction! iup.f_plb = 0.592167467082831 # 130 42 fPLB_P calcium.f_tni = 0.673518785672382 # 131 43 fTnI_P ina.f_ina = 0.239479458960528 # 132 44 fINa_P inak.f_inak = 0.126345311579566 # 133 45 fINaK_P akap_sig.RyRp = 0.00410693810508171 # 134 46 fRyR_P not a fraction! ikur.f_ikur = 0.0589379755147718 # 135 47 fIKur_P beta_cav.Rb2_pka_tot = 0 #0.0275455839709412 # 136 48 Rb2_pkap_tot_CAV beta_cav.Rb2_grk_tot = 0 #8.91799633266019e-10 # 137 49 Rb2_grkp_tot_CAV beta_cav.Gi_aGTP = 0.00159632196638178 # 138 50 Gi_aGTP_CAV beta_cav.Gi_bg = 0.00209911481235842 # 139 51 Gi_bg_CAV beta_cav.Gi_aGDP = 0.000502792845976641 # 140 52 Gi_aGDP_CAV beta_eca.Rb2_pka_tot = 0 #0.0110248953370551 # 141 53 Rb2_pkap_tot_ECAV beta_eca.Rb2_grk_tot = 0 #1.13428924662652e-10 # 142 54 Rb2_grkp_tot_ECAV beta_eca.Gi_aGTP = 0.000364315164237569 # 143 55 Gi_aGTP_ECAV beta_eca.Gi_bg = 0.000705656306851923 # 144 56 Gi_bg_ECAV beta_eca.Gi_aGDP = 0.000341341142614041 # 145 57 Gi_aGDP_ECAV # # Engine variables # [engine] time = 0 bind time pace = 0 bind pace # # Total trans-membrane currents and voltage # Section 1.26 of the thesis appendix (page 315) # [membrane] use sodium.INa_tot use potassium.IK_tot use calcium.ICa_tot use chloride.ICl_tot dot(V) = - (INa_tot + IK_tot + ICa_tot + ICl_tot + i_diff) in [mV] label membrane_potential desc: The membrane potential i_diff = 0 bind diffusion_current desc: Current to neighbouring cells, defined outward. # # Stimulus current # The stimulus current is taken to be a potassium current # [stimulus] amplitude = -80 [uA/uF] Istim = engine.pace * amplitude desc: The stimulus current in [uA/uF] # # Isoproterenol # (used because it is very similar to adrenaline) # [iso] L = 0.0 [umol/L]: concentration of isoproterenol # # Cell geometry # Section 1.1 of the thesis appendix (page 261) # [cell] EBZ = 0 EBZ_BAR_Remodeling = 0 EBZ_fact_CaMK_alpha = 31.5 / 6.0 EBZ_fact_ICaL = 0.64 #1.56 / 2.43 EBZ_fact_INa = 3.22 / 8.25 EBZ_fact_Ito = 0 EBZ_fact_ICab = 3.0 / 2.25084 EBZ_fact_IK1 = 0.3 / 0.5 EBZ_fact_BAR = 0.75 useAltRyRFunc = 1 fINaBlock = 0 clamp_RyR2_P = -1 pi = 3.141592653589793 length = 0.01 [cm] : Cell length # l = 0.01 radius = 0.0011 [cm] : Cell radius # a = 0.0011 volume = 1000 * pi * radius * radius * length in [uL] desc: Cell volume # vcell = 3.801e-5 uL geoArea = 2.0 * pi * radius * (radius + length) in [cm^2] desc: Geometric membrane area # Matlab version uses two different versions of PI! # Fix this before comparing... capArea = 2.0 * geoArea in [cm^2] desc: Capacitive membrane area AF = capArea / phys.F in [mol * cm^2 / C] desc: The capacitive membrane area divided by Faraday's constant (section Q) # Compartment sizes v_cav = 0.02 * volume in [cm^2] # data.V_CAV = 0.02 * vcell; desc: Volume of the caveolar subspace v_eca = 0.04 * volume in [cm^2] # data.V_ECAV = 0.04 * vcell; desc: Volume of the extracaveolar subspace v_cyt = volume * 0.678 in [cm^2] # data.V_CYT = data.vmyo = 0.678 * vcell; desc: Volume of the Cytoplasm / Myoplasm vr_cav = volume / v_cav desc: Ratio of whole volume to caveolar subspace volume vr_eca = volume / v_eca desc: Ratio of whole volume to extracaveolar subspace volume vr_cyt = volume / v_cyt desc: Ratio of whole volume to cytoplasm volume v_nsr = volume * 0.0552 in [uL] desc: Volume of the network sarcoplasmic reticulum v_jsr = volume * 0.0048 in [uL] desc: Volume of the junctional sarcoplasmic reticulum v_sr = volume * 0.02 in [uL] desc: """ SR Subspace (SS,SR) volume This space between the INaCa,ss channel, the Ito2 channel and the Junctional Sarcoplasmic Reticulum (JSR) has no strict physical boundaries but is included in the model because it is a region of the cell that has slightly different concentrations of Ca, Na and K. """ v_CaL = volume * 0.002 in [uL] desc: """ L-type Ca2+ current Subspace (SS,CaL) volume The area between the SR subspace and the ICaL channel has a slightly different Ca2+ concentration than the rest of the cell. """ # # Physical constants # Section 1.1 of the thesis appendix (page 261) # [phys] F = 96487 [C/mol] : Faraday's constant R = 8314 [mJ/mol/K] : Gas constant T = 310 [K] : Temperature RTF = R * T / F FRT = 1 / RTF FFRT = F * FRT # # Extracellular constants. # Section 1.1 of the thesis appendix (page 261) # [extra] Nao = 140 [mmol/L] : Extracellular sodium concentration Ko = 5.4 [mmol/L] : Extracellular potassium concentration Cao = 1.8 [mmol/L] : Extracellular calcium concentration Clo = 100 [mmol/L] : Extracellular chloride concentration # # Reversal potentials # Section 1.1 of the thesis appendix (page 262) # [nernst] use phys.RTF ECl = -RTF * log(extra.Clo / chloride.Cl) in [mV] desc: Reversal potential for Chloride ENa = RTF * log(extra.Nao / sodium.Na) in [mV] desc: Reversal potential for Sodium EK = RTF * log(extra.Ko / potassium.K) in [mV] desc: Reversal potential for Potassium EKs = RTF * log((extra.Ko + PNaK * extra.Nao) / (potassium.K + PNaK * sodium.Na)) desc: Reversal potential for IKs in [mV] PNaK = 0.01833 #: IKs sodium / potassium permeability ratio # # Calcium handling. # Section 1.3 of the thesis appendix (page 265) # [calcium] # Fraction of troponin phosphorylation. Section 2.9 of the thesis appendix. ka_tni = 0.10408 in [1/s] # data.k_PKATnI = 1.0408e-001 desc: Rate of Troponin phosphorylation by PKA Ka_tni = 2.7143e-5 in [umol/L] # data.Km_PKATnI = 2.7143e-005 desc: Affinity of Troponin for phosphorylation by PKA kp_tni = 5.2633e-2 in [1/s] # data.k_PPTnI = 5.2633e-002 desc: Rate of Troponin dephosphorylation by phosphatases Kp_tni = 0.26714 in [umol/L] # data.Km_PPTnI = 2.6714e-001 desc: Affinity of Troponin for dephosphorylation by phosphatases dot(f_tni) = 1e-3 * (ka_tni * pka_cyt.C * (1 - f_tni) / (Ka_tni + 1 - f_tni) - kp_tni * pp1.PP2A * f_tni / (Kp_tni + f_tni)) desc: Fraction of phosphorylated Troponin # Intracellular calcium concentration cbar = 0.05 [mmol/L] : Maximum Calmodulin concentration tbar = 0.07 [mmol/L] : Maximum Troponin concentration kc = 2.38e-03 [mmol/L] : Affinity of Calmodulin for Ca2+ ktn = 5e-4 [mmol/L] : Affinity of non-phosphorylated Troponin for Ca2+ ktp = 1.5 * ktn : Affinity of phosphorylated Troponin for Ca2+ in [mmol/L] fhat = if(val < 0, 0, val) val = (f_tni - 0.6735188) / (0.9991797 - 0.6735188) desc: Effective fraction of phosphorylated Troponin kt = (1 - fhat) * ktn + fhat * ktp desc: Combined affinity of phosphorylated and non-phosphorylated Troponin for Ca2+ in [mmol/L] #Ca = -b / 3 + (2/3) * sqrt(b*b - 3*c) * cos(acos((9*b*c - 2*b*b*b - 27*d) / (2 * (b*b - 3*c)^1.5)) / 3) # desc: Intracellular calcium # in [umol/L] # ksum = kt + kc # kpro = kt * kc # b = ksum - uCa + cbar + tbar # c = kpro - uCa * ksum + tbar * kc + cbar * kt # d = -kpro * uCa ICa_cyt = icab.ICab + ipca.IpCa - 2 * inaca.INaCa dot(uCa) = buff * (- r1 * (ICa_cyt) \ - r2 * iup.Iup \ + r3 * diff.Idiff_Ca) desc: Unbuffered intracellular Calcium r1 = cell.AF / (2 * cell.v_cyt) r2 = cell.v_nsr / cell.v_cyt r3 = cell.v_sr / cell.v_cyt buff = 1 / (1 + cbar * kc / (a*a) + tbar * kt / (b*b)) a = kc + calcium.uCa b = kt + calcium.uCa # Ca_sr and Ca_CaL buffer bsl_bar = 1.124 [mmol/L] : Anionic Ca2+ binding sites on sarcolemma bsr_bar = 0.047 [mmol/L] : Anionic Ca2+ binding sites on SR bar_sum = bsr_bar + bsl_bar bsr_km = 0.00087 [mmol/L] : Affinity of anionic Ca2+ binding sites on sarcolemma bsl_km = 0.0087 [mmol/L] : Affinity of anionic Ca2+ binding sites on SR #km_sum = bsr_km + bsl_km #km_pro = bsr_km * bsl_km #ss_sum = bar_sum + km_sum #ss_pro = bsr_bar * bsl_km + bsl_bar * bsr_km + km_pro #Ca_sr = -b/3 + 2/3 * sqrt(b*b - 3*c) * cos(acos((9*b*c - 2*b*b*b - 27*d) / (2*(b*b - 3*c)^1.5)) / 3) # desc: Calcium concentration in the SR subspace # in [umol/L] # b = ss_sum - uCa_sr # c = ss_pro - uCa_sr * km_sum # d = -km_pro * uCa_sr dot(uCa_sr) = -buff * (r1 * inaca.INaCaSR + r2 * irel.Irel + diff.Idiff_Ca + diff.Idiff_sr) desc: Unbuffered Calcium concentration in the SR subspace in [umol/L] r1 = -cell.AF / cell.v_sr r2 = -cell.v_jsr / cell.v_sr buff = 1 / (1 + bsr_bar * bsr_km / (a*a) + bsl_bar * bsl_km / (b*b)) a = bsr_km + uCa_sr b = bsl_km + uCa_sr #Ca_CaL = -b/3 + 2/3 * sqrt(b*b - 3*c) * cos(acos((9*b*c - 2*b*b*b - 27*d) / (2*(b*b - 3*c)^1.5)) / 3) # desc: Calcium concentration in the CaL subspace # in [umol/L] # b = ss_sum - uCa_CaL # c = ss_pro - uCa_CaL * km_sum # d = -km_pro * uCa_CaL dot(uCa_CaL) = -buff * (r1 * ical.ICaL + r2 * diff.Idiff_sr) desc: Unbuffered Calcium concentration in the CaL subspace in [umol/L] r1 = cell.AF / (2 * cell.v_CaL) r2 = -cell.v_sr / cell.v_CaL buff = 1 / (1 + bsr_bar * bsr_km / (a*a) + bsl_bar * bsl_km / (b*b)) a = bsr_km + uCa_CaL b = bsl_km + uCa_CaL # Junctional and network SR csqn_km = 0.8 [mmol/L] : Affinity of Calsequestrin for Ca2+ csqn_bar = 10 [mmol/L] : Maximum Calsequestrin concentration #Ca_jsr = (sqrt(b*b + 4*c) - b) / 2 # desc: Concentration of Ca in the JSR subspace # in [umol/L] # b = csqn_bar + csqn_km - uCa_jsr # c = uCa_jsr * csqn_km dot(uCa_jsr) = buff * (diff.Itr - irel.Irel) buff = 1 / (1 + csqn_bar * csqn_km / (a * a)) a = csqn_km + uCa_jsr desc: Unbuffered concentration of Ca2+ in the JSR subspace in [umol/L] dot(Ca_nsr) = iup.Iup - r1 * diff.Itr # Matlab code adds an extra term iup.Ileak which is already included in Iup in this implementation r1 = cell.v_jsr / cell.v_nsr desc: Concentration of Ca2+ in the NSR subspace in [umol/L] # Total calcium current ICa_tot = (ical.ICaL # Section 1.26 of the thesis appendix + icab.ICab + ipca.IpCa - inaca.INaCa * 2 - inaca.INaCaSR * 2 ) desc: Total Ca2+ current through the membrane in [uA/cm^2] # # Chloride concentrations # Section 1.4 of the thesis appendix (page 268) # [chloride] dot(Cl) = r1 * iclb.IClb + ctnacl.CTNaCl + ctkcl.CTKCl + r2 * diff.Idiff_Cl r1 = cell.AF / cell.v_cyt r2 = cell.v_sr / cell.v_cyt desc: Intracullular Chloride concentration in [umol/L] dot(Cl_sr) = r1 * iclca.IClCa - diff.Idiff_Cl r1 = cell.AF / cell.v_sr desc: Intracullular Chloride concentration in the SR subspace (SS,SR) in [umol/L] ICl_tot = iclb.IClb + iclca.IClCa # Section 1.26 of the thesis appendix desc: Total Chloride current through the membrane in [uA/cm^2] # # Potassium concentration # Section 1.5 of the thesis appendix (page 268) # [potassium] dot(K) = r1 * IK_tot + ctkcl.CTKCl : Intracellular Potassium r1 = -cell.AF / cell.v_cyt IK_tot = ( ik1.IK1 + ikr.IKr + iks.IKs + ikur.IKur + ito.ITo + stimulus.Istim - 2 * inak.INaK ) desc: Total Potassium current through the membrane in [uA/cm^2] # # Sodium concentrations # Section 1.6 of the thesis appendix (page 269) # [sodium] dot(Na) = r1 * INa_cyt + r2 * diff.Idiff_Na + ctnacl.CTNaCl r1 = -cell.AF / cell.v_cyt r2 = cell.v_sr / cell.v_cyt desc: Intracellular Sodium concentration dot(Na_sr) = -(r1 * inaca.INaCaSR + diff.Idiff_Na) r1 = 3 * cell.AF / cell.v_sr desc: Sodium concentration in the SR subspace INa_cyt = ( ina.INa + inab.INab + inal.INaL + inak.INaK * 3 + inaca.INaCa * 3 ) INa_tot = INa_cyt + inaca.INaCaSR * 3 desc: Total Na+ current through the membrane in [uA/cm^2] # # CTNaCl :: Na-Cl Cotransporter # Section 1.7.1 of the thesis appendix (page 269) # Section H of [1]'s data supplement # [ctnacl] NaClBar = 2.46108e-5 [mmol/L/ms] : Maximum NaCl exchange CTNaCl = NaClBar * z1 / (z1 + z2) z1 = (nernst.ENa - nernst.ECl) ^ 4 z2 = 87.8251^4 in [mmol/L/ms] desc: Na+Cl- cotransporter # # CTKCl :: K-Cl Cotransporter # Section 1.7.1 of the thesis appendix (page 269) # Section H of [1]'s data supplement # [ctkcl] KClBar = 1.77e-5 [mmol/L/ms] : Maximum KCl exchange CTKCl = KClBar * z1 / (z1 + z2) z1 = nernst.EK - nernst.ECl z2 = 87.8251 in [mmol/L/ms] desc: K+Cl- cotransporter # # ICab :: Background Calcium current # Section 1.8 of the thesis appendix (page 269) # Section M of [1]'s supplement # [icab] ICab = if(cell.EBZ < 1, 1, cell.EBZ_fact_ICab) * 1.995e-7 * 2 * phys.F * vfrt * (calcium.uCa * efrt - 0.341 * extra.Cao) / (efrt - 1) vfrt = if(abs(membrane.V) < 1E-5, 2E-5 * phys.FRT, 2 * membrane.V * phys.FRT) efrt = exp(vfrt) # # ICaL :: L-type Calcium current # Section 1.9.2 of the thesis appendix (page 271) # Section 3.3.2 of [2]'s supplement (page 47) # [ical] use akap_sig.fp_ICaL as fp use akap_sig.ICaL_arn use akap_sig.ICaL_tot f_hat = if(val < 0, 0, val) val = (fp - ratio) / (0.9273 - ratio) ratio = 0.0269 + ICaL_arn / ICaL_tot desc: Effective fraction of phosphorylated ICaL channels ICaL = if(cell.EBZ < 1, 1, cell.EBZ_fact_ICaL) * ((1 - f_hat) * ical_np.ICaL + f_hat * ical_camk.ICaL) desc: Total ICaL current in [uA/cm^2] # # ICaL :: Non-phosphorylated channels # Described on page 272 of the thesis appendix, page 48 of [2]'s supplement # [ical_np] use membrane.V # Which [Ca] to use is a setting in the original model: use calcium.uCa_sr as Ca # Activation: alpha, beta # Activation stays the same regardless of Ca2+ level ac_inf = 1 / ((1 + exp((13.56 - V) / 9.45)) * (1 + exp((25 + V) / -5))) desc: Steady state value of activation ac_tau = 0.59 + 0.8 * exp(0.052 * (V + 13)) / (1 + exp(0.132 * (V + 13))) desc: Time constant of activation alpha = ac_inf / ac_tau desc: Transition rate from closed to open beta = (1 - ac_inf) / ac_tau desc: Transition rate from open to closed # Inactivation: x, y (low Ca2+) in_inf = 1 / (1 + exp((17.5 + V) / 3)) # Terms occurs twice in_a = 1 / (70 * (1 - 0.5 * camk.f_ical) * (1 + exp((V + 49.1) / 10.349))) # Term (1 - 0.5 * y(88)) doesn't appear in paper! in_b = 1 / (1 + exp((V + 0.213) / -10.807)) in_lo_inf = (0.2474 + in_inf) / 1.2474 # Supplement incorrectly writes 1.2472 here desc: Steady state value for inactivation at low Ca2+ levels in_lo_tau = 1 / (in_a + in_b / 26.553) desc: Time constant for inactivation at low Ca2+ levels x = in_lo_inf / in_lo_tau desc: Transition rate from inactive to active, at low Ca2+ levels y = (1 - in_lo_inf) / in_lo_tau desc: Transition rate from active to inactive, at low Ca2+ levels # Inactivation: xs, ys (high Ca2+) delta_tau = 5 * camk.f_ical ss_cal_4 = 1 + (1.1e-3 / Ca)^4 ss_cal_10 = 1 + (1.2e-2 / Ca)^10 inca = 13.825 - (6.3836 - delta_tau) / ss_cal_4 - 3.3696 / ss_cal_10 desc: Ca2+ dependent component of inactivation constant for ICaL non-phosphorylated channels and modulation by CaMKII in_hi_inf = (0.001 + in_inf) / 1.001 desc: Steady state value for inactivation at high Ca2+ levels in_hi_tau = 1 / (in_a + in_b / inca) desc: Time constant for inactivation at high Ca2+ levels xs = in_hi_inf / in_hi_tau desc: Transition rate from inactive to active, at high Ca2+ levels ys = (1 - in_hi_inf) / in_hi_tau desc: Transition rate from active to inactive, at high Ca2+ levels # Reaction to changes of [Ca2+] in SS_CaL, active channel: delta and theta theta = 1 desc: Transition rate from low [Ca2+] model to high [Ca2+] model, active channel delta = 14.9186 / ss_cal_4 desc: Transition rate from high [Ca2+] model to low [Ca2+] model, active channel # Reaction to changes of [Ca2+] in SS_CaL, inactive channel: delta1 and theta1 theta1 = 1e-6 desc: Transition rate from low [Ca2+] model to high [Ca2+] model, inactive channel delta1 = theta1 * (x * ys * delta) / (y_cor * xs_cor * theta) y_cor = if(abs(y) < 1e-12, 1e-12, y) xs_cor = if(abs(xs) < 1e-12, 1e-12, xs) desc: Transition rate from high [Ca2+] model to low [Ca2+] model, inactive channel # States dot(C) = -(alpha + delta + y ) * C + beta * O + theta * Cs + x * CI dot(O) = -(beta + delta + y ) * O + alpha * C + theta * Os + x * OI dot(Cs) = -(alpha + theta + ys) * Cs + delta * C + beta * Os + xs * CIs dot(Os) = -(beta + theta + ys) * Os + delta * O + alpha * Cs + xs * OIs dot(CI) = -(alpha + delta1 + x ) * CI + y * C + theta1 * CIs + beta * OI dot(OI) = -(beta + delta1 + x ) * OI + y * O + theta1 * OIs + alpha * CI dot(CIs) = -(alpha + theta1 + xs) * CIs + ys * Cs + delta1 * CI + beta * OIs dot(OIs) = -(beta + theta1 + xs) * OIs + ys * Os + delta1 * OI + alpha * CIs # Current PCa = 1.552e-4 * (1 + 0.4 * camk.f_ical) desc: Permeability of non-phosphorylated channels in [cm/s] IBar = PCa * 4 * V * phys.FFRT * (Ca * vv - 0.341 * extra.Cao) / (vv - 1) vv = if(abs(V) < 1E-5, exp(2 * 1E-5 * phys.FRT), exp(2 * V * phys.FRT)) desc: Maximum current through non-phosphorylated channels in [uA/cm^2] ICaL = IBar * (O + Os) desc: ICaL current density through non-phosphorylated channels in [uA/cm^2] # # ICaL :: CaMKII Phosphorylated channels # Described on page 274 of the thesis appendix, page 49 of [2]'s supplement # [ical_camk] use membrane.V # Which [Ca] to use is a setting in the original model: use calcium.uCa_sr as Ca # Activation: alpha, beta # Activation stays the same regardless of Ca2+ level ac_inf = 1 / ((1 + exp((4.798 + V) / -7.5699)) * (1 + exp((25 + V) / -5))) desc: Steady state value of activation use ical_np.ac_tau alpha = ac_inf / ac_tau desc: Transition rate from closed to open beta = (1 - ac_inf) / ac_tau desc: Transition rate from open to closed # Inactivation: x, y (low Ca2+) in_inf = 1 / (1 + exp((29.979 + V) / 3.1775)) # Term occurs twice use ical_np.in_a use ical_np.in_b in_lo_inf = (0.1 + in_inf) / 1.1 desc: Steady state value for inactivation at low Ca2+ levels in_lo_tau = 1 / (in_a + in_b / 38.494) # Supplement uses 30 desc: Time constant for inactivation at low Ca2+ levels x = in_lo_inf / in_lo_tau desc: Transition rate from inactive to active, at low Ca2+ levels y = (1 - in_lo_inf) / in_lo_tau desc: Transition rate from active to inactive, at low Ca2+ levels # Inactivation: xs, ys (high Ca2+) delta_tau = 0.1 * camk.f_ical ss_cal_4 = 1 + (0.002 / Ca)^4 ss_cal_10 = 1 + (0.01 / Ca)^10 inca = 32.5 - (18 - delta_tau) / ss_cal_4 - 10 / ss_cal_10 desc: Ca2+ dependent component of inactivation constant for ICaL non-phosphorylated channels and modulation by CaMKII in_hi_inf = (0.0001 + in_inf) / 1.0001 desc: Steady state value for inactivation at high Ca2+ levels in_hi_tau = 1 / (in_a + in_b / inca) desc: Time constant for inactivation at high Ca2+ levels xs = in_hi_inf / in_hi_tau desc: Transition rate from inactive to active, at high Ca2+ levels ys = (1 - in_hi_inf) / in_hi_tau desc: Transition rate from active to inactive, at high Ca2+ levels # Reaction to changes of [Ca2+] in SS_CaL, active channel: delta and theta theta = 1 desc: Transition rate from low [Ca2+] model to high [Ca2+] model, active channel delta = 6 / ss_cal_4 desc: Transition rate from high [Ca2+] model to low [Ca2+] model, active channel # Reaction to changes of [Ca2+] in SS_CaL, inactive channel: delta1 and theta1 theta1 = 1e-6 desc: Transition rate from low [Ca2+] model to high [Ca2+] model, inactive channel delta1 = theta1 * (x * ys * delta) / (y_cor * xs_cor * theta) y_cor = if(abs(y) < 1e-12, 1e-12, y) xs_cor = if(abs(xs) < 1e-12, 1e-12, xs) desc: Transition rate from high [Ca2+] model to low [Ca2+] model, inactive channel # States dot(C) = -(alpha + delta + y ) * C + beta * O + theta * Cs + x * CI dot(O) = -(beta + delta + y ) * O + alpha * C + theta * Os + x * OI dot(Cs) = -(alpha + theta + ys) * Cs + delta * C + beta * Os + xs * CIs dot(Os) = -(beta + theta + ys) * Os + delta * O + alpha * Cs + xs * OIs dot(CI) = -(alpha + delta1 + x ) * CI + y * C + theta1 * CIs + beta * OI dot(OI) = -(beta + delta1 + x ) * OI + y * O + theta1 * OIs + alpha * CI dot(CIs) = -(alpha + theta1 + xs) * CIs + ys * Cs + delta1 * CI + beta * OIs dot(OIs) = -(beta + theta1 + xs) * OIs + ys * Os + delta1 * OI + alpha * CIs # Current PCa = 2.579e-4 * (1 + 0.1 * camk.f_ical) desc: Permeability of non-phosphorylated channels in [cm/s] IBar = PCa * 4 * V * phys.FFRT * (Ca * vv - 0.341 * extra.Cao) / (vv - 1) vv = if(abs(V) < 1E-5, exp(2 * 1E-5 * phys.FRT), exp(2 * V * phys.FRT)) desc: Maximum current through non-phosphorylated channels in [uA/cm^2] ICaL = IBar * (O + Os) desc: ICaL current density through non-phosphorylated channels in [uA/cm^2] # # IpCa :: The Sarcolemmal Calcium Pump # Section 1.10.1 of the thesis appendix (page 276) # Section L of [1]'s data supplement # [ipca] IpCa_bar = 0.0575 [uA/uF] : Max. Ca current through sarcolemmal Ca pump Km_pCa = 5e-4 [mM] : Half-saturation concentration of sarcolemmal Ca pump IpCa = IpCa_bar * calcium.uCa / (Km_pCa + calcium.uCa) desc: Sarcolemmal Calcium pump current in [uA/cm^2] # # IClb :: Background chloride current # Section 1.11 of the thesis appendix (page 277) # Section N of [1]'s data supplement # [iclb] Gbar = 2.25e-4 IClb = Gbar * (membrane.V - nernst.ECl) desc: Background chloride current in [uA/cm^2] # # IClCa :: Calcium-dependent chloride current (ITo2) # Section 1.12 of the thesis appendix (page 277) # Section E of [1]'s data supplement # [iclca] use membrane.V use phys.FRT use phys.FFRT kCaCl = 0.4 PCl = 9e-7 [cm/s] IClCa_bar = PCl * V * FFRT * (chloride.Cl - extra.Clo * vexp) / (1 - vexp) vexp = if(abs(V) < 1E-5, exp(1E-5 * FRT), exp(V * FRT)) KClCa = 1 - (1 / (1 + (irel.Irel_pure / kCaCl)^2)) # Thesis says 1/(1 + (Irel / kCaCl)^2) here! (KCaIto2) # Paper versions are unclear # Matlab uses IRel without added Ileak_ryr term here, so followed that... IClCa = IClCa_bar * KClCa * i2 desc: Calcium dependent chloride current (aka ITo2) in [uA/cm^2] tau = 8 [ms] dot(i2) = (alpha / (alpha + beta) - i2) / tau alpha = 0.025 / (1 + exp((V + 58) / 5)) beta = 0.200 / (1 + exp((V + 19) / -9)) desc: IClCa (ITo2) inactivation gate # # Diffusion between subcellular compartments # Section 1.13.2 of the thesis appendix (page 278) # [diff] tau_tr = 75 [ms] # Version for beta-adrenergic model Itr = (calcium.Ca_nsr - calcium.uCa_jsr) / tau_tr tau_sr = 0.02 [ms] Idiff_sr = (calcium.uCa_sr - calcium.uCa_CaL) / tau_sr tau = 0.2 [ms] Idiff_Ca = (calcium.uCa_sr - calcium.uCa) / tau Idiff_Na = (sodium.Na_sr - sodium.Na) / tau Idiff_Cl = (chloride.Cl_sr - chloride.Cl) / tau # # IK1 :: Inward rectifier Potassium current # Section 1.14.2 of the thesis appendix (page 279) # Section 3.3.11 of [2]'s supplement (page 67) # [ik1] Gbar = if(cell.EBZ < 1, 1, cell.EBZ_fact_IK1) * 0.5 * sqrt(extra.Ko / 5.4) IK1_np = Gbar * (alpha / (alpha + beta)) * vv vv = membrane.V - nernst.EK alpha = 1.02 / (1 + exp(0.2385 * (vv - 59.215))) beta = (0.49124 * exp(0.08032 * (vv + 5.476)) + exp(0.06175 * (vv - 594.31))) / (1 + exp(-0.5143 * (vv + 4.753))) desc: Non-phosphorylated component of IK1 in [uA/cm^2] IK1_camk = IK1_np * 1.2 desc: CaMKII phosphorylated component of IK1 in [uA/cm^2] IK1 = (1 - camk.f_ik1) * IK1_np + camk.f_ik1 * IK1_camk desc: Inward rectifier Potassium current in [uA/cm^2] # # IKr :: Rapid delayed rectifier Potassium current # Section 1.15.1 of the thesis appendix (page 280) # [ikr] use membrane.V as V GKr = 0.0138542 * sqrt(extra.Ko / 5.4) desc: Maximum conductivity of IKr channel in [uS] dot(ac) = (inf - ac) / tau inf = 1 / (1 + exp((V + 10.085) / -4.25)) tau = if(abs(V - -38.3608)<1E-5, 483.0, if(abs(V - 1.7384)<1E-5, 225.3, 1 / ( 6e-4 * (V - 1.7384 ) / (1 - exp(-0.136 * (V - 1.7384 ))) - 3e-4 * (V + 38.3608) / (1 - exp(0.1522 * (V + 38.3608))) ))) desc: Activation gate of IKr inx = 1 / (1 + exp((V + 10) / 15.4)) desc: Inactivation gate of IKr IKr = GKr * ac * inx * (V - nernst.EK) desc: Rapid delayed rectifier Potassium current in [uA/cm^2] # # IKS :: Slowly activating delayed rectifier Potassium current # Section 1.16.2 of the thesis appendix (page 284) # Section 3.3.3 of [2]'s data supplement (page 51) # [iks] G = 0.19561 * (1 + 0.6 / (1 + (3.8e-5 / calcium.uCa) ^ 1.4)) desc: Maximum conductivity of IKs in [uS] IKs_np = G * (iks_np.O1 + iks_np.O2 ) * (membrane.V - nernst.EKs) desc: Non-phosphorylated component of IKs in [uA/cm^2] IKs_pka = G * (iks_pka.O1 + iks_pka.O2) * (membrane.V - nernst.EKs) desc: Phosphorylated component of IKs in [uA/cm^2] f_hat = if(val < 0, 0, val) val = (iks_sig.fp_iks - ratio) / (0.785 - ratio) ratio = 0.0306 + iks_sig.IKs_arn / iks_sig.IKs_tot desc: Effective fraction of phosphorylated IKs channels IKs = f_hat * IKs_pka + (1 - f_hat) * IKs_np desc: Slowly activating delayed rectifier Potassium current in [uA/cm^2] # # IKs :: Non-phosphorylated channels # Described on page 284 of the thesis appendix, page 51 of [2]'s supplement # [iks_np] use membrane.V use phys.FRT a = 7.3990e-3 / (1 + exp(FRT * (V - 3.1196e-2) / -0.80019)) b = 5.6992e-3 / (1 + exp(FRT * (V - 4.1520e-2) / 1.3489)) g = 3.8839e-1 / (1 + exp(FRT * (V + 0.15019) / -0.60693)) d = 9.0654e-2 * exp(-0.11157 * V * FRT) e = 3.1124e-3 + (2.833e-2 - 3.1124e-3) / (1 + exp(FRT * (V + 5.166e-2) / 1.5522)) t = 2.7304e-3 o = 4.4198e-4 * exp(-1.2022 * V * FRT) p = 4.0173e-4 * exp(2.0873e-4 * V * FRT) # States dot(C1) = b*C2 - C1 * (4*a) dot(C2) = 4*a*C1 +2*b*C3 + d*C6 - C2 * (3*a + b + g) dot(C3) = 3*a*C2 +3*b*C4 + d*C7 - C3 * (2*a +2*b +2*g) dot(C4) = 2*a*C3 +4*b*C5 + d*C8 - C4 * ( a +3*b +3*g) dot(C5) = a*C4 + d*C9 - C5 * ( 4*b +4*g) dot(C6) = b*C7 + g*C2 - C6 * (3*a + d) dot(C7) = 3*a*C6 +2*b*C8 +2*g*C3 +2*d*C10 - C7 * (2*a + b + g + d) dot(C8) = 2*a*C7 +3*b*C9 +3*g*C4 +2*d*C11 - C8 * ( a +2*b +2*g + d) dot(C9) = a*C8 +4*g*C5 +2*d*C12 - C9 * ( 3*b +3*g + d) dot(C10) = b*C11 + g*C7 - C10 * (2*a +2*d) dot(C11) = 2*a*C10 +2*b*C12 +2*g*C8 +3*d*C13 - C11 * ( a + b + g +2*d) dot(C12) = a*C11 +3*g*C9 +3*d*C14 - C12 * ( 2*b +2*g +2*d) dot(C13) = b*C14 + g*C11 - C13 * ( a +3*d) dot(C14) = a*C13 +2*g*C12 +4*d*C15 - C14 * ( b + g +3*d) dot(C15) = g*C14 - C15 * ( 4*d + t) + e*O1 dot(O1) = -(e + p) * O1 + o * O2 + t * C15 dot(O2) = p * O1 - o * O2 # # IKs :: PKA phosphorylated channels # Described on page 286 of the thesis appendix, page 53 of [2]'s supplement # [iks_pka] use membrane.V use phys.FRT a = 9.9415e-3 / (1 + exp(FRT * (V - 4.4809e-2) / -0.58172)) b = 3.3201e-3 / (1 + exp(FRT * (V - 9.4217e-2) / 0.95364)) g = 5.6356e-1 / (1 + exp(FRT * (V + 0.17986) / -0.58381)) d = 6.5700e-2 * exp(-0.11899* V * FRT) e = 3.8525e-4 + (1.2406e-2 - 3.8525e-4) / (1 + exp(FRT * (V + 6.4118e-2) / 0.77992)) t = 4.6171e-3 o = 2.3730e-4 * exp(-1.9742 * V * FRT) p = 2.2652e-4 * exp(2.4689e-4 * V * FRT) # States dot(C1) = b*C2 - C1 * (4*a) dot(C2) = 4*a*C1 +2*b*C3 + d*C6 - C2 * (3*a + b + g) dot(C3) = 3*a*C2 +3*b*C4 + d*C7 - C3 * (2*a +2*b +2*g) dot(C4) = 2*a*C3 +4*b*C5 + d*C8 - C4 * ( a +3*b +3*g) dot(C5) = a*C4 + d*C9 - C5 * ( 4*b +4*g) dot(C6) = b*C7 + g*C2 - C6 * (3*a + d) dot(C7) = 3*a*C6 +2*b*C8 +2*g*C3 +2*d*C10 - C7 * (2*a + b + g + d) dot(C8) = 2*a*C7 +3*b*C9 +3*g*C4 +2*d*C11 - C8 * ( a +2*b +2*g + d) dot(C9) = a*C8 +4*g*C5 +2*d*C12 - C9 * ( 3*b +3*g + d) dot(C10) = b*C11 + g*C7 - C10 * (2*a +2*d) dot(C11) = 2*a*C10 +2*b*C12 +2*g*C8 +3*d*C13 - C11 * ( a + b + g +2*d) dot(C12) = a*C11 +3*g*C9 +3*d*C14 - C12 * ( 2*b +2*g +2*d) dot(C13) = b*C14 + g*C11 - C13 * ( a +3*d) dot(C14) = a*C13 +2*g*C12 +4*d*C15 - C14 * ( b + g +3*d) dot(C15) = g*C14 - C15 * ( 4*d + t) + e*O1 dot(O1) = -(e + p) * O1 + o * O2 + t * C15 dot(O2) = p * O1 - o * O2 # # IKur :: Ultrarapid plateau K+ current (aka IKp) # Section 1.17.2 in the thesis appendix (page 291) # Section 3.3.9 in [2]'s supplement (page 65) # [ikur] # Fraction of phosphorylated channels. Section 2.9 of the thesis appendix. ka_ikur = 6.9537e-2 [1/s] # data.k_PKAIKur = 6.9537e-002 desc: Rate of IKur phosphorylation by PKA Ka_ikur = 2.7623e-1 [umol/L] # data.Km_PKAIKur = 2.7623e-001 desc: Affinity of IKur for phosphorylation by PKA kp_ikur = 0.317 [1/s] # data.k_PPIKur = 3.1700e-001 desc: Rate of IKur dephosphorylation by phosphatases Kp_ikur = 2.331e-3 [umol/L] # data.Km_PPIKur = 2.3310e-003 desc: Affinity of IKur for dephosphorylation by phosphatases dot(f_ikur) = 1e-3 * (ka_ikur * pka_eca.C * (1 - f_ikur) / (Ka_ikur + 1 - f_ikur) - kp_ikur * pp1.PP1_eca * f_ikur / (Kp_ikur + f_ikur)) desc: Fraction of phosphorylated IKur channels # Current use membrane.V gbar_np = 3.84e-3 # Supplement says 3.48e-3, matlab code has comment saying 2.76e-3 IKur_np = gbar_np * (V - nernst.EK) / (1 + exp((15 - V) / 17)) IKur_p = gbar_np * (V - nernst.EK) / (1 + exp((36 - V) / 17)) * 3.62 # The published matlab code has some missing parentheses in the formula for IKur_p! fhat = if(val < 0, 0, val) val = (f_ikur - 0.05893798) / (0.393747 - 0.05893798) desc: Effective fraction of phosphorylated IKur channels IKur = (1 - fhat) * IKur_np + fhat * IKur_p desc: Ultrarapid plateau Potassium current in [uA/cm^2] # # INa :: Sodium current # Section 1.18.2 of the thesis appendix (page 292) # Section 3.3.7 of [2]'s supplement (page 60) # # Consists of four parts: non-phosorylated, PKA-phosphorylated, # CaMKII-phosphorylated and phosphorylated by both PKA and CaMKII. # # The gates of each type are handled in their own component. All currents are # defined in the component below. # [ina] # Fraction of phosphorylated channels. Section 2.9 of the thesis appendix. ka_ina = 0.01368 [1/s] # data.k_PKAINa = 1.3680e-002 desc: Rate of INa phosphorylation by PKA Ka_ina = 0.10988 [umol/L] # data.Km_PKAINa = 1.0988e-001 desc: Affinity of INa for phosphorylation by PKA kp_ina = 0.052811 [1/s] # data.k_PP1INa = 5.2811e-02 desc: Rate of INa dephosphorylation by phosphatases Kp_ina = 7.8605 [umol/L] # data.Km_PP1INa = 7.8605e+00 desc: Affinity of INa for dephosphorylation by phosphatases dot(f_ina) = 1e-3 * (ka_ina * pka_cav.C * (1 - f_ina) / (Ka_ina + 1 - f_ina) - kp_ina * pp1.PP1_cav * f_ina / (Kp_ina + f_ina)) desc: Fraction of phosphorylated INa channels # Fractions f_pka_hat = if(val < 0, 0, val) val = (f_ina - 0.2394795) / (0.9501431 - 0.2394795) desc: Effective fraction of phosphorylated INa channels f_both = f_pka_hat * camk.f_ina f_camk = camk.f_ina - f_both f_pka = f_pka_hat - f_both f_np = 1 - f_camk - f_pka - f_both # Currents gNaBarBase = 2.15 * 8.25 * 1.1 gNaBar = fact * gNaBarBase : Maximum conductance of the INa channel # = 19.5112 fact = if(cell.EBZ < 1, 1, cell.EBZ_fact_INa) INa_np = gNaBar * if(ina_np.m < 0, 0, if(ina_np.m > 1, 1, ina_np.m^3)) * if(ina_np.h < 0, 0, if(ina_np.h > 1, 1, ina_np.h)) * ina_np.j * (membrane.V - nernst.ENa) INa_pka = gNaBar * if(ina_pka.m < 0, 0, if(ina_pka.m > 1, 1, ina_pka.m^3)) * if(ina_pka.h < 0, 0, if(ina_pka.h > 1, 1, ina_pka.h)) * ina_pka.j * (membrane.V - nernst.ENa) * 1.25 # gNaBar is higher for INa_pka INa_camk = gNaBar * if(ina_np.m < 0, 0, if(ina_np.m > 1, 1, ina_np.m^3)) * if(ina_camk.h < 0, 0, if(ina_camk.h > 1, 1, ina_camk.h)) * ina_camk.j * (membrane.V - nernst.ENa) INa_both = gNaBar * if(ina_pka.m < 0, 0, if(ina_pka.m > 1, 1, ina_pka.m^3)) * if(ina_camk.h < 0, 0, if(ina_camk.h > 1, 1, ina_camk.h)) * ina_camk.j * (membrane.V - nernst.ENa) # Final current INa = (1 - cell.fINaBlock) * (f_np * INa_np + f_pka * INa_pka + f_camk * INa_camk + f_both * INa_both) # # INa :: non-phosphorylated channels # Described on page 293 of the thesis appendix, page 60 of [2]'s supplement. # [ina_np] use membrane.V dot(m) = alpha * (1 - m) - beta * m # The matlab code uses V + 58.4279, The paper uses V + 58.5029 alpha = if(abs(V + 58.4729) < 1E-5, 3.2, 0.32 * (V + 58.4729) / (1 - exp(-0.1 * (V + 58.4729)))) beta = 0.08 * exp((13.7299 - V) / 11) dot(h) = alpha * (1 - h) - beta * h # Supplement uses > instead of >= alpha = if(V >= -40, 0, 0.135 * exp((87 + V) / -6.8) ) beta = if(V >= -40, 1 / (0.13 * (1 + exp((V + 27.4034) / -11.1))), 3.56 * exp(0.079 * (V + 7)) + 3.1e5 * exp(0.35 * (V + 7)) ) dot(j) = alpha * (1 - j) - beta * j alpha = if(V >= -40, 0, (-1.2714e5 * exp(0.2444 * V) - 6.948e-5 * exp(-0.04391 * V)) * (V + 37.78) / (1 + exp(0.311 * (V + 79.23))) ) beta = if(V >= -40, (0.3 * exp(-2.535e-7 * V) / (1 + exp(-0.1 * (V + 32)))), 0.1212 * exp(-0.01052 * V) / (1 + exp(-0.1378 * (V + 40.14))) ) # # INa :: PKA Phosphorylated channels # Described on page 294 of the thesis appendix, page 61 of [2]'s supplement. # [ina_pka] use membrane.V dVIn = 4.9 [mV] : Inactivation # Sign is inverted in matlab code dVAc = 3.7 [mV] : Activation # Sign is inverted in matlab code dot(m) = alpha * (1 - m) - beta * m alpha = if(abs(V + dVAc + 58.4729) < 1E-5, 3.82, 0.32 * (V + dVAc + 58.4729) / (1 - exp(-0.1 * (V + dVAc + 58.4729)))) #alpha = 0.32 * (V + dVAc + 58.4729) / (1 - exp(-0.1 * (V + dVAc + 58.4729))) beta = 0.08 * exp((V + dVAc - 13.7299) / -11) dot(h) = alpha * (1 - h) - beta * h alpha = if(V >= -40, 0, 0.135 * exp((87 + V + dVIn) / -6.8) ) beta = if(V >= -40, 1 / 0.13 / (1 + exp((V + dVIn + 27.4034) / -11.1)), 3.56 * exp(0.079 * (V + dVIn + 7)) + 3.1e5 * exp(0.35 * (V + dVIn + 7)) ) dot(j) = alpha * (1 - j) - beta * j alpha = if(V >= -40, 0, ( (-1.2714e5 * exp(0.2444 * (V + dVIn)) - 6.948e-5 * exp(-0.04391 * (V + dVIn))) * (V + dVIn + 37.78) / (1 + exp(0.311 * (V + dVIn + 79.23))) ) ) beta = if(V >= -40, 0.3 * exp(-2.535e-7 * (V + dVIn)) / (1 + exp(-0.1 * (V + dVIn + 32))), 0.1212 * exp(-0.01052 * (V + dVIn)) / (1 + exp(-0.1378 * (V + dVIn + 40.14))) ) # # INa :: CaMKII Phosphorylated channels # Described on page 295 of the thesis appendix, page 62 of [2]'s supplement. # [ina_camk] use membrane.V dVIn = 3.25 [mV] : Inactivation # Sign is inverted in matlab code dot(m) = 0 #alpha * (1 - m) - beta * m # # Same as non-phosphorylated case # alpha = 0.32 * (V + 58.4729) / (1 - exp(-0.1 * (V + 58.4729))) # beta = 0.08 * exp((13.7299 - V) / 11) dot(h) = alpha * (1 - h) - beta * h alpha = if(V + dVIn >= -40, 0, 0.135 * exp((87 + V + dVIn) / -6.8) ) beta = if(V + dVIn >= -40, 1 / (0.13 * (1 + exp((V + dVIn + 27.4034) / -11.1))), 3.56 * exp(0.079 * (V + dVIn + 7)) + 3.1e5 * exp(0.35 * (V + dVIn + 7)) ) dot(j) = alpha * (1 - j) - beta * j alpha = if(V + dVIn >= -40, 0, (-1.2714e5 * exp(0.2444 * (V + dVIn)) + -6.948e-5 * exp(-0.04391 * (V + dVIn))) * (V + dVIn + 37.78) / (1 + exp(0.311 * (V + dVIn + 79.23))) ) # Paper has an extra factor 0.82 not present in the matlab code! (page 63) # Went with the matlab formulation... beta = if(V + dVIn >= -40, 0.3 * exp(-2.535e-7 * (V + dVIn)) / (1 + exp(-0.1 * (V + dVIn + 32))), 0.1212 * exp(-0.01052 * (V + dVIn)) / (1 + exp(-0.1378 * (V + dVIn + 40.14))) ) # # INab :: Background Sodium current # Section 1.19.1 of the thesis appendix (page 299) # Section H of [1]'s supplement # [inab] P = 0.32e-8 [cm/s] INab = P * phys.F * phi * (sodium.Na * ePhi - extra.Nao) / (ePhi - 1) phi = if(abs(membrane.V) < 1E-5, 1E-5 * phys.FRT, membrane.V * phys.FRT) ePhi = exp(phi) desc: Background Sodium current in [uA/cm^2] # # INaCa :: Sodium Calcium exchanger # Section 1.20.1 of the thesis appendix (page 299) # [inaca] use membrane.V as V vMax = 4.5 kSat = 0.32 eta = 0.27 Km_Ca = 1.25e-4 Km_Nai = 12.3 Km_Nao = 87.5 Km_Cai = 0.0036 Km_Cao = 1.3 Na_o3 = extra.Nao^3 KmNao3 = Km_Nao^3 KmNai3 = Km_Nai^3 Na_i3 = sodium.Na^3 Na_ss3 = sodium.Na_sr^3 exp1 = exp(eta * V * phys.FRT) exp2 = exp((eta-1) * V * phys.FRT) INaCa = num / (denom1 * denom2 * (denom3 + denom4)) num = 0.8 * vMax * (Na_i3 * extra.Cao * exp1 - Na_o3 * calcium.uCa * exp2) denom1 = 1.0 + (Km_Ca / calcium.uCa) ^ 2 denom2 = 1.0 + kSat * exp2 denom3 = Km_Cao * Na_i3 + KmNao3 * calcium.uCa + KmNai3 * extra.Cao * (1.0 + calcium.uCa / Km_Cai) denom4 = Km_Cai * Na_o3 * (1.0 + Na_i3 / KmNai3) + Na_i3 * extra.Cao + Na_o3 * calcium.uCa desc: Sodium-Calcium exchange current in [uA/cm^2] INaCaSR = num / (denom1 * denom2 * (denom3 + denom4)) num = 0.2 * vMax * (Na_ss3 * extra.Cao * exp1 - Na_o3 * calcium.uCa_sr * exp2) denom1 = 1.0 + (Km_Ca / calcium.uCa_sr) ^ 2 denom2 = 1.0 + kSat * exp2 denom3 = Km_Cao * Na_ss3 + KmNao3 * calcium.uCa_sr + KmNai3 * extra.Cao * (1.0 + calcium.uCa_sr / Km_Cai) denom4 = Km_Cai * Na_o3 * (1 + Na_ss3 / KmNai3) + Na_ss3 * extra.Cao + Na_o3 * calcium.uCa_sr desc: Sodium-Calcium exchange current into the SR subspace (SS,SR) in [uA/cm^2] # # INaK :: Na-K pump current # Section 1.21.2 of the thesis appendix (page 300) # Section 3.3.8 of [2]'s supplement (page 64) # # Consists of a CaMKII phosphorylated and a non-phosphorylated component # [inak] # Fraction of phosphorylated channels. Section 2.9 Of the thesis appendix. ka_inak = 1.5265e-2 [1/s] # data.k_PKAINaK = 1.5265e-002 desc: Rate of INaK phosphorylation by PKA Ka_inak = 1.1001e-3 [umol/L] # data.Km_PKAINaK = 1.1001e-03 desc: Affinity of INaK for phosphorylation by PKA kp_inak = 9.2455e-2 [1/s] # data.k_PP1INaK = 9.2455e-02 desc: Rate of INaK dephosphorylation by phosphatases Kp_inak = 5.7392 [umol/L] # data.Km_PP1INaK = 5.7392e+00 desc: Affinity of INaK for dephosphorylation by phosphatases dot(f_inak) = 1e-3 * (ka_inak * pka_cav.C * (1 - f_inak) / (Ka_inak + 1 - f_inak) - kp_inak * pp1.PP1_cav * f_inak / (Kp_inak + f_inak)) desc: Fraction of phosphorylated INaK # Currents km_ko = 1.5 [mmol/L] desc: Half-saturation concentration of NaK pump (p and np) ibar = 1.4 [uA/uF] desc: Maximal current through Na-K pump phi = ibar * pk / (1 + exp(-(membrane.V + 92) * phys.FRT)) pk = extra.Ko / (extra.Ko + km_ko) km_np = 2.6 [mmol/L] desc: Half-saturation concentration of NaK pump km_p = 1.846 [mmol/L] desc: Half-saturation concentration of NaK pump fhat = if(val < 0, 0, val) val = (f_inak - 0.1263453) / (0.9980137 - 0.1263453) desc: Effective fraction of phosphorylated INaK pumps INaK_np = phi * (sodium.Na / (sodium.Na + km_np))^3 in [uA/cm^2] desc: Non-phosphorylated component of INaK INaK_p = phi * (sodium.Na / (sodium.Na + km_p ))^3 in [uA/cm^2] desc: Phosphorylated component of INaK INaK = (1 - fhat) * INaK_np + fhat * INaK_p in [uA/cm^2] desc: Sodium-Potassium pump current # # INaL :: Late sodium current # Section 1.22.2 of the thesis appendix (page 303) # Section 3.3.7 of [2]'s supplement (page 63) # [inal] use membrane.V dot(m) = alpha * (1 - m) - beta * m alpha = if(abs(V - -47.13) < 1E-5, 3.2, 0.32 * (V + 47.13) / (1 - exp(-0.1*(V + 47.13))) ) beta = 0.08 *exp(V / -11) tau_h = 600 [ms] dot(h) = (h_inf - h) / tau_h h_inf = 1 / (1 + exp((V + 91) / 6.1)) # Currents conductance = if(m < 0, 0, if(m > 1, 1, m^3)) * h * (V - nernst.ENa) INaL_np = 6.5e-3 * conductance desc: Non-phosphorylated component of INaL in [uA/cm^2] INaL_camk = 1.6e-2 * conductance desc: CaMKII-phosphorylated component of INaL in [uA/cm^2] INaL = (1 - camk.f_ina) * INaL_np + camk.f_ina * INaL_camk desc: Late Sodium current in [uA/cm^2] # # Ito :: Transient outward Potassium current # Section 1.23.2 of the thesis appendix (page 305) # Section 3.3.10 of [2]'s supplement (page 66) # [ito] use membrane.V # Non-phosphorylated channels dot(a_np) = (a_inf - a_np) / a_tau a_inf = 1 / (1 + exp((V + 9.437) / -7.133)) a_tau = 1 / (alpha / 1.2089 + 3.5 * beta) alpha = 1 / (1 + exp((V - 18.4099) / -29.3814)) beta = 1 / (1 + exp((V + 100) / 29.3814)) beta_i = 1 / (1 + exp((V + 19) / -9)) / 0.5 / 9.7953 alph_if = 1 / (1 + exp((V + 58) / 5)) alph_is = 1 / (1 + exp((V + 60) / 5)) / 250 dot(if_np) = alpha * (1 - if_np) - beta_i * if_np alpha = 0.02144 * alph_if dot(is_np) = alpha * (1 - is_np) - beta_i * is_np alpha = 0.56034 * alph_is # CaMKII phosphorylated channels dot(if_camk) = alpha * (1 - if_camk) - beta_i * if_camk alpha = 0.04796 * alph_if dot(is_camk) = alpha * (1 - is_camk) - beta_i * is_camk alpha = 2.46 * alph_is # Currents R = exp(V / 550) Gbar = if(cell.EBZ < 1, 1, cell.EBZ_fact_Ito) * 0.4975 [mS/mF] : Maximum conductance of ITo channel # Called data.gitodv in the matlab code x = Gbar * a_np^3 * R * (V - nernst.EK) ITo_np = x * (0.7356 * if_np + 0.2644 * is_np) desc: Non-phosphorylated component of ITo in [uA/cm^2] ITo_camk = x * (0.7356 * if_camk + 0.2644 * is_camk) desc: CaMKII-phosphorylated component of ITo in [uA/cm^2] ITo = (1 - camk.f_ito) * ITo_np + camk.f_ito * ITo_camk desc: Transient outward Potassium current in [uA/cm^2] # # Irel :: Ryanodine receptor and SR Calcium release # Section 1.24.2 of the thesis appendix (page 307) # Section 3.3.5 of [2]'s supplement (page 56) # [irel] beta_0 = 0.6667 * 4.75 x = (1 + (0.0123 / calcium.uCa_jsr)) y = ical.ICaL / (1 + (1 / calcium.uCa_jsr)^8) # Non-phosphorylated beta_np = beta_0 * (1 + 2 * camk.f_ryr) alpha_np = 0.1125 * beta_np irel_tau_np = beta_np / x irel_inf_np = alpha_np * y dot(Irel_np) = -(irel_inf_np + Irel_np) / irel_tau_np Ileak_ryr_np = k_ryr_leak_np * exp(calcium.uCa_jsr / Km_ryr_leak_np) * (calcium.uCa_jsr - calcium.uCa_sr) k_ryr_leak_np = 1.75e-4 Km_ryr_leak_np = 20 # Phosphorylated beta_p = beta_0 * (1 + RyRP_Beta * camk.f_ryr) RyRP_Beta = if(cell.useAltRyRFunc < 1, 0, 2) alpha_p = 0.1125 * beta_p irel_tau_p = RyRP_Tau * beta_p / x RyRP_Tau = if(cell.useAltRyRFunc < 1, 0.5357, 0.5357/2.5) irel_inf_p = RyRP_Amp * alpha_p * y RyRP_Amp = if(cell.useAltRyRFunc < 1, 1.9925, 0.65) dot(Irel_p) = -(irel_inf_p + Irel_p ) / irel_tau_p Ileak_ryr_p = k_ryr_leak_p * exp(calcium.uCa_jsr / Km_ryr_leak_p) * (calcium.uCa_jsr - calcium.uCa_sr) k_ryr_leak_p = 5e-4 Km_ryr_leak_p = 1.1 # Currents fhat = if(cell.clamp_RyR2_P >= 0, cell.clamp_RyR2_P, if(val < 0, 0, val)) val = (akap_sig.fp_RyR - ratio) / (0.9586 - ratio) ratio = 0.0329 + akap_sig.RyR_arn / akap_sig.RyR_tot desc: Effective fraction of phosphorylated ryr channels #fLeakP = iso.L / (0.05 + iso.L) Not used in matlab code! Ileak_ryr = (1 - fhat) * Ileak_ryr_np + fhat * Ileak_ryr_p Irel_pure = (1 - fhat) * Irel_np + fhat * Irel_p buff_Ca_jsr = 1 / (1 + 10 * 0.8 / ((0.8 + calcium.uCa_jsr) * (0.8 + calcium.uCa_jsr))) Irel = if(buff_Ca_jsr * (Ileak_ryr + Irel_pure) * 0.005 < calcium.uCa_jsr, Ileak_ryr + Irel_pure, 0) #calcium.uCa_jsr / (buff_Ca_jsr * 0.005) # # Iup :: Phospholamban and SR Calcium uptake # Section 1.25.2 of the thesis appendix (page 312) # Section 3.3.4 of [2]'s supplement (page 55) # [iup] # Fraction of phosphorylated channels. Section 2.9 of the thesis appendix. ka_plb = 0.11348 [1/s] # data.k_PKAPLB = 1.1348e-001 # Supplement gives different value! desc: Rate of PLB phosphorylation by PKA Ka_plb = 9.8854e-4 [umol/L] # data.Km_PKAPLB = 9.8854e-004 # Supplement gives different value! desc: Affinity of PLB for phosphorylation by PKA kp_plb = 0.48302 [1/s] # data.k_PP1PLB = 4.8302e-001 # Supplement gives different value! desc: Rate of PLB dephosphorylation by phosphatases Kp_plb = 0.80737 [umol/L] # data.Km_PP1PLB = 8.0737e-001 # Supplement gives different value! desc: Affinity of PLB for dephosphorylation by phosphatases dot(f_plb) = 1e-3 * (ka_plb * pka_cyt.C * (1 - f_plb) / (Ka_plb + 1 - f_plb) - kp_plb * pp1.PP1f_cyt * f_plb / (Kp_plb + f_plb)) desc: Fraction of phosphorylated PLB # Current use camk.f_plb as f_camk f_pka = if(val < 0, 0, val) val = (f_plb - 0.6591) / (0.9945 - 0.6591) f_both = f_pka * f_camk f_pka_only = f_pka - f_both f_camk_only = f_camk - f_both f_np = 1 - f_pka - f_camk + f_both Km_np = 9.2e-4 [mmol/L] desc: SERCA/PLB, Ca2+ affinity for non-phosphorylated substrate Km_camk = Km_np - 1.7e-4 # 7.5e-4 desc: SERCA/PLB, Ca2+ affinity for CaMKII phosphorylated substrate Km_pka = Km_np * (1 - 0.46) # 4.97e-4 desc: SERCA/PLB, Ca2+ affinity for PKA phosphorylated substrate Km_both = Km_pka Km_up = ( f_np * Km_np + f_pka_only * Km_pka + f_camk_only * Km_camk + f_both * Km_both ) desc: SERCA / PLB, Neta Ca2+ affinity iupmax = 4.375e-3 desc: Maximal Ca2+ uptake flux iupmaxCAMK = 3.25 * iupmax desc: Maximal Ca2+ uptake flux nsrmax = 15 [mmol/L] f_SERCA2a = 1 / (1 + (0.03 / camk.active)^2) Imax = ((1 - f_SERCA2a) * iupmax + f_SERCA2a * iupmaxCAMK) Iup = uptake - leak desc: Ca2+ uptake uptake = Imax * calcium.uCa / (calcium.uCa + Km_up) leak = Imax * calcium.Ca_nsr / nsrmax # In the matlab code, the term Imax * (Ca_nsr / nsrmax) is treated as a # separate variable called I_leak (not to be confused with I_leak_jsr). # # Adrenergic receptor and G protein activation: constants # Section 2.3 of the thesis appendix (page 319) # Section 2.3.2 of [2]'s supplement (page 19) # # For a table of constants and parameters, see page 23-24 of the supplement, # page 323-324 of the thesis appendix. # [beta] R_b1_tot = if(cell.EBZ_BAR_Remodeling < 1, 0.85 * 0.025 [umol/L], cell.EBZ_fact_BAR * 0.85 * 0.025 [umol/L]) # data.R_b2_tot = 0.15 * 0.025; desc: Total cellular beta-1 adrenergic receptor concentration R_b2_tot = if(cell.EBZ_BAR_Remodeling < 1, 0.15 * 0.025 [umol/L], cell.EBZ_fact_BAR * 0.15 * 0.025 [umol/L]) # data.R_b1_tot = 0.85 * 0.025; desc: Total cellular beta-2 adrenergic receptor concentration f_Rb1_cav = 8.1161e-2 # data.f_Rb1_CAV = 8.1161e-002; desc: Fraction of beta-1 adrenergic receptors located in caveolar subspace f_Rb1_eca = 4.8744e-1 # data.f_Rb1_ECAV = 4.8744e-001; desc: Fraction of beta-1 adrenergic receptors located in extra caveolar space f_Rb1_cyt = 1 - f_Rb1_cav - f_Rb1_eca # No matlab counterpart desc: Fraction of beta-1 adrenergic receptors located in cytoplasm f_Rb2_cav = 0.85 # data.f_Rb2_CAV = 0.85; desc: Fraction of beta-2 adrenergic receptors located in caveolar subspace f_Rb2_eca = 1 - f_Rb2_cav # No matlab counterpart desc: Fraction of beta-2 adrenergic receptors located in extracaveolar space Gs_tot = 224 * R_b1_tot # data.Gs_tot = 224 * data.R_b1_tot; desc: Total Gs protein concentration in [umol/L] Gi_tot = 0.5 # data.Gi_tot = 0.5; desc: Total Gi protein concentration in [umol/L] f_Gs_cav = 1.1071e-3 # data.f_Gs_CAV = 1.1071e-003; desc: Fraction of Gs proteins located in caveolar subspace f_Gs_eca = 0.5664 # data.f_Gs_ECAV = 5.6640e-001; desc: Fraction of Gs proteins located in extracaveolar space f_Gs_cyt = 1 - f_Gs_cav - f_Gs_eca # No matlab counterpart desc: Fraction of Gs proteins located in cytoplasm f_Gi_cav = 0.85 # data.f_Gi_CAV = 0.85; desc: Fraction of Gi proteins located in caveolar subspace f_Gi_eca = 1 - f_Gi_cav # No matlab counterpart desc: Fraction of Gi proteins located in extracaveolar space k_b1_l = 0.567 [umol/L] # data.K_b1_l = 0.567; desc: beta-1 receptor / ligand low affinity constant k_b1_h = 0.062 [umol/L] # data.K_b1_h = 0.062; desc: beta-1 receptor / ligand high affinity constant k_b1_c = 2.4490 [umol/L] # data.K_b1_c = 2.4490e+000; desc: beta-1 receptor / G-protein affinity constant k_b2_l = 1.053 [umol/L] # data.K_b2_l = 1.053; desc: beta-2 receptor / ligand low affinity constant k_b2_h = 0.012 [umol/L] # data.K_b2_h = 0.012; desc: beta-2 receptor / ligand high affinity constant k_b2_c = 1.8463 [umol/L] # data.K_b2_c = 1.8463e+000; desc: beta-2 receptor / G-protein affinity constant k_b2_n = 1.053 [umol/L] # data.K_b2_n = 1.053; desc: Phosph. beta-2 receptor / ligand low affinity constant k_b2_f = 0.1 [umol/L] # data.K_b2_f = 0.1; desc: Phosph. beta-2 receptor / ligand high affinity constant k_b2_a = 1.6655 [umol/L] # data.K_b2_a = 1.6655e+000; desc: Phosph. beta-2 receptor / Gi-protein affinity constant # rate_bds is not used in the supplement or thesis. Instead, the results of the # following calculations are given directly. rate_bds = 0.35 # data.rate_bds = 0.35; k_pka_p = rate_bds * 0.0065 # data.k_b1_pkap = 0.0065; desc: Rate for (PKA dependent receptor) desensitization in [L/umol/s] # TODO: Check if this is true k_pka_dp = 0.15629 * k_pka_p # K_b1_PKA = 1.5629e-001; k_b1_dp = K_b1_PKA * k_b1_pkap; desc: Rate for PKA dephosphorylation in [1/s] k_grk_p = rate_bds * 0.00133 # data.k_b1_grkp = 0.00133; desc: Rate for GRK dependent receptor desensitization in [1/s] k_grk_dp = rate_bds * 9.833e-4 # data.k_b1_grkdp = 0.0009833; desc: Rate for GRK dephosphorylation in [1/s] k_act1_Gs = 4.9054 [1/s] # data.kact1_Gs = 4.9054e+000; desc: Activation rate for Gs by high affinity complex k_act2_Gs = 0.25945 [1/s] # data.kact2_Gs = 2.5945e-001; desc: Activation rate for Gs by low affinity complex k_hydr_Gs = 0.8 [1/s] # data.khydr_Gs = 0.8; desc: Gs GTP to GDP hydrolysis constant k_reas_Gs = 1.21e3 # data.kreas_Gs = 1.21E3; desc: Reassociation rate for Gs subunits in [L/umol/s] # TODO: Check if this is true k_act1_Gi = 4 [1/s] # data.kact1_Gi = 4; desc: Activation rate for Gi by high affinity complex k_act2_Gi = 0.05 [1/s] # data.kact2_Gi = 0.05; desc: Activation rate for Gi by low affinity complex k_hydr_Gi = k_hydr_Gs # data.khydr_Gi = data.khydr_Gs; desc: Gi GTP to GDP hydrolysis constant k_reas_Gi = k_reas_Gs # data.kreas_Gi = data.kreas_Gs; desc: Reassociation rate for Gi subunits in [L/umol/s] # TODO: Check if this is true # # Adrenergic receptor and G protein activation: caveolar subspace # Described on page 319 of the thesis appendix, page 19 of [2]'s supplement. # [beta_cav] R_b1_tot = beta.f_Rb1_cav * beta.R_b1_tot * cell.vr_cav desc: Total concentration of beta1AR in the caveolar subspace in [umol/L] R_b2_tot = beta.f_Rb2_cav * beta.R_b2_tot * cell.vr_cav desc: Total concentration of beta2AR in the caveolar subspace in [umol/L] # The supplement contains an error in the equations for Gs_abg and Gi_abg # that is amended in the version published in the PhD thesis. # The published matlab code is consistent with this fix # Abg stands for alpha-beta-gamma AKA all three subunits of the G protein Gs_abg = beta.f_Gs_cav * beta.Gs_tot * cell.vr_cav - Gs_aGTP - Gs_aGDP desc: Concentration of Gs holoenzyme in the caveolar subspace in [umol/L] Gi_abg = beta.f_Gi_cav * beta.Gi_tot * cell.vr_cav - Gi_aGTP - Gi_aGDP desc: Concentration of Gi holoenzyme in the caveolar subspace in [umol/L] # Non-phosphorylated beta1 and 2 AR Rb1_np_tot = R_b1_tot - Rb1_pka_tot - Rb1_grk_tot desc: Total concentration of non-phosphorylated B1AR in the caveolar subspace in [umol/L] Rb2_np_tot = R_b2_tot - Rb2_pka_tot - Rb2_grk_tot desc: Total concentration of non-phosphorylated B2AR in the caveolar subspace in [umol/L] # PKA Phosphorylated beta2AR use beta.k_b2_n as kn use beta.k_b2_f as kf use beta.k_b2_a as ka Rb2_pka_f = (-b + sqrt(b*b - 4*a*c)) / (2*a) a = (kf + iso.L) * (kn + iso.L) / kn b = Gi_abg * (iso.L + kf) - Rb2_pka_tot * (kf + iso.L) + ka * kf * (1 + iso.L / kn) c = -Rb2_pka_tot * ka * kf desc: Concentration of free PKA-phosphorylated beta2AR in the caveolar subspace in [umol/L] Gi_f = Gi_abg / (1 + (Rb2_pka_f / ka) * (1 + iso.L / kf)) desc: Concentration of free (non-complexed) Gi in the caveolar subspace in [umol/L] Rb2Gi = Rb2_pka_f * Gi_f / ka desc: Concentration of PKA phosphorylated b2AR/Gi complexes in caveolar subspace in [umol/L] LRb2Gi = Rb2Gi * iso.L / kf desc: Concentration of PKA phosphorylated Ligand/b2AR/Gi complexes in caveolar subspace in [umol/L] # The fraction of free Gs protein can be obtained by writing out the reactions # and solving the system. # The system is given as a DAE in Saucerman 2003 (J. of Bio. Chem.) but # rewritten here by assuming the reactions are instantaneous. This results in # a 3d order polynomial with a single realistic solution which is why the code # below contains a lot of temporary variables use beta.k_b1_l as L1 use beta.k_b2_l as L2 use beta.k_b1_c as C1 use beta.k_b2_c as C2 use beta.k_b1_h as H1 use beta.k_b2_h as H2 Gs_f = sqrt(r*r + i*i) c11 = C1 * H1 * L2 * (H2 + iso.L) * (L1 + iso.L) c22 = C2 * H2 * L1 * (H1 + iso.L) * (L2 + iso.L) c33 = C1 * C2 * H1 * H2 * (L1 + iso.L) * (L2 + iso.L) a = L1 * L2 * (H1 + iso.L) * (H2 + iso.L) b = (c11 + c22) / a + Rb1_np_tot + Rb2_np_tot - Gs_abg c = (c22 * (Rb1_np_tot - Gs_abg) + c11 * (Rb2_np_tot - Gs_abg) + c33) / a d = (Gs_abg * c33) / a rr = -d/27*b^3 - b*b*c*c/108 + b*c*d/6 + c^3/27 + d*d/4 yr = if(rr > 0, sqrt(rr) , 0) + d/2 + b*c/6 - b^3/27 yi = if(rr < 0, sqrt(-rr), 0) mag = (yr*yr + yi*yi) ^ (1/6) arg = atan(yi / yr) / 3 x = (c / 3 - b * b / 9) / (mag * mag) r = mag * cos(arg) * (1 - x) - b / 3 i = mag * sin(arg) * (1 + x) # phi = (d/2 + b*c/6 + b3 + sqrt(-d/27*b^3 - b*b*c*c/108 + b*c*d/6 +c^3/27 + d^2/4))^(1/3) # Gs_f = phi - (c/3 - b2/9) / phi - b / 3 # Gs_f = abs(Gs_f) desc: Concentration of free Gs in the caveolar subspace in [umol/L] # These are included in the matlab code but "sol" is never referenced again... # V = 1/3 * (3 * c - b*b); # W = 1/27 * (2 * b^3 - 9*b*c -27*d); # phi= acos(sqrt((W^2/4)/(-V^3/27))); # sol = 2*sqrt(-V/3)*cos(phi/3)-b/3; # Concentrations of free beta1AR and beta2AR Rb1_f = Rb1_np_tot / (1 + iso.L / L1 + Gs_f * (H1 + iso.L) / (C1 * H1)) desc: Concentration of free non-phosphorylated beta1AR in caveolar subspace in [umol/L] Rb2_f = Rb2_np_tot / (1 + iso.L / L2 + Gs_f * (H2 + iso.L) / (C2 * H2)) desc: Concentration of free non-phosphorylated beta2AR in caveolar subspace in [umol/L] # Concentrations of bound beta1AR LRb1 = (iso.L * Rb1_f) / L1 desc: Concentration of non-phosphorylated Ligand / Receptor1 complexes in caveolar subspace in [umol/L] Rb1Gs = (Rb1_f * Gs_f) / C1 desc: Concentration of non-phosphorylated Receptor1 / G-protein complexes in caveolar subspace in [umol/L] LRb1Gs = (iso.L * Rb1_f * Gs_f) / (C1 * H1) desc: Concentration of non-phosphorylated Ligand / Receptor1 / G-protein complexes in caveolar subspace in [umol/L] # Concentrations of bound beta2AR LRb2 = (iso.L * Rb2_f) / L2 desc: Concentration of non-phosphorylated Ligand / Receptor2 complexes in caveolar subspace in [umol/L] Rb2Gs = (Rb2_f * Gs_f) / C2 desc: Concentration of non-phosphorylated Receptor2 / G-protein complexes in caveolar subspace in [umol/L] LRb2Gs = (iso.L * Rb2_f * Gs_f) / (C2 * H2) desc: Concentration of non-phosphorylated Ligand / Receptor2 / G-protein complexes in caveolar subspace in [umol/L] # Total concentrations of bound (but unphosphorylated) beta 1 and 2 AR k_GsAct_b2 = 1.0 desc: Ratio of beta2AR incorporated in RGs_Tot and LRGs_Tot RGs_tot = Rb1Gs + k_GsAct_b2 * Rb2Gs LRGs_tot = LRb1Gs + k_GsAct_b2 * LRb2Gs # States: Concentrations of bound, phosphorylated ARs GRK = 1 dot(Rb1_pka_tot) = 1e-3 * (beta.k_pka_p * pka_cav.C * Rb1_np_tot - beta.k_pka_dp * Rb1_pka_tot) desc: Concentration of total PKA-phosphorylated beta1 receptors dot(Rb1_grk_tot) = 1e-3 * (beta.k_grk_p * GRK * (LRb1 + LRb1Gs) - beta.k_grk_dp * Rb1_grk_tot) desc: Concentration of total GRK-phosphorylated beta1 receptors dot(Rb2_pka_tot) = 1e-3 * (beta.k_pka_p * pka_cav.C * Rb2_np_tot - beta.k_pka_dp * Rb2_pka_tot) desc: Concentration of total PKA-phosphorylated beta2 receptors dot(Rb2_grk_tot) = 1e-3 * (beta.k_grk_p * GRK * (LRb2 + LRb2Gs) - beta.k_grk_dp * Rb2_grk_tot) desc: Concentration of total GRK-phosphorylated beta2 receptors # Gs dot(Gs_aGTP) = 1e-3 * (beta.k_act2_Gs * RGs_tot + beta.k_act1_Gs * LRGs_tot - beta.k_hydr_Gs * Gs_aGTP) desc: Concentration of active Gs alpha subunit in caveolar subspace (tri-phosphate) dot(Gs_bg) = 1e-3 * (beta.k_act2_Gs * RGs_tot + beta.k_act1_Gs * LRGs_tot - beta.k_reas_Gs * Gs_bg * Gs_aGDP) desc: Concentration of active Gs beta-gamma subunit in caveolar subspace dot(Gs_aGDP) = 1e-3 * (beta.k_hydr_Gs * Gs_aGTP - beta.k_reas_Gs * Gs_bg * Gs_aGDP) desc: Concentration of inactive Gs alpha subunit in caveolar subspace (di-phosphate) # Gi dot(Gi_aGTP) = 1e-3 * (beta.k_act2_Gi * Rb2Gi + beta.k_act1_Gi * LRb2Gi - beta.k_hydr_Gi * Gi_aGTP) desc: Concentration of active Gi alpha subunit in caveolar subspace dot(Gi_bg) = 1e-3 * (beta.k_act2_Gi * Rb2Gi + beta.k_act1_Gi * LRb2Gi - beta.k_reas_Gi * Gi_bg * Gi_aGDP) desc: Concentration of active Gi beta-gamma subunit in caveolar subspace dot(Gi_aGDP) = 1e-3 * (beta.k_hydr_Gi * Gi_aGTP - beta.k_reas_Gi * Gi_bg * Gi_aGDP) desc: Concentration of inactive Gi alpha subunit in caveolar subspace # # Adrenergic receptor and G protein activation: extracaveolar space # Described on page 319 of the thesis appendix, page 19 of [2]'s supplement. # [beta_eca] R_b1_tot = beta.f_Rb1_eca * beta.R_b1_tot * cell.vr_eca desc: Total concentration of beta1AR in the extracaveolar space in [umol/L] R_b2_tot = beta.f_Rb2_eca * beta.R_b2_tot * cell.vr_eca desc: Total concentration of beta2AR in the extracaveolar space in [umol/L] # The supplement contains an error in the equations for Gs_abg and Gi_abg # that is amended in the version published in the PhD thesis. # The published matlab code is consistent with this fix # Abg stands for alpha-beta-gamma AKA all three subunits of the G protein Gs_abg = beta.f_Gs_eca * beta.Gs_tot * cell.vr_eca - Gs_aGTP - Gs_aGDP desc: Concentration of Gs holoenzyme in the extracaveolar space in [umol/L] Gi_abg = beta.f_Gi_eca * beta.Gi_tot * cell.vr_eca - Gi_aGTP - Gi_aGDP desc: Concentration of Gi holoenzyme in the extracaveolar space in [umol/L] # Non-phosphorylated beta1 and 2 AR Rb1_np_tot = R_b1_tot - Rb1_pka_tot - Rb1_grk_tot desc: Total concentration of non-phosphorylated B1AR in the extracaveolar space in [umol/L] Rb2_np_tot = R_b2_tot - Rb2_pka_tot - Rb2_grk_tot desc: Total concentration of non-phosphorylated B2AR in the extracaveolar space in [umol/L] # PKA Phosphorylated beta2AR use beta.k_b2_n as kn use beta.k_b2_f as kf use beta.k_b2_a as ka Rb2_pka_f = (-b + sqrt(b*b - 4*a*c)) / (2*a) a = (kf + iso.L) * (kn + iso.L) / kn b = Gi_abg * (iso.L + kf) - Rb2_pka_tot * (kf + iso.L) + ka * kf * (1 + iso.L / kn) c = -Rb2_pka_tot * ka * kf desc: Concentration of free PKA-phosphorylated beta2AR in the extracaveolar space in [umol/L] Gi_f = Gi_abg / (1 + (Rb2_pka_f / ka) * (1 + iso.L / kf)) desc: Concentration of free (non-complexed) Gi in the extracaveolar space in [umol/L] Rb2Gi = Rb2_pka_f * Gi_f / ka desc: Concentration of PKA phosphorylated b2AR/Gi complexes in extracaveolar space in [umol/L] LRb2Gi = (iso.L / kf) * Rb2Gi desc: Concentration of PKA phosphorylated Ligand/b2AR/Gi complexes in extracaveolar space in [umol/L] # The fraction of free Gs protein can be obtained by writing out the reactions # and solving the system. # The system is given as a DAE in Saucerman 2003 (J. of Bio. Chem.) but # rewritten here by assuming the reactions are instantaneous. This results in # a 3d order polynomial with a single realistic solution which is why the code # below contains a lot of temporary variables use beta.k_b1_l as L1 use beta.k_b2_l as L2 use beta.k_b1_c as C1 use beta.k_b2_c as C2 use beta.k_b1_h as H1 use beta.k_b2_h as H2 Gs_f = sqrt(r*r + i*i) c11 = C1 * H1 * L2 * (H2 + iso.L) * (L1 + iso.L) c22 = C2 * H2 * L1 * (H1 + iso.L) * (L2 + iso.L) c33 = C1 * C2 * H1 * H2 * (L1 + iso.L) * (L2 + iso.L) a = L1 * L2 * (H1 + iso.L) * (H2 + iso.L) b = (c11 + c22) / a + Rb1_np_tot + Rb2_np_tot - Gs_abg c = (c22 * (Rb1_np_tot - Gs_abg) + c11 * (Rb2_np_tot - Gs_abg) + c33) / a d = (Gs_abg * c33) / a rr = -d/27*b^3 - b*b*c*c/108 + b*c*d/6 + c^3/27 + d*d/4 yr = if(rr > 0, sqrt(rr) , 0) + d/2 + b*c/6 - b^3/27 yi = if(rr < 0, sqrt(-rr), 0) mag = (yr*yr + yi*yi) ^ (1/6) arg = atan(yi / yr) / 3 x = (c / 3 - b * b / 9) / (mag * mag) r = mag * cos(arg) * (1 - x) - b / 3 i = mag * sin(arg) * (1 + x) # phi = (d/2 + b*c/6 + b3 + sqrt(-d/27*b^3 - b*b*c*c/108 + b*c*d/6 +c^3/27 + d^2/4))^(1/3) # Gs_f = phi - (c/3 - b2/9) / phi - b / 3 # Gs_f = abs(Gs_f) desc: Concentration of free Gs in the caveolar subspace in [umol/L] # Concentrations of free beta1AR and beta2AR Rb1_f = Rb1_np_tot / (1 + iso.L / L1 + Gs_f * (H1 + iso.L) / (C1 * H1)) desc: Concentration of free non-phosphorylated beta1AR in the extracaveolar space in [umol/L] Rb2_f = Rb2_np_tot / (1 + iso.L / L2 + Gs_f * (H2 + iso.L) / (C2 * H2)) desc: Concentration of free non-phosphorylated beta2AR in the extracaveolar space in [umol/L] # Concentrations of bound beta1AR LRb1 = (iso.L * Rb1_f) / L1 desc: Concentration of non-phosphorylated Ligand / Receptor1 complexes in the extracaveolar space in [umol/L] Rb1Gs = (Rb1_f * Gs_f) / C1 desc: Concentration of non-phosphorylated Receptor1 / G-protein complexes in the extracaveolar space in [umol/L] LRb1Gs = (iso.L * Rb1_f * Gs_f) / (C1 * H1) desc: Concentration of non-phosphorylated Ligand / Receptor1 / G-protein complexes in the extracaveolar space in [umol/L] # Concentrations of bound beta2AR LRb2 = (iso.L * Rb2_f) / L2 desc: Concentration of non-phosphorylated Ligand / Receptor2 complexes in the extracaveolar space in [umol/L] Rb2Gs = (Rb2_f * Gs_f) / C2 desc: Concentration of non-phosphorylated Receptor2 / G-protein complexes in the extracaveolar space in [umol/L] LRb2Gs = (iso.L * Rb2_f * Gs_f) / (C2 * H2) desc: Concentration of non-phosphorylated Ligand / Receptor2 / G-protein complexes in the extracaveolar space in [umol/L] # Total concentrations of bound (but unphosphorylated) beta 1 and 2 AR k_GsAct_b2 = 1.0 desc: Ratio of beta2AR incorporated in RGs_Tot and LRGs_Tot RGs_tot = Rb1Gs + k_GsAct_b2 * Rb2Gs LRGs_tot = LRb1Gs + k_GsAct_b2 * LRb2Gs # States: Concentrations of bound, phosphorylated ARs GRK = 1 dot(Rb1_pka_tot) = 1e-3 * (beta.k_pka_p * pka_eca.C * Rb1_np_tot - beta.k_pka_dp * Rb1_pka_tot) desc: Concentration of total PKA-phosphorylated beta1 receptors in the extracaveolar space dot(Rb1_grk_tot) = 1e-3 * (beta.k_grk_p * GRK * (LRb1 + LRb1Gs) - beta.k_grk_dp * Rb1_grk_tot) desc: Concentration of total GRK-phosphorylated beta1 receptors in the extracaveolar space dot(Rb2_pka_tot) = 1e-3 * (beta.k_pka_p * pka_eca.C * Rb2_np_tot - beta.k_pka_dp * Rb2_pka_tot) desc: Concentration of total PKA-phosphorylated beta2 receptors in the extracaveolar space dot(Rb2_grk_tot) = 1e-3 * (beta.k_grk_p * GRK * (LRb2 + LRb2Gs) - beta.k_grk_dp * Rb2_grk_tot) desc: Concentration of total GRK-phosphorylated beta2 receptors in the extracaveolar space # Gs dot(Gs_aGTP) = 1e-3 * (beta.k_act2_Gs * RGs_tot + beta.k_act1_Gs * LRGs_tot - beta.k_hydr_Gs * Gs_aGTP) desc: Concentration of active Gs alpha subunit in the extracaveolar space (tri-phosphate) dot(Gs_bg) = 1e-3 * (beta.k_act2_Gs * RGs_tot + beta.k_act1_Gs * LRGs_tot - beta.k_reas_Gs * Gs_bg * Gs_aGDP) desc: Concentration of active Gs beta-gamma subunit in the extracaveolar space dot(Gs_aGDP) = 1e-3 * (beta.k_hydr_Gs * Gs_aGTP - beta.k_reas_Gs * Gs_bg * Gs_aGDP) desc: Concentration of inactive Gs alpha subunit in the extracaveolar space (di-phosphate) # Gi dot(Gi_aGTP) = 1e-3 * (beta.k_act2_Gi * Rb2Gi + beta.k_act1_Gi * LRb2Gi - beta.k_hydr_Gi * Gi_aGTP) desc: Concentration of active Gi alpha subunit in the extracaveolar space dot(Gi_bg) = 1e-3 * (beta.k_act2_Gi * Rb2Gi + beta.k_act1_Gi * LRb2Gi - beta.k_reas_Gi * Gi_bg * Gi_aGDP) desc: Concentration of active Gi beta-gamma subunit in the extracaveolar space dot(Gi_aGDP) = 1e-3 * (beta.k_hydr_Gi * Gi_aGTP - beta.k_reas_Gi * Gi_bg * Gi_aGDP) desc: Concentration of inactive Gi alpha subunit in the extracaveolar space # # Adrenergic receptor and G protein activation: cytoplasm # Described on page 322 of the thesis appendix, page 22 of [2]'s supplement. # [beta_cyt] R_b1_tot = beta.f_Rb1_cyt * beta.R_b1_tot * cell.vr_cyt desc: Total concentration of beta-1 AR in the cytoplasm in [umol/L] Gs_abg = beta.f_Gs_cyt * beta.Gs_tot * cell.vr_cyt - Gs_aGTP - Gs_aGDP # Wrong in data supplement, correct in thesis! desc: Concentration of Gs holoenzyme in the cytoplasm in [umol/L] # Non-phosphorylated beta-1 Rb1_np_tot = R_b1_tot - Rb1_pka_tot - Rb1_grk_tot desc: Total concentration of non-phosphorylated beta-1 AR in the cytoplasm in [umol/L] # Non-phosphorylated fractions use beta.k_b1_l as kl use beta.k_b1_h as kh use beta.k_b1_c as kc Rb1_np_f = (-b + sqrt(b*b - 4*a*c)) / (2*a) a = (kh + iso.L) * (kl + iso.L) / kl b = Gs_abg * (kh + iso.L) - Rb1_np_tot * (kh + iso.L) + kc * kh * (1 + iso.L / kl) c = -Rb1_np_tot * kh * kc desc: Concentration of free non-phosphorylated beta-1 AR in the cytoplasm in [umol/L] Gs_f = Gs_abg / (1 + (Rb1_np_f / kc) * (1 + iso.L / kh)) desc: Concentration of free (non-complexed) Gi in the cytoplasm in [umol/L] # Concentrations of complexes LRb1_np = iso.L * Rb1_np_f / kl desc: Concentration of non-phosphorylated ligand / beta-1 AR complexes in the cytoplasm in [umol/L] Rb1Gs_np = Gs_f * Rb1_np_f / kc desc: Concentration of non-phosphorylated beta-1 AR / Gs complexes in the cytoplasm in [umol/L] LRb1Gs_np = iso.L * Rb1_np_f * Gs_f / (kc * kh) desc: Concentration of non-phosphorylated ligand / beta-1 AR / Gs complexes in the cytoplasm in [umol/L] # Concentrations of phosphorylated complexes GRK = 1 dot(Rb1_pka_tot) = 1e-3 * (beta.k_pka_p * pka_cyt.C * Rb1_np_tot - beta.k_pka_dp * Rb1_pka_tot) desc: Concentration of total PKA-phosphorylated receptors in the cytoplasm in [umol/L] dot(Rb1_grk_tot) = 1e-3 * (beta.k_grk_p * GRK * (LRb1_np + LRb1Gs_np) - beta.k_grk_dp * Rb1_grk_tot) desc: Concentration of total GRK-phosphorylated receptors in the cytoplasm in [umol/L] dot(Gs_aGTP) = 1e-3 * (beta.k_act2_Gs * Rb1Gs_np + beta.k_act1_Gs * LRb1Gs_np - beta.k_hydr_Gs * Gs_aGTP) desc: Concentration of active Gs alpha subunit in cytoplasm in [umol/L] dot(Gs_bg) = 1e-3 * (beta.k_act2_Gs * Rb1Gs_np + beta.k_act1_Gs * LRb1Gs_np - beta.k_reas_Gs * Gs_bg * Gs_aGDP) desc: Concentration of active Gs beta-gamma subunit in cytoplasm in [umol/L] dot(Gs_aGDP) = 1e-3 * (beta.k_hydr_Gs * Gs_aGTP - beta.k_reas_Gs * Gs_bg * Gs_aGDP) desc: Concentration of inactive Gs alpha subunit in cytoplasm in [umol/L] # # Adenylyl cyclase # Section 2.4 of the thesis appendix (page 324) # Section 2.3.3 of [2]'s supplement (page 24) # [ac] KmATP = 315 [umol/L] # data.KmATP = 315; desc: AC affinity for ATP ATP = 5e3 [umol/L] # data.ATP = 5E3; desc: Concentration of ATP AC_tot = 3 * beta.R_b1_tot # data.AC_tot = 3 * data.R_b1_tot; desc: Total cellular AC concentration in [umol/L] f_AC56_AC47 = 1 / (1 + 0.35) # data.f_AC56_AC47 = 1 / (1 + 0.35); desc: Fraction of AC that is of type 5/6 f_AC56_cav = 0.087459 # data.f_AC56_CAV = 8.7459e-002; desc: Fraction of AC56 located in caveolae f_AC47_eca = 0.16479 # data.f_AC47_ECAV = 1.6479e-001; desc: Fraction of AC47 in extracaveolar space KmGsAC56 = 0.0852 [umol/L] # data.AC56_Km_Gs = 0.0852; desc: AC56 affinity for Gs KmGiAC56 = 0.0465 [umol/L] # data.AC56_Km_Gi = 0.0465; desc: AC56 affinity for inhibition by Gi KmGsGiAC56 = 0.4824 [umol/L] # data.AC56_Km_GsGi = 0.4824; desc: Gs-dependence of inactivation by Gi for AC56 hGsAC56 = 1.3574 # data.AC56_hill_Gs = 1.3574; desc: Hill coefficient for AC56 activation hGsGiAC56 = 0.6623 # data.AC56_hill_GsGi = 0.6623; desc: Hill coefficient for Gs/Gi interaction of AC56 vGsGiAC56 = 0.8569 # data.AC56_V_GsGi = 0.8569; desc: Maximum reduction in Gi inhibition, by Gs basalAC56 = 0.037696 [umol/L] # data.AC56_basal = 3.7696e-002; desc: Basal AC56 activity afAC56 = 41.32 # data.AF56 = 4.1320e+001; desc: Amplification factor for AC56 KmGsAC47 = 0.031544 [umol/L] # data.AC47_Km_Gs = 0.031544; desc: AC47 affinity for Gs # data.AC47_Km_Gi = 0.053733; # data.AC47_hill_Gi = 0.8921; hGsAC47 = 1.0043 # data.AC47_hill_Gs = 1.0043; desc: Hill coefficient for AC47 activation # data.AC47_Vmax_Gi = 0; basalAC47 = 0.03135 # data.AC47_basal = 0.03135; desc: Basal AC47 activity afAC47 = 3.3757 # data.AF47 = 3.3757e+000; desc: Amplification factor for AC47 # Constant concentrations of AC56 and AC47 in subspaces AC56_cav = f_AC56_cav * f_AC56_AC47 * AC_tot * cell.vr_cav desc: Concentration of AC56 in the caveolar subspace in [umol/L] AC56_cyt = (1 - f_AC56_cav) * f_AC56_AC47 * AC_tot * cell.vr_cyt desc: Concentration of AC56 in the cytoplasm in [umol/L] AC47_eca = f_AC47_eca * (1 - f_AC56_AC47) * AC_tot * cell.vr_eca desc: Concentration of AC56 in the extracaveolar space in [umol/L] AC47_cyt = (1 - f_AC47_eca) * (1 - f_AC56_AC47) * AC_tot * cell.vr_cyt desc: Concentration of AC56 in the cytoplasm in [umol/L] # camp in various compartments fATP = ATP / (KmATP + ATP) kAC56_cav = afAC56 * (basalAC56 + gsa / (KmGsAC56 + gsa)) * (1 - (1 - vGsGiAC56 * gsi / (KmGsGiAC56 + gsi)) * beta_cav.Gi_bg / (KmGiAC56 + beta_cav.Gi_bg)) gsa = beta_cav.Gs_aGTP ^ hGsAC56 gsi = beta_cav.Gs_aGTP ^ hGsGiAC56 dcAMP_AC56_cav = kAC56_cav * AC56_cav * fATP desc: Rate of cAMP production by AC type 5/6 in caveolar subspace in [umol/L/s] kAC56_cyt = afAC56 * (basalAC56 + gsa / (KmGsAC56 + gsa)) gsa = beta_cyt.Gs_aGTP ^ hGsAC56 dcAMP_AC56_cyt = kAC56_cyt * AC56_cyt * fATP desc: Rate of cAMP production by AC type 5/6 in cytoplasm in [umol/L/s] kAC47_eca = afAC47 * (basalAC47 + gsa / (KmGsAC47 + gsa)) gsa = beta_eca.Gs_aGTP ^ hGsAC47 dcAMP_AC47_eca = kAC47_eca * AC47_eca * fATP desc: Rate of cAMP production by AC type 4/7 in extracaveolar subspace in [umol/L/s] kAC47_cyt = afAC47 * (basalAC47 + gsa / (KmGsAC47 + gsa)) gsa = beta_cyt.Gs_aGTP ^ hGsAC47 dcAMP_AC47_cyt = kAC47_cyt * AC47_cyt * fATP desc: Rate of cAMP production by AC type 4/7 in cytoplasm in [umol/L/s] # # Phosphodiesterases # Section 2.5 of the thesis appendix (page 326) # Section 2.3.4 of [2]'s supplement (page 26) # [pde] f_pde_part = 0.2 # data.f_PART_PDE = 0.2 desc: Fraction of total PDE located in the "particulate fraction" (cav + eca) # Location of PDE2 f_pde2_cav = 0.16957 # data.f_PDE2_CAV = 1.6957e-001; desc: Fraction of PDE2 located in caveolar compartment f_pde2_eca = 2.1257e-4 # data.f_PDE2_ECAV = 2.1257e-004; desc: Fraction of PDE2 located in extracaveolar compartment f_pde2_cyt = 1 - f_pde2_cav - f_pde2_eca desc: Fraction of PDE2 located in cytosolic compartment f_pde2_part = f_pde2_cav + f_pde2_eca desc: Fraction of PDE2 located in the "particulate fraction" (cav + eca) PDE2_tot = 0.029268 [umol/L] # data.PDE2_tot = 2.9268e-002; desc: Total cellular concentration of PDE2 # Location of PDE4 f_pde4_part = 0.125 # data.f_PDE4_PART = 0.125 desc: Fraction of PDE4 located in the "particulate fraction" (cav + eca) f_pde4_cav = 0.12481 # data.f_PDE4_CAV = 1.2481e-001 desc: Fraction of PDE4 in caveolar compartment f_pde4_eca = f_pde4_part - f_pde4_cav desc: Fraction of PDE4 located in the extracaveolar compartment f_pde4_cyt = 1 - f_pde4_part desc: Fraction of PDE4 in cytosolic compartment PDE4_tot = ((f_pde_part - f_pde2_part) * PDE2_tot + f_pde_part * PDE3_tot) / ((1 + r_pde34_frac) * f_pde4_part - f_pde_part) desc: Total cellular concentration of PDE4 in [umol/L] # Location of PDE3 ff_pde3_cyt = 0.35 # data.f_CYT_PDE3 = 0.35 desc: Fraction of PDE in cytosol that is of type 3 r_pde3_cyt = ff_pde3_cyt / (1 - ff_pde3_cyt) desc: Relative contribution of PDE3 to cytosolic PDE3 r_pde34_frac = 3.71 # data.r_PDE3_PDE4 = 3.71 desc: Ratio of PDE3 to PDE4 in particulate fraction (78:21) f_pde3_cav = r_pde34_frac * f_pde4_part * PDE4_tot / PDE3_tot f_pde3_cyt = 1 - f_pde3_cav #data.f_PDE3_ECAV = 0.0; PDE3_tot = (alpha / beta) * PDE2_tot alpha = r_pde3_cyt * (f_pde4_part * (1 + r_pde34_frac - r_pde34_frac * f_pde2_part - f_pde_part) + f_pde2_part * (f_pde_part - 1)) \ + r_pde34_frac * f_pde4_part * (f_pde_part - f_pde2_part) beta = f_pde4_part * (1 + r_pde34_frac + f_pde_part * (r_pde3_cyt - r_pde34_frac)) - f_pde_part * (1 + r_pde3_cyt) desc: Total cellular concentration of PDE3 in [umol/L] # IBMX ibmx = 0 # data.IBMX = 0; desc: Concentration of IBMX (in the range 0 to 100) in [umol/L] # Constants for phosphorylation rates KPDEp = 0.52218 # data.KPDEp = 5.2218e-001; kfPDEp = 0.0196 # data.kfPDEp = 0.0196; desc: Rate of phosphorylation by PKA of PDE3 and PDE4 in [umol/L/s] kbPDEp = KPDEp * kfPDEp desc: Rate of dephosphorylation of PDE3 and PDE4 in [1/s] # Check unit! kPDE2 = 20 [1/s] # data.kPDE2 = 20; desc: Rate of cAMP hydrolysis by PDE2 KmPDE2 = 50 [umol/L] # data.KmPDE2 = 50; desc: Affinity of PDE2 for cAMP kPDE3 = 2.5 [1/s] # data.kPDE3 = 2.5 desc: Rate of cAMP hydrolysis by PDE3 KmPDE3 = 0.8 [umol/L] # data.KmPDE3 = 0.8 desc: Affinity of PDE3 for cAMP kPDE4 = 4 [1/s] # data.kPDE4 = 4.0 desc: Rate of cAMP hydrolysis by PDE4 KmPDE4 = 1.4 [umol/L] # data.KmPDE4 = 1.4 desc: Affinity of PDE4 for cAMP delta_k_pde34 = 3 desc: Increase in PDE3 / PDE4 activity after phosphorylation # PDE2 In caveolar, extracaveolar and cytosolic compartment KmIbmxPde2 = 21.58 # Given as numeral desc: Affinity of IBMX for PDE2 in [umol/L] h_ibmx_pde2 = 1.167 # Given as numeral desc: Hill coefficient for inhibition of PDE2 by IBMX ibmx_h2 = ibmx ^ h_ibmx_pde2 ibmx2 = (1 - ibmx_h2 / (KmIbmxPde2 + ibmx_h2)) * PDE2_tot PDE2_cav = ibmx2 * f_pde2_cav * cell.vr_cav desc: Concentration of PDE2 in Caveolar subspace in [umol/L] PDE2_eca = ibmx2 * f_pde2_eca * cell.vr_eca desc: Concentration of PDE2 in Extracaveolar subspace in [umol/L] PDE2_cyt = ibmx2 * f_pde2_cyt * cell.vr_cyt desc: Concentration of PDE2 in Cytosolic subspace in [umol/L] # Rate of degradation dcAMP_PDE2_cav = PDE2_cav * kPDE2 / (1 + KmPDE2 / camp.cAMP_cav) desc: Rate of cAMP degradation by PDE2 in caveolar subspace in [umol/L/s] dcAMP_PDE2_eca = PDE2_eca * kPDE2 / (1 + KmPDE2 / camp.cAMP_eca) desc: Rate of cAMP degradation by PDE2 in extracaveolar subspace in [umol/L/s] dcAMP_PDE2_cyt = PDE2_cyt * kPDE2 / (1 + KmPDE2 / camp.cAMP_cyt) desc: Rate of cAMP degradation by PDE2 in cytosolic subspace in [umol/L/s] # PDE3 In caveolar and cytosolic compartment KmIbmxPde3 = 2.642 # Given as numeral desc: Affinity of IBMX for PDE3 in [umol/L] h_ibmx_pde3 = 0.7629 # Given as numeral desc: Hill coefficient for inhibition of PDE3 by IBMX ibmx_h3 = ibmx ^ h_ibmx_pde3 ibmx3 = (1 - ibmx_h3 / (KmIbmxPde3 + ibmx_h3)) * PDE3_tot PDE3_cav = ibmx3 * f_pde3_cav * cell.vr_cav desc: Concentration of PDE2 in Caveolar subspace in [umol/L] PDE3_cyt = ibmx3 * f_pde3_cyt * cell.vr_cyt desc: Concentration of PDE3 in Cytosolic subspace in [umol/L] # Rate of phosphorylation dot(PDE3_P_cav) = 1e-3 * (kfPDEp * pka_cav.C * (PDE3_cav - PDE3_P_cav) - kbPDEp * PDE3_P_cav) # 110 22 C_CAV desc: Concentration of phosphorylated PDE3 in the caveolar subspace in [umol/L] dot(PDE3_P_cyt) = 1e-3 * (kfPDEp * pka_cyt.C * (PDE3_cyt - PDE3_P_cyt) - kbPDEp * PDE3_P_cyt) # 120 32 C_CYT desc: Concentration of phosphorylated PDE3 in the cytosolic subspace in [umol/L] # Rate of degradation dcAMP_PDE3_cav = (PDE3_cav + (delta_k_pde34 - 1) * PDE3_P_cav) * kPDE3 / (1 + KmPDE3 / camp.cAMP_cav) desc: Rate of cAMP degradation by PDE3 in caveolar subspace in [umol/L/s] dcAMP_PDE3_cyt = (PDE3_cyt + (delta_k_pde34 - 1) * PDE3_P_cyt) * kPDE3 / (1 + KmPDE3 / camp.cAMP_cyt) desc: Rate of cAMP degradation by PDE3 in cytosolic subspace in [umol/L/s] # PDE4 In caveolar, extracaveolar and cytosolic compartment KmIbmxPde4 = 11.89 # Given as numeral desc: Affinity of IBMX for PDE4 in [umol/L] h_ibmx_pde4 = 0.9024 # Given as numeral desc: Hill coefficient for inhibition of PDE4 by IBMX ibmx_h4 = ibmx ^ h_ibmx_pde4 ibmx4 = (1 - ibmx_h4 / (KmIbmxPde4 + ibmx_h4)) * PDE4_tot PDE4_cav = ibmx4 * f_pde4_cav * cell.vr_cav desc: Concentration of PDE4 in Caveolar subspace in [umol/L] PDE4_eca = ibmx4 * f_pde4_eca * cell.vr_eca desc: Concentration of PDE4 in Extracaveolar subspace in [umol/L] PDE4_cyt = ibmx4 * f_pde4_cyt * cell.vr_cyt desc: Concentration of PDE4 in Cytosolic subspace in [umol/L] # Rate of phosphorylation dot(PDE4_P_cav) = 1e-3 * (kfPDEp * pka_cav.C * (PDE4_cav - PDE4_P_cav) - kbPDEp * PDE4_P_cav) # 110 22 C_CAV desc: Concentration of phosphorylated PDE4 in the caveolar subspace in [umol/L] dot(PDE4_P_eca) = 1e-3 * (kfPDEp * pka_eca.C * (PDE4_eca - PDE4_P_eca) - kbPDEp * PDE4_P_eca) # 115 27 C_ECAV desc: Concentration of phosphorylated PDE4 in the extracaveolar subspace in [umol/L] dot(PDE4_P_cyt) = 1e-3 * (kfPDEp * pka_cyt.C * (PDE4_cyt - PDE4_P_cyt) - kbPDEp * PDE4_P_cyt) # 120 32 C_CYT desc: Concentration of phosphorylated PDE4 in the cytosolic subspace in [umol/L] # Rate of degradation dcAMP_PDE4_cav = (PDE4_cav + (delta_k_pde34 - 1) * PDE4_P_cav) * kPDE4 / (1 + KmPDE4 / camp.cAMP_cav) desc: Rate of cAMP degradation by PDE4 in caveolar subspace in [umol/L/s] dcAMP_PDE4_eca = (PDE4_eca + (delta_k_pde34 - 1) * PDE4_P_eca) * kPDE4 / (1 + KmPDE4 / camp.cAMP_eca) desc: Rate of cAMP degradation by PDE4 in extracaveolar subspace in [umol/L/s] dcAMP_PDE4_cyt = (PDE4_cyt + (delta_k_pde34 - 1) * PDE4_P_cyt) * kPDE4 / (1 + KmPDE4 / camp.cAMP_cyt) desc: Rate of cAMP degradation by PDE4 in cytosolic subspace in [umol/L/s] # # PKA # Section 2.6 of the thesis appendix (page 329) # Section 2.3.5 of [2]'s supplement (page 29) # [pka] # PKA concentration and fractions PKA_tot = 0.5 [umol/L] # data.PKA_tot = 0.5 # Supplement says 0.25! desc: Total cellular concentration of PKA holoenzyme f_cav = 0.0388 # data.f_PKA_CAV = 0.0388 desc: Fraction of PKA located in caveolar compartment f_eca = 0.1 # data.f_PKA_ECAV = 0.1 desc: Fraction of PKA located in extracaveolar compartment f_cyt = 1 - f_cav - f_eca desc: Fraction of PKA located in cytosolic compartment PKA_cav = f_cav * PKA_tot * cell.vr_cav desc: Concentration of PKA in the caveolar compartment in [umol/L] PKA_eca = f_eca * PKA_tot * cell.vr_eca desc: Concentration of PKA in the extracaveolar compartment in [umol/L] PKA_cyt = f_cyt * PKA_tot * cell.vr_cyt desc: Concentration of PKA in the cytosolic compartment in [umol/L] # PKI concentration and fractions PKI_tot = 0.2 * PKA_tot # data.PKI_tot = 0.2 * data.PKA_tot desc: Total cellular concentration of PKA inhibitor in [umol/L] f_pki_cav = f_cav # data.f_PKI_CAV = data.f_PKA_CAV desc: Fraction of PKI located in caveolar compartment f_pki_eca = f_eca # data.f_PKI_ECAV = data.f_PKA_ECAV desc: Fraction of PKI located in extracaveolar compartment f_pki_cyt = 1 - f_pki_cav - f_pki_eca desc: Fraction of PKI located in cytosolic compartment # Note: The supplement and thesis appendix use PKIf = PKI - PKIC. Here, this is # resolved in the formulations of dot(C) and dot(PKIC) PKI_cav = f_pki_cav * PKI_tot * cell.vr_cav desc: Concentration of protein kinase inhibitor in caveolar compartment in [umol/L] PKI_eca = f_pki_eca * PKI_tot * cell.vr_eca desc: Concentration of protein kinase inhibitor in extracaveolar compartment in [umol/L] PKI_cyt = f_pki_cyt * PKI_tot * cell.vr_cyt desc: Concentration of protein kinase inhibitor in cytosolic compartment in [umol/L] # PKI Equilibrium and binding rates in all compartments K_pki = 0.01 / 50 # data.K_PKA_PKI = 0.01 / 50; f_pki = 50 # data.k_PKA_fPKI = 50; desc: Forward rate for inhibition of C subunit by PKI in [umol/L/s] b_pki = f_pki * K_pki desc: Backward rate for inhibition of C subunit by PKI in [1/s] # # PKA In the caveolar subspace # Desribed on page 329 of the thesis appendix. # [pka_cav] use pka.PKA_cav as PKA use pka.PKI_cav as PKI use pka.f_pki use pka.b_pki use camp.cAMP_cav as cAMP K1 = 2.4984 [umol/L] # data.K_PKAII_1 = 2.4984; desc: Caveolar equilibrium value for the binding of the first cAMP to PKA K2 = 11.359 [umol/L] # data.K_PKAII_2 = 11.359; desc: Caveolar equilibrium value for the binding of the second cAMP to PKA K3 = 0.3755 [umol/L] # data.K_PKAII_3 = 0.3755; desc: Caveolar equilibrium value for dissociation of C subunit f1 = 100 [umol/L/s] # data.k_PKA_f1 = 100 desc: Caveolar forward rate for binding of the first cAMP to PKA b1 = f1 * K1 in [1/s] desc: Caveolar backward rate for binding of the first cAMP to PKA f2 = 100 # data.k_PKA_f2 = 100 in [umol/L/s] desc: Caveolar forward rate for binding of the second cAMP to PKA b2 = f2 * K2 in [1/s] desc: Caveolar backward rate for binding of the second cAMP to PKA f3 = 100 [1/s] # data.k_PKA_f3 = 100 desc: Caveolar forward rate for dissociation of C subunit b3 = f3 * K3 in [umol/L/s] desc: Caveolar backward rate for dissociation of C subunit RCf = PKA - ARC - A2RC - A2R # Note: factor 2 is included in PKA in matlab code desc: Concentration of free PKA RC subunits in the caveolar compartment in [umol/L] dcAMP = -f1 * RCf * cAMP + b1 * ARC - f2 * ARC * cAMP + b2 * A2RC # NOT the same as -dot(ARC)! desc: Caveolar rate of change in free cAMP through binding by PKA in [umol/L/s] dot(ARC) = 1e-3 * ( f1 * RCf * cAMP - b1 * ARC - f2 * ARC * cAMP + b2 * A2RC) desc: Caveolar concentration of PKA RC dimer with 1 cAMP molecule bound in [umol/L] dot(A2RC) = 1e-3 * (f2 * ARC * cAMP - (b2 + f3) * A2RC + b3 * A2R * C) desc: Caveolar concentration of PKA RC dimer with 2 cAMP molecules bound in [umol/L] dot(A2R) = 1e-3 * (f3 * A2RC - b3 * A2R * C) desc: Caveolar concentration of PKA R subunit with 2 cAMP molecules bound in [umol/L] dot(C) = 1e-3 * (f3 * A2RC - b3 * A2R * C + b_pki * PKIC - f_pki * (PKI - PKIC) * C) desc: Caveolar concentration of free PKA catalytic subunit in [umol/L] dot(PKIC) = 1e-3 * (f_pki * (PKI - PKIC) * C - b_pki * PKIC) desc: Caveolar concentration of free PKI inactivated PKA C subunit in [umol/L] # # PKA In the extracaveolar subspace # Desribed on page 329 of the thesis appendix. # [pka_eca] use pka.PKA_eca as PKA use pka.PKI_eca as PKI use pka.f_pki use pka.b_pki use camp.cAMP_eca as cAMP K1 = pka_cav.K1 desc: Extracaveolar equilibrium value for the binding of the first cAMP to PKA in [umol/L] f1 = pka_cav.f1 desc: Extracaveolar forward rate for binding of the first cAMP to PKA in [umol/L/s] b1 = f1 * K1 desc: Extracaveolar backward rate for binding of the first cAMP to PKA in [1/s] K2 = pka_cav.K2 desc: Extracaveolar equilibrium value for the binding of the second cAMP to PKA in [umol/L] f2 = pka_cav.f2 desc: Extracaveolar forward rate for binding of the second cAMP to PKA in [umol/L/s] b2 = f2 * K2 desc: Extracaveolar backward rate for binding of the second cAMP to PKA in [1/s] K3 = pka_cav.K3 desc: Extracaveolar equilibrium value for dissociation of C subunit in [umol/L] f3 = pka_cav.f3 desc: Extracaveolar forward rate for dissociation of C subunit in [1/s] b3 = f3 * K3 desc: Extracaveolar backward rate for dissociation of C subunit in [umol/L/s] RCf = PKA - ARC - A2RC - A2R desc: Concentration of free PKA RC subunits in the Extracaveolar compartment in [umol/L] dcAMP = -f1 * RCf * cAMP + b1 * ARC - f2 * ARC * cAMP + b2 * A2RC desc: Extracaveolar rate of change in free cAMP through binding by PKA in [umol/L/s] dot(ARC) = 1e-3 * (f1 * RCf * cAMP - b1 * ARC - f2 * ARC * cAMP + b2 * A2RC) desc: Extracaveolar concentration of PKA RC dimer with 1 cAMP molecule bound in [umol/L] dot(A2RC) = 1e-3 * (f2 * ARC * cAMP - (b2 + f3) * A2RC + b3 * A2R * C) desc: Extracaveolar concentration of PKA RC dimer with 2 cAMP molecules bound in [umol/L] dot(A2R) = 1e-3 * (f3 * A2RC - b3 * A2R * C) desc: Extracaveolar concentration of PKA R subunit with 2 cAMP molecules bound in [umol/L] dot(C) = 1e-3 * (f3 * A2RC - b3 * A2R * C + b_pki * PKIC - f_pki * (PKI - PKIC) * C) desc: Extracaveolar concentration of free PKA catalytic subunit in [umol/L] dot(PKIC) = 1e-3 * (f_pki * (PKI - PKIC) * C - b_pki * PKIC) desc: Extracaveolar concentration of free PKI inactivated PKA C subunit in [umol/L] # # PKA In the cytosolic subspace # Desribed on page 330 of the thesis appendix. # [pka_cyt] use pka.PKA_cyt as PKA use pka.PKI_cyt as PKI use pka.f_pki use pka.b_pki use camp.cAMP_cyt as cAMP K1 = 0.1088 [umol/L] # data.K_PKAI_1 = 0.1088; desc: Cytosolic equilibrium value for the binding of the first cAMP to PKA f1 = pka_cav.f1 in [umol/L/s] desc: Cytosolic forward rate for binding of the first cAMP to PKA b1 = f1 * K1 in [1/s] desc: Cytosolic backward rate for binding of the first cAMP to PKA K2 = 0.4612 [umol/L] # data.K_PKAI_2 = 0.4612; desc: Cytosolic equilibrium value for binding of the second cAMP to PKA f2 = pka_cav.f2 desc: Cytosolic forward rate for binding of the second cAMP to PKA b2 = f2 * K2 in [1/s] desc: Cytosolic backward rate for binding of the second cAMP to PKA K3 = 0.3755 [umol/L] # data.K_PKAI_3 = 0.3755; desc: Cytosolic equilibrium value for dissociation of C subunit f3 = pka_cav.f3 # Supplement has a factor 6 here, probably an error! desc: Cytosolic forward rate for dissociation of C subunit b3 = f3 * K3 in [umol/L/s] desc: Cytosolic backward rate for dissociation of C subunit RCf = PKA - ARC - A2RC - A2R desc: Concentration of free PKA RC subunits in the Cytosolic compartment in [umol/L] dcAMP = -f1 * RCf * cAMP + b1 * ARC - f2 * ARC * cAMP + b2 * A2RC desc: Cytosolic rate of change in free cAMP through binding by PKA in [umol/L/s] dot(ARC) = 1e-3 * (f1 * RCf * cAMP - b1 * ARC - f2 * ARC * cAMP + b2 * A2RC) desc: Cytosolic concentration of PKA RC dimer with 1 cAMP molecule bound in [umol/L] dot(A2RC) = 1e-3 * (f2 * ARC * cAMP - (b2 + f3) * A2RC + b3 * A2R * C) desc: Cytosolic concentration of PKA RC dimer with 2 cAMP molecules bound in [umol/L] dot(A2R) = 1e-3 * (f3 * A2RC - b3 * A2R * C) desc: Cytosolic concentration of PKA R subunit with 2 cAMP molecules bound in [umol/L] dot(C) = 1e-3 * (f3 * A2RC - b3 * A2R * C + b_pki * PKIC - f_pki * (PKI - PKIC) * C) desc: Cytosolic concentration of free PKA catalytic subunit in [umol/L] dot(PKIC) = 1e-3 * (f_pki * (PKI - PKIC) * C - b_pki * PKIC) desc: Cytosolic concentration of free PKI inactivated PKA C subunit in [umol/L] # # cAMP # Section 2.7 of the thesis appendix (page 332) # Section 2.3.6 of [2]'s supplement (page 32) # [camp] j_cav_eca = 5e-15 * 1e6 [uL/s] # data.J_CAV_ECAV = 5E-15 * 1E6; desc: Rate of cAMP diffusion between caveolar and cytosolic compartments j_cav_cyt = 75e-15 * 1e6 [uL/s] # data.J_CAV_CYT = 7.5E-14 * 1E6; desc: Rate of cAMP diffusion between caveolar and extracaveolar compartments j_eca_cyt = 9e-15 * 1e6 [uL/s] # data.J_ECAV_CYT = 0.9E-14 * 1E6; desc: Rate of cAMP diffusion between extracaveolar and cytosolic compartments dot(cAMP_cav) = 1e-3 * (pka_cav.dcAMP + ac.dcAMP_AC56_cav - pde - j1 - j2) pde = pde.dcAMP_PDE2_cav + pde.dcAMP_PDE3_cav + pde.dcAMP_PDE4_cav j1 = j_cav_eca * (cAMP_cav - cAMP_eca) / cell.v_cav j2 = j_cav_cyt * (cAMP_cav - cAMP_cyt) / cell.v_cav desc: Caveolar concentration of cAMP in [umol/L] dot(cAMP_eca) = 1e-3 * (pka_eca.dcAMP + ac.dcAMP_AC47_eca - pde + j1 - j2) pde = pde.dcAMP_PDE2_eca + pde.dcAMP_PDE4_eca j1 = j_cav_eca * (cAMP_cav - cAMP_eca) / cell.v_eca j2 = j_eca_cyt * (cAMP_eca - cAMP_cyt) / cell.v_eca desc: Extracaveolar concentration of cAMP in [umol/L] dot(cAMP_cyt) = 1e-3 * (pka_cyt.dcAMP + ac.dcAMP_AC47_cyt + ac.dcAMP_AC56_cyt - pde + j1 + j2) pde = pde.dcAMP_PDE2_cyt + pde.dcAMP_PDE3_cyt + pde.dcAMP_PDE4_cyt j1 = j_cav_cyt * (cAMP_cav - cAMP_cyt) / cell.v_cyt j2 = j_eca_cyt * (cAMP_eca - cAMP_cyt) / cell.v_cyt desc: Cytosolic concentration of cAMP in [umol/L] # # PP1 :: Protein phosphate inhibitor # Section 2.8 of the thesis appendix (page 332) # Section 2.3.7 of [2]'s supplement (page 32) # [pp1] f = 0.3 # data.f_PP1_Inh1 = 0.3; desc: Fractional increase in PP1 after Inh1 knockout K = 1e-3 [umol/L] # data.KI1 = 1E-3; desc: Affinity foor PP1 Inhibitor 1 binding Kmp = 1.4690e-3 [umol/L] # data.KmI1p = 1.4690e-003; desc: Affinity of inhibitor 1 for PKA catalytic subunit Kmdp = 1.9526e-5 [umol/L] # data.KmI1dp = 1.9526e-005; desc: Affinity of inhibitor 1 for PP2A PP1_cav = 0.25 [umol/L] # data.PP_CAV = 0.25; desc: PP1 concentration in the caveolar compartment PP1_eca = 0.1 [umol/L] # data.PP1_ECAV = 0.1; desc: PP1 concentration in the extracaveolar compartment PP1_cyt = 0.2 [umol/L] # data.PP1_tot_CYT = 0.2; desc: PP1 concentration in the cytosolic compartment kfp = 30*0.010145 [1/s] # data.kfI1p = 1.0145e-002; desc: Rate of phosphorylation of inhibitor 1 by PKA kdp = 30*3.5731e-3 [umol/L/s] # data.kbI1p = 3.5731e-003; desc: Rate of dephosphorylation if inhibitor 1 PP2A = 1 # data.PP2A_CYT = 1 inhib1_tot = f / (1 - f) * K + f * PP1_cyt # I1_tot_CYT desc: Concentration of phosphatase inhibitor 1 in the cytosolic compartment in [umol/L] dot(inhib1_p) = 1e-3 * ((kfp * pka_cyt.C * di) / (Kmp + di) - (kdp * PP2A * inhib1_p) / (Kmdp + inhib1_p)) di = inhib1_tot - inhib1_p desc: Concentration of phosphorylated PP1 inhibitor 1 (cytoplasmic) in [umol/L] PP1f_cyt = 0.5 * (sqrt(sumv^2 + 4 * K * PP1_cyt) - sumv) sumv = K - PP1_cyt + inhib1_p desc: Concentration of uninhibited PP1 in the cytosolic compartment in [umol/L] # # Phosphorylation of IKs channels # Section 2.9 of the thesis appendix (page 334) # Section 2.3.8 of [2]'s supplement (page 34) # [iks_sig] # All of this happens in the extra-caveolar compartment! use pp1.PP1_eca use pka.PKA_eca use pka_eca.C as C_eca K = 0.01 [umol/L] # K_PP1_Yotiao = 0.01 desc: Binding affinity between PP1 and Yotiao M = 0.01 [umol/L] # K_PKA_Yotiao = 0.01 desc: Binding affinity between PKA and Yotiao L = 1e-4 [umol/L] # K_IKs_Yotiao = 1e-4 desc: Binding affinity between PKA and Yotiao Yotiao = 0.025 [umol/L] # Yotiao_tot = IKs_tot desc: Total concentration of Yotiao IKs_tot = 0.025 [umol/L] # IKs_tot = 0.025 desc: Total concentration of IKs channels PP1f_eca = K / 2 * (sqrt(sum^2 + 4 * PP1_eca / K) - sum) # PP1_ECAV_free sum = 1 + (Yotiao - PP1_eca) / K desc: Concentration of PP1 not bound to AKAPs in the extracaveolar compartment in [umol/L] IKsf = L / 2 * (sqrt(sum^2 + 4 * IKs_tot / L) - sum) # IKs_free sum = 1 + (Yotiao - IKs_tot) / L desc: Concentration of IKs not bound to AKAPs in the extracaveolar compartment in [umol/L] PKAf = M / 2 * (sqrt(sum^2 + 4 * PKA_eca / M) - sum) # R_free sum = 1 + (Yotiao - PKA_eca) / M desc: Concentration of PKA not bound to AKAPs in the extracaveolar compartment in [umol/L] Yotiaof = (Yotiao - IKs_tot + IKsf) / ((1 + PP1f_eca / K) * (1 + PKAf / M)) # Yotiao_free IKs_arn = IKsf * Yotiaof * PKAf / (L * M) # data.IKs_AKAP_PKA desc: Concentration of IKs channels that have an AKAP and local PKA but no PP1 available in [umol/L] IKs_arp = IKs_arn * PP1f_eca / K # data.IKs_AKAP_PKA_PP1 desc: Concentration of IKs channels that have an AKAP, local PKA and PP1 available in [umol/L] ka_iks = 0.16305 [1/s] # data.k_PKAIKS = 1.6305e-001; desc: Rate of IKs channel phosphorylation by PKA Ka_iks = 9.9794e-5 [umol/L] # data.Km_PKAIKS = 9.9794e-005; desc: Affinity of IKs channels for phosphorylation by PKA kp_iks = 1.0542 [1/s] # data.k_PP1IKS = 1.0542; desc: Rate of IKs channel dephosphorylation by phosphatases Kp_iks = 1.1147e-4 [umol/L] # data.Km_PP1IKS = 1.1147e-004; desc: Affinity of IKs channels for dephosphorylation by phosphatases # data.AKAP_Factor = 1; dot(IKsp) = 1e-3 * (ka_iks * C_eca * dif / (Ka_iks + dif) - kp_iks * PP1_eca * IKsp / (Kp_iks + IKsp)) dif = IKs_arp - IKsp desc: Concentration of phosphorylated IKs channels in [umol/L] fp_iks = (IKsp + IKs_arn) / IKs_tot desc: Fraction of phosphorylated IKs # # Phosphorylation of ICaL and Ryanodyne receptors (RyR) # Section 2.9 of the thesis appendix (page 335) # Section 2.3.8 of [2]'s supplement (page 35) # [akap_sig] # This all happens in the caveolar subspace! use pp1.PP1_cav use pka.PKA_cav Ki = 0.01 [umol/L] # data.K_PP1_akap_ICaL = 0.01 desc: Binding affinity between PP1 and ICaL AKAP Mi = 0.01 [umol/L] # data.K_PKA_akap_ICaL = 0.01 desc: Binding affinity between PKA and ICaL AKAP Li = 1e-4 [umol/L] # data.K_ICaL_akap = 1E-4 desc: Binding affinity between ICaL channel and AKAP Kr = 0.01 [umol/L] # data.K_PP1_akap_RyR = 0.01 desc: Binding affinity between PP1 and RyR AKAP Mr = 0.01 [umol/L] # data.K_PKA_akap_RyR = 0.01 desc: Binding affinity between PKA and ICaL AKAP Lr = 1e-4 [umol/L] # data.K_RyR_akap = 1E-4 desc: Binding affinity between RyR and AKAP # Concentrations ICaL_tot = 0.025 [umol/L] # data.ICaL_tot = 0.025 desc: Total concentration of ICaL channels ICaL_akap = 0.025 [umol/L] # data.AKAP_ICaL_tot = data.ICaL_tot desc: Total concentration of ICaL AKAP RyR_tot = 0.125 [umol/L] # data.RyR_tot = 5*0.025 desc: Total concentration of RyRs RyR_akap = 0.125 [umol/L] # data.AKAP_RyR_tot = data.RyR_tot desc: Total concentration of RyR AKAP PP1f_cav = mag * cos(arg) * (1 - x) - b / 3 # PP1_CAV_free b = ICaL_akap + RyR_akap + Ki + Kr - PP1_cav c = ICaL_akap * Kr + RyR_akap * Ki + Ki * Kr - PP1_cav * (Ki + Kr) d = PP1_cav * Ki * Kr rr = -d/27*b^3 - b*b*c*c/108 + b*c*d/6 + c^3/27 + d*d/4 yr = if(rr > 0, sqrt(rr) , 0) + d/2 + b*c/6 - b^3/27 yi = if(rr < 0, sqrt(-rr), 0) mag = (yr*yr + yi*yi) ^ (1/6) arg = atan(yi / yr) / 3 x = (c / 3 - b * b / 9) / (mag * mag) # phi = (d/2 + b*c/6 - b^3/27 + sqrt(-d/27*b^3 - b*b*c*c/108 + b*c*d/6 + c^3/27 + d*d/4)) ^ (1/3) # PP1f_cav = phi - (c / 3 - b * b / 9) / phi - b / 3 # PP1f_cav = real(PP1f_cav) # To avoid working with complex numbers, the sqrt() is split into a real and imaginary part... desc: Caveolar concentration of free PP1 in [umol/L] PKAf = mag * cos(arg) * (1 - x) - b / 3 # R_CAV_free b = ICaL_akap + RyR_akap + Mi + Mr - PKA_cav c = ICaL_akap * Mr + RyR_akap * Mi + Mi * Mr - PKA_cav * (Mi + Mr) d = PKA_cav * Mi * Mr rr = -d/27*b^3 - b*b*c*c/108 + b*c*d/6 + c^3/27 + d*d/4 yr = if(rr > 0, sqrt(rr) , 0) + d/2 + b*c/6 - b^3/27 yi = if(rr < 0, sqrt(-rr), 0) mag = (yr*yr + yi*yi) ^ (1/6) arg = atan(yi / yr) / 3 x = (c / 3 - b * b / 9) / (mag * mag) # phi = (d/2 + b*c/6 - b^3/27 + sqrt(-d/27*b^3 - b*b*c*c/108 + b*c*d/6 + c^3/27 + d*d/4)) ^ (1/3) # PKAf = phi - (c / 3 - b * b / 9) / phi - b / 3 # R_CAV_free = real(R_CAV_free); desc: Caveolar concentration of free PKA in [umol/L] # data.temp_rate_LCC = 1.0; ICaLf = (Li/2) * (sqrt(sum^2 + 4 * ICaL_tot / Li) - sum) # ICaL_free sum = 1 + (ICaL_akap - ICaL_tot) / Li desc: Caveolar concentration of free ICaL in [umol/L] ICaL_akapf = (ICaL_akap - ICaL_tot + ICaLf) / ((PP1f_cav / Ki + 1)*(PKAf / Mi + 1)) # AKAP_ICaL_free desc: Caveolar concentration of free ICaL AKAP in [umol/L] ICaL_arn = ICaLf * ICaL_akapf * PKAf / (Li * Mi) # ICaL_akap_PKA desc: Concentration of ICaL channels that have an AKAP, local PKA but no PP1 available ICaL_arp = ICaL_arn * PP1f_cav / Ki # ICaL_akap_PKA_PP desc: Concentration of ICaL channels that have an AKAP, local PKA and PP1 # 128 40 fLCC_P ka_ical = 5.1009e-4 [1/s] # data.k_PKALCC = 5.1009e-004 desc: Rate of ICaL channel phosphorylation by PKA Ka_ical = 1.2702e-6 [umol/L] # data.Km_PKALCC = 1.2702e-006 desc: Affinity of ICaL channels for phosphorylation by PKA kp_ical = 6.9030e-4 [1/s] # data.k_PPLCC = 6.9030e-004 desc: Rate of ICaL channel dephosphorylation by phosphatases Kp_ical = 6.3064e-3 [umol/L] # data.Km_PPLCC = 6.3064e-003 desc: Affinity of ICaL channels for dephosphorylation by phosphatases dot(ICaLp) = 1e-3 * (ka_ical * pka_cav.C * dif / (Ka_ical + dif) - kp_ical * pp1.PP1_cav * ICaLp / (Kp_ical + ICaLp)) dif = (ICaL_arp - ICaLp) desc: Concentration of phosphorylated L-type Calcium channels in [umol/L] fp_ICaL = (ICaLp + ICaL_arn) / ICaL_tot desc: Fraction of phosphorylated ICaL channels # data.temp_rate_RyR = 1.0; RyRf = (Lr/2) * (sqrt(sum^2 + 4 * RyR_tot / Lr) - sum) # RyR_free sum = 1 + (RyR_akap - RyR_tot) / Lr desc: Caveolar concentration of free RyR in [umol/L] RyR_akapf = (RyR_akap - RyR_tot + RyRf) / ((PP1f_cav / Kr + 1)*(PKAf / Mr + 1)) # AKAP_RyR_free desc: Caveolar concentration of free RyR AKAP in [umol/L] RyR_arn = RyRf * RyR_akapf * PKAf / (Lr * Mr) # RyR_akap_PKA desc: Concentration of RyR that have an AKAP, local PKA but no PP1 available RyR_arp = RyR_arn * PP1f_cav / Kr # RyR_akap_PKA_PP desc: Concentration of RyR that have an AKAP, local PKA and PP1 # 134 46 fRyR_P ka_ryr = 2.5548e-3 [1/s] # data.k_PKARyR = 2.5548e-003 desc: Rate of RyR phosphorylation by PKA Ka_ryr = 6.6298e-5 [umol/L] # data.Km_PKARyR = 6.6298e-005 desc: Affinity of RyR for phosphorylation by PKA kp_ryr = 3.8257e-3 [1/s] # data.k_PPRyR = 3.8257e-003 desc: Rate of RyR dephosphorylation by phosphatases Kp_ryr = 4.3003e-2 [umol/L] # data.Km_PPRyR = 4.3003e-02 desc: Affinity of RyR for dephosphorylation by phosphatases dot(RyRp) = 1e-3*(ka_ryr * pka_cav.C * dif / (Ka_ryr + dif) - kp_ryr * pp1.PP1_cav * RyRp / (Kp_ryr + RyRp)) dif = (RyR_arp - RyRp) fp_RyR = (RyRp + RyR_arn) / RyR_tot desc: Fraction of phosphorylated RyR channels # # camk :: CaMKII signaling and substrate phosphorylation # Section 3.1.2 of the thesis appendix (page 339) # Section 2.3.9 of [2]'s supplement (page 38) # [camk] CaMK0 = 0.05 # data.CaMK0=0.05 desc: Equilibrium fraction of active CaMKII binding sites Km = 0.0015 [mmol/L] # data.Km=1.5e-3 desc: CaMKII affinity for Ca2+/CaM activation bound = CaMK0 * (1 - trap) / (1 + Km / calcium.uCa_sr) desc: Fraction of CaMKII that has ...? #TODO active = bound + trap desc: Fraction of active CaMKII dot(trap) = alpha * bound * active - beta * trap * (0.1 + 0.9 * PP1_tot / 0.1371) alpha = if(cell.EBZ < 1, 1, cell.EBZ_fact_CaMK_alpha) * 0.05 # data.alphaCamK=0.05 beta = 6.8e-4 # data.betaCamK=6.8e-4 PP1_tot = pp1.PP1_cav / cell.vr_cav + pp1.PP1_eca / cell.vr_eca + pp1.PP1f_cyt / cell.vr_cyt tau_plb = 100000 [ms] # data.tau_PLB_CaMKII = 100000; desc: Time constant of CaMKII PLB phosphorylation tau_ryr = 10000 [ms] # data.tau_RyR_CaMKII = 10000; # Supplement uses 50000ms! desc: Time constant of CaMKII RyR phosphorylation tau_cal = tau_ryr desc: Time constant of CaMKII ICaL phosphorylation in [ms] tau_ina = tau_plb desc: Time constant of CaMKII INa phosphorylation in [ms] tau_ito = tau_plb desc: Time constant of CaMKII ITo phosphorylation in [ms] tau_ik1 = tau_plb desc: Time constant of CaMKII IK1 phosphorylation in [ms] K = 0.25 # data.KmCaMK=0.25; # Supplement uses 0.15 ! desc: Affinity of PLB, ICaL etc for CaMKII c = active / (active + K) dot(f_ical) = (c - f_ical) / tau_cal dot(f_plb) = (c - f_plb) / tau_plb dot(f_ina) = (c - f_ina) / tau_ina dot(f_ito) = (c - f_ito) / tau_ito dot(f_ik1) = (c - f_ik1) / tau_ik1 dot(f_ryr) = (d - f_ryr) / tau_ryr d = 1.0 / (1.0 + (K / active)^2) [[protocol]] # Level Start Length Period Multiplier 1.0 0 1.0 260 0 [[script]]