//Created by libAntimony v2.4 model tran_2009__environment(time_) // Variable initializations: time_ = ; end model tran_2009__sarcomere_geometry(SOVFThick, SOVFThin, len_thin, len_thick, len_hbare, SL) // Assignment Rules: SOVFThick := (len_sovr * 2) / (len_thick - len_hbare); SOVFThin := len_sovr / len_thin; sovr_ze := piecewise( len_thick / 2 , len_thick / 2 < SL / 2 , SL / 2 ); sovr_cle := piecewise( SL / 2 - (SL - len_thin) , SL / 2 - (SL - len_thin) > len_hbare / 2 , len_hbare / 2 ); len_sovr := sovr_ze - sovr_cle; // Variable initializations: len_thin = ; len_thick = ; len_hbare = ; SL = ; end model tran_2009__Ca_binding_to_troponin_to_thin_filament_regulation(TRPNCaL, TRPNCaH, dTRPNCaL, dTRPNCaH, kn_pT, kp_nT, H, H_cons, time_, TmpC, Cai, SOVFThin) // Assignment Rules: dTRPNCaL := konT * Cai * (1 - TRPNCaL) - koffLT * TRPNCaL; dTRPNCaH := konT * Cai * (1 - TRPNCaH) - koffHT * TRPNCaH; kn_pT := kn_p * permtot * power(Qkn_p, (TmpC - 37) / 10); kp_nT := kp_n * inprmt * power(Qkp_n, (TmpC - 37) / 10); H := 10E6 * power(10, - pH); H_cons := 10E6 * power(10, -7.15); konT := ((power(kdHCa, m) + power(H_cons, m)) / (power(kdHCa, m) + power(H, m))) * (kon * power(Qkon, (TmpC - 37) / 10)); koffLT := koffL * koffmod * power(Qkoff, (TmpC - 37) / 10); koffHT := koffH * koffmod * power(Qkoff, (TmpC - 37) / 10); Tropreg := (1 - SOVFThin) * TRPNCaL + SOVFThin * TRPNCaH; permtot := root(abs(1 / (1 + power(perm50 / Tropreg, nperm)))); inprmt := piecewise( 1 / permtot , 1 / permtot < 100 , 100 ); // Rate Rules: TRPNCaL' = dTRPNCaL; TRPNCaH' = dTRPNCaH; // Variable initializations: TRPNCaL = 0.0147730085063734; TRPNCaH = 0.13066096561522; Qkon = 1.5; Qkoff = 1.3; Qkn_p = 1.6; Qkp_n = 1.6; kon = 0.05; koffL = 0.25; koffH = 0.025; perm50 = 0.5; nperm = 15; kn_p = 0.5; kp_n = 0.05; koffmod = 1; pH = 7.15; m = 1; kdHCa = 2e-2; time_ = ; TmpC = ; Cai = ; SOVFThin = ; end model tran_2009__thin_filament_regulation_and_crossbridge_cycling_rates(fappT, gappT, hfT, hbT, gxbT, fapp, gapp, hf, hb, gxb, x_0, TmpC, SOVFThick, xXBpostr, xXBprer) // Assignment Rules: fappT := fapp * xbmodsp * power(Qfapp, (TmpC - 37) / 10); gappT := gapp * gapslmd * xbmodsp * power(Qgapp, (TmpC - 37) / 10); hfT := hf * hfmd * xbmodsp * power(Qhf, (TmpC - 37) / 10); hbT := hb * hbmd * xbmodsp * power(Qhb, (TmpC - 37) / 10); gxbT := gxb * gxbmd * xbmodsp * power(Qgxb, (TmpC - 37) / 10); hfmd := exp((- xXBprer / abs(xXBprer)) * hfmdc * power(xXBprer / x_0, 2)); hbmd := exp(((xXBpostr - x_0) / abs(xXBpostr - x_0)) * hbmdc * power((xXBpostr - x_0) / x_0, 2)); gxbmd := piecewise( exp(sigmap * power((x_0 - xXBpostr) / x_0, 2)) , xXBpostr < x_0 , exp(sigman * power((xXBpostr - x_0) / x_0, 2)) ); gapslmd := 1 + (1 - SOVFThick) * gslmod; // Variable initializations: fapp = 0.5; gapp = 0.07; hf = 2; hb = 0.4; gxb = 0.07; gslmod = 6; hfmdc = 5; hbmdc = 0; sigmap = 8; sigman = 1; xbmodsp = 0.2; Qfapp = 6.25; Qgapp = 2.5; Qhf = 6.25; Qhb = 6.25; Qgxb = 6.25; x_0 = ; TmpC = ; SOVFThick = ; xXBpostr = ; xXBprer = ; end model tran_2009__regulation_and_crossbridge_cycling_state_equations(XBpostr, XBprer, dXBpostr, dXBprer, alpha1_plus, alpha2_plus, alpha3_plus, alpha1_minus, alpha2_minus, alpha3_minus, kMgATP, kdADP, xPi_cons, MgATP_cons, time_, fappT, gappT, hfT, hbT, gxbT, kn_pT, kp_nT, H, H_cons) // Assignment Rules: dXBpostr := (alpha3_minus * P + alpha2_plus * XBprer) - (alpha2_minus + alpha3_plus) * XBpostr; dXBprer := (alpha1_plus * P + alpha2_minus * XBpostr) - (alpha1_minus + alpha2_plus) * XBprer; alpha1_plus := fappT; alpha2_plus := hfT; alpha3_plus := MgATP * (gxbT / MgATP_cons) * ((kdADP + MgADP_cons) / (kdADP + MgADP)); alpha1_minus := xPi * (gappT / xPi_cons); alpha2_minus := H * (hbT / H_cons) * ((kdADP + MgADP_cons) / MgADP_cons) * (MgADP / (kdADP + MgADP)); alpha3_minus := fxbT; fxbT := (kdADP * fappT * hfT * (gxbT / MgATP_cons)) / ((gappT / xPi_cons) * (hbT / H_cons) * kMgATP); N := 1 - (P + XBprer + XBpostr); // Rate Rules: XBpostr' = dXBpostr; XBprer' = dXBprer; N_NoXB' = kp_nT * P_NoXB - kn_pT * N_NoXB; P_NoXB' = kn_pT * N_NoXB - kp_nT * P_NoXB; P' = kn_pT * N - (kp_nT + alpha1_plus) * P; // Variable initializations: XBpostr = 1.81017564383744e-6; XBprer = 3.0494964880038e-7; kMgATP = 15400e6; kdADP = 4; xPi_cons = 2e3; MgATP_cons = 5e3; N_NoXB = 0.999999959256274; P_NoXB = 4.07437173988636e-8; P = 0.999997834540066; MgADP_cons = 36; xPi = 2e3; MgATP = 5e3; MgADP = 36.3; time_ = ; fappT = ; gappT = ; hfT = ; hbT = ; gxbT = ; kn_pT = ; kp_nT = ; H = ; H_cons = ; end model tran_2009__mean_strain_of_strongly_bound_states(xXBpostr, xXBprer, dxXBpostr, dxXBprer, time_, alpha1_plus, alpha2_plus, alpha3_plus, alpha1_minus, alpha2_minus, alpha3_minus, dSL, x_0, fappT, gappT, hfT, hbT, gxbT) // Assignment Rules: dxXBpostr := dSL / 2 + (xPsi / dutypostr) * (alpha2_plus * ((xXBprer + x_0) - xXBpostr)); dxXBprer := dSL / 2 + (xPsi / dutyprer) * (-(alpha1_plus * xXBprer) + alpha2_minus * (xXBpostr - (x_0 + xXBprer))); dutyprer := (alpha3_minus * alpha2_minus + alpha3_plus * alpha1_plus + alpha2_minus * alpha1_plus) / (alpha1_plus * alpha2_plus + alpha3_minus * alpha1_minus + alpha3_minus * alpha2_plus + alpha3_minus * alpha2_minus + alpha3_plus * alpha1_plus + alpha2_minus * alpha1_plus + alpha2_plus * alpha3_plus + alpha3_minus * alpha1_minus + alpha3_plus * alpha1_minus); dutypostr := (alpha1_plus * alpha2_plus + alpha3_minus * alpha1_minus + alpha3_minus * alpha2_plus) / (alpha1_plus * alpha2_plus + alpha3_minus * alpha1_minus + alpha3_minus * alpha2_plus + alpha3_minus * alpha2_minus + alpha3_plus * alpha1_plus + alpha2_minus * alpha1_plus + alpha2_plus * alpha3_plus + alpha3_minus * alpha1_minus + alpha3_plus * alpha1_minus); // Rate Rules: xXBpostr' = dxXBpostr; xXBprer' = dxXBprer; // Variable initializations: xXBpostr = 0.00700005394873882; xXBprer = 3.41212828972468e-8; xPsi = 2; time_ = ; alpha1_plus = ; alpha2_plus = ; alpha3_plus = ; alpha1_minus = ; alpha2_minus = ; alpha3_minus = ; dSL = ; x_0 = ; fappT = ; gappT = ; hfT = ; hbT = ; gxbT = ; end model tran_2009__normalised_active_and_passive_force(SSXBpostr, SSXBprer, dSL, SL, MgATP_cons, xPi_cons, H_cons, kMgATP, kdADP, x_0, fapp, gapp, hf, hb, gxb, time_, fappT, gappT, hfT, hbT, gxbT, XBpostr, XBprer, xXBpostr, xXBprer, SOVFThick) // Assignment Rules: SSXBpostr := (fapp * hf + fxb * gapp + fxb * hb) / (hf * gxb + hb * gapp + gxb * gapp + fxb * hb + gxb * fapp + hb * fapp + fxb * gapp + fapp * hf + fxb * hb); SSXBprer := (fxb * hb + gxb * fapp + hbT * fapp) / (hf * gxb + hb * gapp + gxb * gapp + fxb * hb + gxb * fapp + hb * fapp + fxb * gapp + fapp * hf + fxb * hb); dSL := 0; Fnordv := kxb * x_0 * SSXBpostr; force := kxb * SOVFThick * (xXBpostr * XBpostr + xXBprer * XBprer); active := (1 * force) / Fnordv; ppforce := ppforce_t + ppforce_c; ppforce_t := ((SL - SLrest) / abs(SL - SLrest)) * PCon_t * (exp(PExp_t * abs(SL - SLrest)) - 1); ppforce_c := piecewise( PCon_c * (exp(PExp_c * abs(SL - SL_c)) - 1) , SL > SL_c , 0 ); preload := (abs(SLset - SLrest) / (SLset - SLrest)) * PCon_t * (exp(PExp_t * abs(SLset - SLrest)) - 1); afterload := piecewise( KSE * (SLset - SL) , SEon == 1 , 0 ); fxb := (kdADP * fapp * hf * (gxb / MgATP_cons)) / ((gapp / xPi_cons) * (hb / H_cons) * kMgATP); // Rate Rules: SL' = dSL; intf' = (preload + afterload) - (ppforce + active); // Variable initializations: SL = 2.2; kxb = 120; intf = -4.5113452510363e-6; SL_c = 2.25; SLrest = 1.85; SLset = 1.9; PCon_t = 0.002; PExp_t = 10; PCon_c = 0.02; PExp_c = 70; KSE = 1; MgATP_cons = ; xPi_cons = ; H_cons = ; kMgATP = ; kdADP = ; x_0 = ; fapp = ; gapp = ; hf = ; hb = ; gxb = ; time_ = ; fappT = ; gappT = ; hfT = ; hbT = ; gxbT = ; XBpostr = ; XBprer = ; xXBpostr = ; xXBprer = ; SOVFThick = ; SEon = 1; end model tran_2009__calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding(dSL, SL, dXBpostr, dXBprer, dxXBpostr, dxXBprer, XBpostr, XBprer, xXBpostr, xXBprer, SSXBpostr, SSXBprer, SOVFThick, SOVFThin, len_thin, len_thick, len_hbare, TRPNCaL, TRPNCaH, dTRPNCaL, dTRPNCaH) // Assignment Rules: FrSBXB := (XBpostr + XBprer) / (SSXBpostr + SSXBprer); dFrSBXB := (dXBpostr + dXBprer) / (SSXBpostr + SSXBprer); dsovr_ze := piecewise( -(0.5) * dSL , SL < len_thick , 0 ); dsovr_cle := piecewise( -(0.5) * dSL , 2 * len_thin - SL > len_hbare , 0 ); dlen_sovr := dsovr_ze - dsovr_cle; dSOVFThick := (2 * dlen_sovr) / (len_thick - len_hbare); dSOVFThin := dlen_sovr / len_thin; dforce := kxb * dSOVFThick * (xXBpostr * XBpostr + xXBprer * XBprer) + kxb * SOVFThick * (dxXBpostr * XBpostr + xXBpostr * dXBpostr + dxXBprer * XBprer + xXBprer * dXBprer); TropTot := Trop_conc * ((1 - SOVFThin) * TRPNCaL + SOVFThin * (FrSBXB * TRPNCaH + (1 - FrSBXB) * TRPNCaL)); dTropTot := Trop_conc * (- dSOVFThin * TRPNCaL + (1 - SOVFThin) * dTRPNCaL + dSOVFThin * (FrSBXB * TRPNCaH + (1 - FrSBXB) * TRPNCaL) + SOVFThin * ((dFrSBXB * TRPNCaH + FrSBXB * dTRPNCaH + (1 - FrSBXB) * dTRPNCaL) - dFrSBXB * TRPNCaL)); // Variable initializations: kxb = 120; Trop_conc = 70; dSL = ; SL = ; dXBpostr = ; dXBprer = ; dxXBpostr = ; dxXBprer = ; XBpostr = ; XBprer = ; xXBpostr = ; xXBprer = ; SSXBpostr = ; SSXBprer = ; SOVFThick = ; SOVFThin = ; len_thin = ; len_thick = ; len_hbare = ; TRPNCaL = ; TRPNCaH = ; dTRPNCaL = ; dTRPNCaH = ; end model tran_2009__model_parameters(Cai, len_thin, len_thick, len_hbare, TmpC, x_0) // Variable initializations: Cai = 200.0; len_thin = 1.2; len_thick = 1.65; len_hbare = 0.1; TmpC = 22; x_0 = 0.007; end model *tran_2009____main() // Sub-modules, and any changes to those submodules: environment: tran_2009__environment(time_); sarcomere_geometry: tran_2009__sarcomere_geometry(SOVFThick, SOVFThin, len_thin, len_thick, len_hbare, SL); Ca_binding_to_troponin_to_thin_filament_regulation: tran_2009__Ca_binding_to_troponin_to_thin_filament_regulation(TRPNCaL, TRPNCaH, dTRPNCaL, dTRPNCaH, kn_pT, kp_nT, H, H_cons, time_, TmpC, Cai, SOVFThin); thin_filament_regulation_and_crossbridge_cycling_rates: tran_2009__thin_filament_regulation_and_crossbridge_cycling_rates(fappT, gappT, hfT, hbT, gxbT, fapp, gapp, hf, hb, gxb, x_0, TmpC, SOVFThick, xXBpostr, xXBprer); regulation_and_crossbridge_cycling_state_equations: tran_2009__regulation_and_crossbridge_cycling_state_equations(XBpostr, XBprer, dXBpostr, dXBprer, alpha1_plus, alpha2_plus, alpha3_plus, alpha1_minus, alpha2_minus, alpha3_minus, kMgATP, kdADP, xPi_cons, MgATP_cons, time_, fappT, gappT, hfT, hbT, gxbT, kn_pT, kp_nT, H, H_cons); mean_strain_of_strongly_bound_states: tran_2009__mean_strain_of_strongly_bound_states(xXBpostr, xXBprer, dxXBpostr, dxXBprer, time_, alpha1_plus, alpha2_plus, alpha3_plus, alpha1_minus, alpha2_minus, alpha3_minus, dSL, x_0, fappT, gappT, hfT, hbT, gxbT); normalised_active_and_passive_force: tran_2009__normalised_active_and_passive_force(SSXBpostr, SSXBprer, dSL, SL, MgATP_cons, xPi_cons, H_cons, kMgATP, kdADP, x_0, fapp, gapp, hf, hb, gxb, time_, fappT, gappT, hfT, hbT, gxbT, XBpostr, XBprer, xXBpostr, xXBprer, SOVFThick); calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding: tran_2009__calculation_of_micromolar_per_millisecondes_of_Ca_for_apparent_Ca_binding(dSL, SL, dXBpostr, dXBprer, dxXBpostr, dxXBprer, XBpostr, XBprer, xXBpostr, xXBprer, SSXBpostr, SSXBprer, SOVFThick, SOVFThin, len_thin, len_thick, len_hbare, TRPNCaL, TRPNCaH, dTRPNCaL, dTRPNCaH); model_parameters: tran_2009__model_parameters(Cai, len_thin, len_thick, len_hbare, TmpC, x_0); end