//Created by libAntimony v2.4 model bertram_2002__environment(time_) // Variable initializations: time_ = ; end model bertram_2002__parameters(R_gas_const, Temp, F) // Variable initializations: R_gas_const = 8314.41; Temp = 310; F = 96485; end model bertram_2002__transmitter_release(Ca, time_, T) // Assignment Rules: T := T_bar * R; // Rate Rules: R' = kr_plus * Ca * (1 - R) - kr_minus * R; // Variable initializations: R = 0; kr_plus = 0.15; kr_minus = 2.5; Ca = ; time_ = ; T_bar = 4000.0; end model bertram_2002__calcium_concentration(Ca, R_gas_const, F, Temp, V_post, O, time_) // Assignment Rules: Ca := O * Ca_open + 0.1; Ca_open := sigma / (2 * Dc * r * pi); sigma := -(5.182) * i_V; i_V := (((g_Ca * P * 2 * F * V_post) / (R_gas_const * Temp)) * Ca_ex) / (1 - exp((2 * F * V_post) / (R_gas_const * Temp))); // Variable initializations: Ca_ex = 2000.0; Dc = 220; r = 10; g_Ca = 1.2; P = 0.006; R_gas_const = ; F = ; Temp = ; V_post = ; O = ; time_ = ; end model bertram_2002__rate_constants(alpha, alpha_, beta, beta_, kG_plus, b, V_post, time_, kG_minus, kG2_minus, kG3_minus, T) // Assignment Rules: alpha := 0.45 * exp(V_post / 22); alpha_ := alpha / 8; beta := 0.015 * exp(- V_post / 14); beta_ := beta * 8; kG_plus := (3 * b) / (680 + 320 * b); // Rate Rules: b' = kb_plus * T * (1 - b) - kb_minus * b; // Variable initializations: b = 0; kb_plus = 2000.0; kb_minus = 1.0; V_post = ; time_ = ; kG_minus = 0.00025; kG2_minus = 0.016; kG3_minus = 1.024; T = ; end model bertram_2002__C1(alpha, beta, C1, C2, C_G1, kG_minus, kG_plus, time_) // Rate Rules: C1' = (beta * C2 + kG_minus * C_G1) - C1 * (4 * alpha + kG_plus); // Variable initializations: alpha = ; beta = ; C1 = 1; C2 = ; C_G1 = ; kG_minus = ; kG_plus = ; time_ = ; end model bertram_2002__C2(alpha, beta, C1, C2, C3, C_G2, kG_plus, kG2_minus, time_) // Rate Rules: C2' = (4 * alpha * C1 + 2 * beta * C3 + kG2_minus * C_G2) - C2 * (beta + 3 * alpha + kG_plus); // Variable initializations: alpha = ; beta = ; C1 = ; C2 = 0; C3 = ; C_G2 = ; kG_plus = ; kG2_minus = ; time_ = ; end model bertram_2002__C3(alpha, beta, C2, C3, C4, C_G3, kG_plus, kG3_minus, time_) // Rate Rules: C3' = (3 * alpha * C2 + 3 * beta * C4 + kG3_minus * C_G3) - C3 * (2 * beta + 2 * alpha + kG_plus); // Variable initializations: alpha = ; beta = ; C2 = ; C3 = 0; C4 = ; C_G3 = ; kG_plus = ; kG3_minus = ; time_ = ; end model bertram_2002__C4(alpha, beta, C3, C4, O, time_) // Rate Rules: C4' = (2 * alpha * C3 + 4 * beta * O) - C4 * (3 * beta + alpha); // Variable initializations: alpha = ; beta = ; C3 = ; C4 = 0; O = ; time_ = ; end model bertram_2002__O(C1, C2, C3, C4, O, C_G1, C_G2, C_G3, time_) // Assignment Rules: O := ((((((1 - C1) - C2) - C3) - C4) - C_G1) - C_G2) - C_G3; C_G := C_G1 + C_G2 + C_G3; // Variable initializations: C1 = ; C2 = ; C3 = ; C4 = ; C_G1 = ; C_G2 = ; C_G3 = ; time_ = ; end model bertram_2002__C_G1(alpha_, beta_, C1, C_G1, C_G2, time_, kG_plus, kG_minus) // Rate Rules: C_G1' = (beta_ * C_G2 + kG_plus * C1) - C_G1 * (4 * alpha_ + kG_minus); // Variable initializations: alpha_ = ; beta_ = ; C1 = ; C_G1 = 0; C_G2 = ; time_ = ; kG_plus = ; kG_minus = ; end model bertram_2002__C_G2(alpha_, beta_, C2, C_G1, C_G2, C_G3, time_, kG_plus, kG2_minus) // Rate Rules: C_G2' = (4 * alpha_ * C_G1 + 2 * beta_ * C_G3 + kG_plus * C2) - C_G2 * (beta_ + 3 * alpha_ + kG2_minus); // Variable initializations: alpha_ = ; beta_ = ; C2 = ; C_G1 = ; C_G2 = 0; C_G3 = ; time_ = ; kG_plus = ; kG2_minus = ; end model bertram_2002__C_G3(alpha_, beta_, C3, C_G2, C_G3, time_, kG_plus, kG3_minus) // Rate Rules: C_G3' = (3 * alpha_ * C_G2 + kG_plus * C3) - C_G3 * (2 * beta_ + kG3_minus); // Variable initializations: alpha_ = ; beta_ = ; C3 = ; C_G2 = ; C_G3 = 0; time_ = ; kG_plus = ; kG3_minus = ; end model bertram_2002__membrane_post(V_post, i_syn, i_Na_post, i_K_post, i_leak_post, time_) // Rate Rules: V_post' = -(i_Na_post + i_K_post + i_leak_post + i_syn) / Cm; // Variable initializations: V_post = -65; Cm = 1.0; i_syn = ; i_Na_post = ; i_K_post = ; i_leak_post = ; time_ = ; end model bertram_2002__synaptic_current(i_syn, V_post, b) // Assignment Rules: i_syn := g_syn * b * (V_post - V_syn); // Variable initializations: g_syn = 0.2; V_post = ; V_syn = 0; b = ; end model bertram_2002__leak_current_post(i_leak_post, time_, V_post) // Assignment Rules: i_leak_post := 0.3 * (V_post + 54); // Variable initializations: time_ = ; V_post = ; end model bertram_2002__sodium_current_post(i_Na_post, V_post, n_post) // Assignment Rules: i_Na_post := 120 * power(x_infinity, 3) * (1 - n_post) * (V_post - 120); x_infinity := alpha_x / (alpha_x + beta_x); alpha_x := (0.2 * (V_post + 40)) / (1 - 1 * exp(-(V_post + 40) / 10)); beta_x := 8 * exp(1 / -(V_post + 65 / 18)); // Variable initializations: V_post = ; n_post = ; end model bertram_2002__potassium_current_post(i_K_post, V_post, time_, n_post) // Assignment Rules: i_K_post := 36 * power(n_post, 4) * (V_post + 77); // Variable initializations: V_post = ; time_ = ; n_post = ; end model bertram_2002__potassium_current_n_gate_post(n_post, V_post, time_) // Assignment Rules: alpha_n := (0.02 * (V_post + 55)) / (1 - exp(-(V_post + 55) / 10)); beta_n := 0.25 * exp(-(V_post + 65) / 80); // Rate Rules: n_post' = alpha_n * (1 - n_post) - beta_n * n_post; // Variable initializations: n_post = 0; V_post = ; time_ = ; end model *bertram_2002____main() // Sub-modules, and any changes to those submodules: environment: bertram_2002__environment(time_); parameters: bertram_2002__parameters(R_gas_const, Temp, F); transmitter_release: bertram_2002__transmitter_release(Ca, time_, T); calcium_concentration: bertram_2002__calcium_concentration(Ca, R_gas_const, F, Temp, V_post, O0, time_); rate_constants: bertram_2002__rate_constants(alpha, alpha_, beta, beta_, kG_plus, b, V_post, time_, kG_minus, kG2_minus, kG3_minus, T); C1: bertram_2002__C1(alpha, beta, C10, C20, C_G10, kG_minus, kG_plus, time_); C2: bertram_2002__C2(alpha, beta, C10, C20, C30, C_G20, kG_plus, kG2_minus, time_); C3: bertram_2002__C3(alpha, beta, C20, C30, C40, C_G30, kG_plus, kG3_minus, time_); C4: bertram_2002__C4(alpha, beta, C30, C40, O0, time_); O: bertram_2002__O(C10, C20, C30, C40, O0, C_G10, C_G20, C_G30, time_); C_G1: bertram_2002__C_G1(alpha_, beta_, C10, C_G10, C_G20, time_, kG_plus, kG_minus); C_G2: bertram_2002__C_G2(alpha_, beta_, C20, C_G10, C_G20, C_G30, time_, kG_plus, kG2_minus); C_G3: bertram_2002__C_G3(alpha_, beta_, C30, C_G20, C_G30, time_, kG_plus, kG3_minus); membrane_post: bertram_2002__membrane_post(V_post, i_syn, i_Na_post, i_K_post, i_leak_post, time_); synaptic_current: bertram_2002__synaptic_current(i_syn, V_post, b); leak_current_post: bertram_2002__leak_current_post(i_leak_post, time_, V_post); sodium_current_post: bertram_2002__sodium_current_post(i_Na_post, V_post, n_post); potassium_current_post: bertram_2002__potassium_current_post(i_K_post, V_post, time_, n_post); potassium_current_n_gate_post: bertram_2002__potassium_current_n_gate_post(n_post, V_post, time_); end