Examples (full runnable models)
This documentation is work in progress. Currently, the extension of Documenter.jl in my package MoST.jl is still experimental. As the package evolves further, this documentation will increase in readability.
Interfaces
InaMo.Examples.Interfaces.IVBase
This model can be used as a basis for experiments that capture the current-voltage relationship of a single channel or ion pump. It will use a voltage clamp test pulse protocol with pulse amplitudes starting from v_start and continuously increasing by v_inc with each pulse.
To calculate the correct StopTime needed for the simulation of pulses starting with v_start and ending with v_end, you can use the following formula:
StopTime = ((v_end - v_start) / v_inc + 3) * (d_hold + d_pulse) - d_pulse
The offset of 3 * (d_hold + d_pulse) is required because the first value for vc.is_peak, vc.is_end and vc.is_tail is obtained after 2 * d_hold and the last value is obtained d_hold seconds after the pulse with amplitude v_end.
d_pulse and d_hold should either be chosen according to reference or roughly such that d_pulse > 5 * tau_act and d_hold > 5 * tau_inact where tau_act is the time constant of the activation and tau_inact is the time constant of inactivation of the simulated channel. This ensures that there is enough time to observe the characteristic time course of activation and inactivation and that the channel is close to its steady state at holding potential before the next pulse.
partial model IVBase "base for all experiments for current-voltage relationship"
extends InaMo.Icons.PartialExample;
InaMo.ExperimentalMethods.VoltageClamp.VCTestPulsesPeak vc "voltage pulse protocol" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
parameter SI.Voltage v_start = -0.08 "start value for pulse amplitude";
parameter SI.Voltage v_inc = 0.005 "increment for pulse amplitude";
initial equation
vc.v_pulse = v_start;
equation
when vc.pulse_end then
vc.v_pulse = pre(vc.v_pulse) + v_inc;
end when;
annotation(
Documentation(info = "
<html>
<p>This model can be used as a basis for experiments that capture the
current-voltage relationship of a single channel or ion pump.
It will use a voltage clamp test pulse protocol with pulse amplitudes
starting from v_start and continuously increasing by v_inc with each
pulse.</p>
<p>To calculate the correct StopTime needed for the simulation of pulses
starting with v_start and ending with v_end, you can use the following
formula:</p>
<code>
StopTime = ((v_end - v_start) / v_inc + 3) * (d_hold + d_pulse) - d_pulse
</code>
<p>The offset of 3 * (d_hold + d_pulse) is required because the first
value for vc.is_peak, vc.is_end and vc.is_tail is obtained after
2 * d_hold and the last value is obtained d_hold seconds after the
pulse with amplitude v_end.</p>
<p>d_pulse and d_hold should either be chosen according to reference or
roughly such that d_pulse > 5 * tau_act and d_hold > 5 * tau_inact where
tau_act is the time constant of the activation and tau_inact is the time
constant of inactivation of the simulated channel.
This ensures that there is enough time to observe the characteristic
time course of activation and inactivation and that the channel is close
to its steady state at holding potential before the next pulse.</p>
</html>
"));
end IVBase;
Full cell examples
InaMo.Examples.FullCell.FullCellCurrentPulses
model FullCellCurrentPulses "base model for full cell simulation with current pulse protocol"
extends Modelica.Icons.Example;
replaceable InaMo.Cells.VariableCa.ANCell cell "cell that should be tested" annotation(
Placement(transformation(extent = {{13, 29}, {47, 63}})));
// NOTE d_hold = 0.3 was experimentally determined to be closest to Inada 2009, S7
// other values tried: 0.1, 0.2, 0.25, 0.4, 0.5, 1
InaMo.ExperimentalMethods.CurrentClamp.CCTestPulses cc(i_hold = 0, i_pulse = -2e-9, d_hold = 0.3, d_pulse = 0.001) "current clamp protocol" annotation(
Placement(transformation(extent = {{-43, -57}, {-9, -23}})));
equation
connect(cc.p, cell.p) annotation(
Line(points = {{-26, -22}, {-26, -22}, {-26, 78}, {22, 78}, {22, 64}, {22, 64}}, color = {0, 0, 255}));
connect(cc.n, cell.n) annotation(
Line(points = {{-26, -56}, {-26, -56}, {-26, -66}, {8, -66}, {8, 46}, {22, 46}, {22, 46}}, color = {0, 0, 255}));
end FullCellCurrentPulses;
- Within group cc (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cyto (prefix _ indicates shortened variable name)
- Within group jsr (prefix _ indicates shortened variable name)
- Within group jsr_sub (prefix _ indicates shortened variable name)
- Within group nsr (prefix _ indicates shortened variable name)
- Within group sub (prefix _ indicates shortened variable name)
- Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
- Within group occupied_a (prefix _ indicates shortened variable name)
- Within group occupied_b (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
- Within group kir (prefix _ indicates shortened variable name)
- Within group kr (prefix _ indicates shortened variable name)
- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group to (prefix _ indicates shortened variable name)
Functions:
function act.fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act.fsteady;
function c_to_v "function used to determine cell volume based on membrane capacitance"
input Real c_m(quantity = "Capacitance", unit = "F", min = 0.0) "membrane capacitance";
input Real v_low(quantity = "Volume", unit = "m3") = 2.19911e-15 "low estimate for cell volume (obtained when c_m = c_low)";
input Real v_high(quantity = "Volume", unit = "m3") = 7.147123e-15 "high estimate for cell volume (obtained when c_m = c_low + c_span)";
output Real v_cell(quantity = "Volume", unit = "m3") "resulting total cell volume";
protected Real c_low(quantity = "Capacitance", unit = "F", min = 0.0) = 2e-11 "low value for c_m (where v_low is returned)";
protected Real c_span(quantity = "Capacitance", unit = "F", min = 0.0) = 4.5e-11 "span that must be added to c_m to reach an output of v_high";
algorithm
v_cell := (c_m - c_low) / c_span * (v_high - v_low) + v_low;
end c_to_v;
function inact.fsteady
input Real x "input value";
output Real y "output value";
algorithm
y := act.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * inact_fast.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;
function kr.ftau.falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end kr.ftau.falpha;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function inact_fast.ftau
input Real x "input value";
input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;
function cal.act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (cal.ftau.falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end cal.act.ftau;
function act_fast.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 39.8, 17.0) + kr.ftau.falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;
function ghkFlux "ghk flux equation for a single ion"
input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
input Integer ion_z "ion valence";
output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
protected Real g_max(quantity = "Conductance", unit = "S");
protected Real v_eq(quantity = "ElectricPotential", unit = "V");
protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
v_eq := nernst(ion_in, ion_ex, ion_z, temp);
if abs(v) < 1e-06 then
i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
else
i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
end if;
end ghkFlux;
function inact.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 9.42, 603.6) + kr.ftau.falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;
function fa
input Real x "input value";
input Real x0 = -0.035 "offset for x (fitting parameter)";
input Real sy = 65.3 "scaling factor for y (fitting parameter)";
input Real sx = -400.0 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end fa;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
input Real n(unit = "1") "Hill coefficient";
output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;
function inact_fast.fsteady
input Real x "input value";
output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
y := kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) / (kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) + act.fsteady(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end inact_fast.fsteady;
function to.act.ftau
input Real x "input value";
input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + kr.ftau.falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end to.act.ftau;
function cal.ftau.falpha
input Real x "input value";
output Real y "output value";
algorithm
y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end cal.ftau.falpha;
function p_from_g "calculate membrane permeability for ion from membrane conductance"
input Real g(quantity = "Conductance", unit = "S") "membrane conductance for given ion";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "membrane permeability for given ion";
protected Real unit_area(quantity = "Area", unit = "m2") = 1.0 "unit area of 1 m², used to get correct units";
algorithm
p := g / ion_ex * 8.3144598 * temp / (96485.33289000001 * /*Real*/(ion_z)) ^ 2.0 / unit_area;
end p_from_g;
name | unit | label | value |
---|---|---|---|
cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
cc.pulse_end | signals end of pulse | ||
cc.pulse_start | signals start of pulse | ||
cc.i_stim | "A" | input current (needs to be defined externally) | |
cc.g.p.i | "A" | Current flowing into the pin | |
cc.n.i | "A" | Current flowing into the pin | |
cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.nsr.substance.amount | "mol" | amount of substance | |
cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.jsr.substance.amount | "mol" | amount of substance | |
cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.cyto.substance.amount | "mol" | amount of substance | |
cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.sub.substance.amount | "mol" | amount of substance | |
cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
cell.to.inact_fast.n | ratio of molecules in open conformation | 0.8734 | |
cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1503 | |
cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.to.act.steady | value that n would reach if v_gate was held constant | ||
cell.to.act.n | ratio of molecules in open conformation | 0.008857 | |
cell.to.g | "S" | ion conductance | |
cell.to.i_open | "A" | i if open_ratio = 1 | |
cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cell.to.i_ion | "A" | current used for ion flux | |
cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
cell.na.inact_slow.n | ratio of molecules in open conformation | 0.6162 | |
cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
cell.na.inact_fast.n | ratio of molecules in open conformation | 0.717 | |
cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
cell.na.act.n | ratio of molecules in open conformation | 0.01227 | |
cell.na.i_open | i if open_ratio = 1 | ||
cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
cell.na.i_ion | "A" | current used for ion flux | |
cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
cell.kir.g | "S" | ion conductance | |
cell.kir.i_open | "A" | i if open_ratio = 1 | |
cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cell.kir.i_ion | "A" | current used for ion flux | |
cell.l2.i | "A" | Current flowing from pin p to pin n | |
cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
cell.nak.i | "A" | Current flowing from pin p to pin n | |
cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
cell.naca.x4 | "1" | relative frequancy of E4 states | |
cell.naca.x3 | "1" | relative frequency of E3 states | |
cell.naca.x2 | "1" | relative frequency of E2 states | |
cell.naca.x1 | "1" | relative frequency of E1 states | |
cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
cell.kr.act_total | total activation due to slow and fast activation terms | ||
cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
cell.kr.inact.n | ratio of molecules in open conformation | 0.9866 | |
cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
cell.kr.act_slow.n | ratio of molecules in open conformation | 0.0484 | |
cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
cell.kr.act_fast.n | ratio of molecules in open conformation | 0.07106999999999999 | |
cell.kr.g | "S" | ion conductance | |
cell.kr.i_open | "A" | i if open_ratio = 1 | |
cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cell.kr.i_ion | "A" | current used for ion flux | |
cell.cal.inact_total | |||
cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9985000000000001 | |
cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9875 | |
cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
cell.cal.act.n | ratio of molecules in open conformation | 4.069e-05 | |
cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
cell.cal.g | "S" | ion conductance | |
cell.cal.i_open | "A" | i if open_ratio = 1 | |
cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cell.cal.i_ion | "A" | current used for ion flux | |
cell.bg.i_ion | "A" | current used for ion flux | |
$whenCondition2 | cc.pulse_start | ||
$whenCondition1 | cc.pulse_end | ||
cell.cal.con.substance.amount | "mol" | amount of substance | cell.cal.con.c_const * cell.cal.con.vol |
cell.naca.con.substance.amount | "mol" | amount of substance | cell.naca.con.c_const * cell.naca.con.vol |
cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | cell.naca.di_2n * cell.na_in / cell.naca.k_3n_i |
cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | cell.naca.do_2n * cell.na_ex / cell.naca.k_3n_o |
cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | cell.naca.do_1n * cell.na_ex / cell.naca.k_2n_o |
cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | cell.naca.di_1n * cell.na_in / cell.naca.k_2n_i |
cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 |
cell.ca.mg.substance.amount | "mol" | amount of substance | cell.ca.mg.c_const * cell.ca.mg.vol |
cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / cell.ca.sub_cyto.tau |
cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / cell.ca.nsr_jsr.tau |
cc.g.p.v | "V" | Potential at the pin | 0.0 |
cell.cal.ach_factor | 1.0 | ||
cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | cell.na_in / cell.naca.k_1n_i |
cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | cell.ca_ex / cell.naca.k_c_o |
cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | cell.na_ex / cell.naca.k_1n_o |
cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(cell.na_ex, cell.naca.k_3n_o) |
cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(cell.na_in, cell.naca.k_3n_i) |
cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(cell.k_ex, 0.59) |
cc.i_pulse | "A" | current during pulse (must be defined externally) | -2e-09 |
cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 |
cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, cell.na_ex, 1, cell.temp) |
cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
cell.temp | "K" | cell medium temperature | 288.15 |
cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.FullCellCurrentPulses.cell.c_to_v(cell.l2.c, 2.19911e-15, 7.147123e-15) |
cell.v_cyto | "m3" | volume of cytosol | 0.46 * cell.v_cell - cell.v_sub |
cell.v_sub | "m3" | volume of subspace | 0.01 * cell.v_cell |
cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * cell.v_cell |
cell.v_nsr | "m3" | volume of network SR | 0.0116 * cell.v_cell |
cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(cell.k_in, cell.k_ex, 1, cell.temp) |
cell.bg.v_eq | "V" | equilibrium potential | -0.0525 |
cell.bg.g_max | "S" | maximum conductance | 1.8e-09 |
cell.bg.current_name | "I_b" | ||
cell.cal.v_eq | "V" | equilibrium potential | 0.0621 |
cell.cal.g_max | "S" | maximum conductance | 1.85e-08 |
cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | cell.cal.n_ca |
cell.cal.trans.z | valence of ion | 2 | |
cell.cal.con.c_const | "mol/m3" | fixed concentration | cell.ca_ex |
cell.cal.con.vol | "m3" | volume of the compartment | 1.0 |
cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
cell.cal.current_name | "I_Ca,L" | ||
cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
cell.kr.v_eq | "V" | equilibrium potential | cell.v_k |
cell.kr.g_max | "S" | maximum conductance | 1.5e-09 |
cell.kr.current_name | "I_K,r" | ||
cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | cell.naca.n_ca |
cell.naca.trans.z | valence of ion | 2 | |
cell.naca.con.c_const | "mol/m3" | fixed concentration | cell.ca_ex |
cell.naca.con.vol | "m3" | volume of the compartment | 1.0 |
cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
cell.naca.current_name | "I_NaCa" | ||
cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 |
cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / cell.temp | |
cell.nak.current_name | "I_NaK" | ||
cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 2.46e-11 |
cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 |
cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
cell.l2.c | "F" | membrane capacitance | 4e-11 |
cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
cell.l2.use_init | determines whether initial value for v is used | true | |
cell.kir.v_eq | "V" | equilibrium potential | cell.v_k |
cell.kir.g_max | "S" | maximum conductance | 1.25e-08 |
cell.kir.current_name | "I_K1" | ||
cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (cell.temp * 8.3144598) | |
cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | cell.na_ex |
cell.na.ion_p | "m3/(s.m2)" | permeability of ion | cell.na_p |
cell.na.ion_z | valence of ion | 1 | |
cell.na.current_name | "I_Na" | ||
cell.to.v_eq | "V" | equilibrium potential | cell.v_k |
cell.to.g_max | "S" | maximum conductance | 2e-08 |
cell.to.current_name | "I_to" | ||
cell.cell_type | "AN" | ||
cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 |
cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 |
cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 |
cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 |
cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 |
cell.ca.mg.vol | "m3" | volume of the compartment | cell.v_cyto |
cell.ca.sub.vol | "m3" | volume of the compartment | cell.v_sub |
cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 6.397e-05 |
cell.ca.cyto.vol | "m3" | volume of the compartment | cell.v_cyto |
cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 |
cell.ca.jsr.vol | "m3" | volume of the compartment | cell.v_jsr |
cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.4273 |
cell.ca.nsr.vol | "m3" | volume of the compartment | cell.v_nsr |
cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.068 |
cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | cell.ca.sub.vol |
cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | cell.ca.cyto.vol |
cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.sub_cyto.vol_src, cell.ca.sub_cyto.vol_dst) |
cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 |
cell.ca.cyto_nsr.current_name | "SERCA" | ||
cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | cell.ca.cyto.vol |
cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * cell.v_nsr |
cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 |
cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | cell.ca.nsr.vol |
cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | cell.ca.jsr.vol |
cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.nsr_jsr.vol_src, cell.ca.nsr_jsr.vol_dst) |
cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 |
cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | cell.ca.jsr.vol |
cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | cell.ca.sub.vol |
cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.jsr_sub.vol_src, cell.ca.jsr_sub.vol_dst) |
cell.ca.jsr_sub.current_name | "RyR" | ||
cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1805.6 |
cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 |
cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 |
cell.ca.tc.n_tot | "mol" | total amount of buffer | cell.ca.tc_tot * cell.v_cyto |
cell.ca.tc.f_start | "1" | initial value for f | 0.02359 |
cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / cell.v_cyto |
cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 |
cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.tc.assoc.k | "mol-1s-1" | association constant | cell.ca.tc.k |
cell.ca.tc.assoc.kb | "s-1" | dissociation constant | cell.ca.tc.kb |
cell.ca.tc.free.vol | "m3" | volume of the compartment | cell.ca.tc.vol |
cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.tc.f_start) * cell.ca.tc.n_tot / cell.ca.tc.vol |
cell.ca.tc.occupied.vol | "m3" | volume of the compartment | cell.ca.tc.vol |
cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.tc.f_start * cell.ca.tc.n_tot / cell.ca.tc.vol |
cell.ca.tm.n_tot | "mol" | total amount of buffer | cell.ca.tmc_tot * cell.v_cyto |
cell.ca.tm.f_a_start | "1" | initial value for f | 0.3667 |
cell.ca.tm.f_b_start | "1" | initial value for f | 0.5594 |
cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / cell.v_cyto |
cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / cell.v_cyto |
cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 |
cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 |
cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | cell.v_cyto |
cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | cell.ca.tm.k_a |
cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | cell.ca.tm.kb_a |
cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | cell.ca.tm.k_b |
cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | cell.ca.tm.kb_b |
cell.ca.tm.free.vol | "m3" | volume of the compartment | cell.ca.tm.vol |
cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (cell.ca.tm.f_a_start + cell.ca.tm.f_b_start)) * cell.ca.tm.n_tot / cell.ca.tm.vol |
cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | cell.ca.tm.vol |
cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | cell.ca.tm.f_a_start * cell.ca.tm.n_tot / cell.ca.tm.vol |
cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | cell.ca.tm.vol |
cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | cell.ca.tm.f_b_start * cell.ca.tm.n_tot / cell.ca.tm.vol |
cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | cell.ca.cm_tot * cell.v_cyto |
cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.04845 |
cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / cell.v_cyto |
cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 |
cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_cyto.k |
cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_cyto.kb |
cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | cell.ca.cm_cyto.vol |
cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_cyto.f_start) * cell.ca.cm_cyto.n_tot / cell.ca.cm_cyto.vol |
cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_cyto.vol |
cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_cyto.f_start * cell.ca.cm_cyto.n_tot / cell.ca.cm_cyto.vol |
cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | cell.ca.cm_tot * cell.v_sub |
cell.ca.cm_sub.f_start | "1" | initial value for f | 0.02626 |
cell.ca.cm_sub.k | "mol-1s-1" | association constant | cell.ca.cm_cyto.k * cell.v_cyto / cell.v_sub |
cell.ca.cm_sub.kb | "s-1" | dissociation constant | cell.ca.cm_cyto.kb |
cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_sub.k |
cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_sub.kb |
cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | cell.ca.cm_sub.vol |
cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_sub.f_start) * cell.ca.cm_sub.n_tot / cell.ca.cm_sub.vol |
cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_sub.vol |
cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_sub.f_start * cell.ca.cm_sub.n_tot / cell.ca.cm_sub.vol |
cell.ca.cq.n_tot | "mol" | total amount of buffer | cell.ca.cq_tot * cell.v_jsr |
cell.ca.cq.f_start | "1" | initial value for f | 0.3379 |
cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / cell.v_jsr |
cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 |
cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.cq.assoc.k | "mol-1s-1" | association constant | cell.ca.cq.k |
cell.ca.cq.assoc.kb | "s-1" | dissociation constant | cell.ca.cq.kb |
cell.ca.cq.free.vol | "m3" | volume of the compartment | cell.ca.cq.vol |
cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cq.f_start) * cell.ca.cq.n_tot / cell.ca.cq.vol |
cell.ca.cq.occupied.vol | "m3" | volume of the compartment | cell.ca.cq.vol |
cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cq.f_start * cell.ca.cq.n_tot / cell.ca.cq.vol |
cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 |
cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | cell.ca.cm_sl_tot * cell.v_sub |
cell.ca.cm_sl.f_start | "1" | initial value for f | 3.936e-05 |
cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / cell.v_sub |
cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 |
cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_sl.k |
cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_sl.kb |
cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | cell.ca.cm_sl.vol |
cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_sl.f_start) * cell.ca.cm_sl.n_tot / cell.ca.cm_sl.vol |
cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_sl.vol |
cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_sl.f_start * cell.ca.cm_sl.n_tot / cell.ca.cm_sl.vol |
cc.d_hold | "s" | holding period | 0.3 |
cc.d_pulse | "s" | pulse period | 0.001 |
cc.i_hold | "A" | current during holding period | 0.0 |
cell.na.ion_in | "mol/m3" | intracellular concentration of ion | cell.na_in |
cell.bg.g | "S" | ion conductance | cell.bg.g_max |
InaMo.Examples.FullCell.FullCellSpon
model FullCellSpon "base model for full cell simulation without stimulation"
extends Modelica.Icons.Example;
replaceable InaMo.Cells.VariableCa.NCell cell "cell that should be tested" annotation(
Placement(transformation(extent = {{13, 29}, {47, 63}})));
Modelica.Electrical.Analog.Basic.Ground g "electrical ground to provide reference potential" annotation(
Placement(transformation(extent = {{-43, -57}, {-9, -23}})));
equation
connect(cell.n, g.p) annotation(
Line(points = {{-26, -22}, {-26, -22}, {-26, 46}, {22, 46}, {22, 46}}, color = {0, 0, 255}));
end FullCellSpon;
- Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cyto (prefix _ indicates shortened variable name)
- Within group jsr (prefix _ indicates shortened variable name)
- Within group jsr_sub (prefix _ indicates shortened variable name)
- Within group nsr (prefix _ indicates shortened variable name)
- Within group sub (prefix _ indicates shortened variable name)
- Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
- Within group occupied_a (prefix _ indicates shortened variable name)
- Within group occupied_b (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
- Within group hcn (prefix _ indicates shortened variable name)
- Within group kr (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
Functions:
function act.fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0182 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 200.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act.fsteady;
function fbeta.fa
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fbeta.fa;
function c_to_v "function used to determine cell volume based on membrane capacitance"
input Real c_m(quantity = "Capacitance", unit = "F", min = 0.0) "membrane capacitance";
input Real v_low(quantity = "Volume", unit = "m3") = 2.19911e-15 "low estimate for cell volume (obtained when c_m = c_low)";
input Real v_high(quantity = "Volume", unit = "m3") = 7.147123e-15 "high estimate for cell volume (obtained when c_m = c_low + c_span)";
output Real v_cell(quantity = "Volume", unit = "m3") "resulting total cell volume";
protected Real c_low(quantity = "Capacitance", unit = "F", min = 0.0) = 2e-11 "low value for c_m (where v_low is returned)";
protected Real c_span(quantity = "Capacitance", unit = "F", min = 0.0) = 4.5e-11 "span that must be added to c_m to reach an output of v_high";
algorithm
v_cell := (c_m - c_low) / c_span * (v_high - v_low) + v_low;
end c_to_v;
function st.act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (st.ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end st.act.ftau;
function kr.ftau.falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end kr.ftau.falpha;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function inact.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + kr.ftau.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;
function inact_fast.ftau
input Real x "input value";
input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;
function st.ftau.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end st.ftau.falpha;
function inact.fbeta
input Real x "input value";
output Real y "output value";
algorithm
y := fbeta.fa(x, 0.0) + act.fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;
function falpha.fa
input Real x "input value";
input Real x0 = -0.035 "offset for x (fitting parameter)";
input Real sy = 65.3 "scaling factor for y (fitting parameter)";
input Real sx = -400.0 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end falpha.fa;
function inact.fsteady
input Real x "input value";
output Real y "output value";
algorithm
y := act.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * inact_fast.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function inact.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 9.42, 603.6) + kr.ftau.falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
input Real n(unit = "1") "Hill coefficient";
output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;
function act_fast.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 39.8, 17.0) + kr.ftau.falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;
function cal.ftau.falpha
input Real x "input value";
output Real y "output value";
algorithm
y := falpha.fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + falpha.fa(x, 0.0, 78.11 / 0.208, -208.0);
end cal.ftau.falpha;
function ftau.fbeta
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + kr.ftau.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;
function cal.act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (cal.ftau.falpha(x) + falpha.fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end cal.act.ftau;
function p_from_g "calculate membrane permeability for ion from membrane conductance"
input Real g(quantity = "Conductance", unit = "S") "membrane conductance for given ion";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "membrane permeability for given ion";
protected Real unit_area(quantity = "Area", unit = "m2") = 1.0 "unit area of 1 m², used to get correct units";
algorithm
p := g / ion_ex * 8.3144598 * temp / (96485.33289000001 * /*Real*/(ion_z)) ^ 2.0 / unit_area;
end p_from_g;
name | unit | label | value |
---|---|---|---|
g.p.i | "A" | Current flowing into the pin | |
cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.nsr.substance.amount | "mol" | amount of substance | |
cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.jsr.substance.amount | "mol" | amount of substance | |
cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.cyto.substance.amount | "mol" | amount of substance | |
cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
cell.ca.sub.substance.amount | "mol" | amount of substance | |
cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
cell.st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
cell.st.inact.beta | "1" | rate of transfer from open to closed conformation | |
cell.st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
cell.st.inact.n | ratio of molecules in open conformation | 0.4886 | |
cell.st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.st.act.steady | value that n would reach if v_gate was held constant | ||
cell.st.act.n | ratio of molecules in open conformation | 0.1933 | |
cell.st.g | "S" | ion conductance | |
cell.st.i_open | "A" | i if open_ratio = 1 | |
cell.st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cell.st.i_ion | "A" | current used for ion flux | |
cell.hcn.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.hcn.act.steady | value that n would reach if v_gate was held constant | ||
cell.hcn.act.n | "1" | ratio of molecules in open conformation | 0.03825 |
cell.hcn.g | "S" | ion conductance | |
cell.hcn.i_open | "A" | i if open_ratio = 1 | |
cell.hcn.i_ion | "A" | current used for ion flux | |
cell.l2.i | "A" | Current flowing from pin p to pin n | |
cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
cell.nak.i | "A" | Current flowing from pin p to pin n | |
cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
cell.naca.x4 | "1" | relative frequancy of E4 states | |
cell.naca.x3 | "1" | relative frequency of E3 states | |
cell.naca.x2 | "1" | relative frequency of E2 states | |
cell.naca.x1 | "1" | relative frequency of E1 states | |
cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
cell.kr.act_total | total activation due to slow and fast activation terms | ||
cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
cell.kr.inact.n | ratio of molecules in open conformation | 0.9775 | |
cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
cell.kr.act_slow.n | ratio of molecules in open conformation | 0.1287 | |
cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
cell.kr.act_fast.n | ratio of molecules in open conformation | 0.6067 | |
cell.kr.g | "S" | ion conductance | |
cell.kr.i_open | "A" | i if open_ratio = 1 | |
cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cell.kr.i_ion | "A" | current used for ion flux | |
cell.cal.inact_total | |||
cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.6861 | |
cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.4441 | |
cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
cell.cal.act.n | ratio of molecules in open conformation | 0.0001533 | |
cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
cell.cal.g | "S" | ion conductance | |
cell.cal.i_open | "A" | i if open_ratio = 1 | |
cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cell.cal.i_ion | "A" | current used for ion flux | |
cell.bg.i_ion | "A" | current used for ion flux | |
cell.cal.con.substance.amount | "mol" | amount of substance | cell.cal.con.c_const * cell.cal.con.vol |
cell.naca.con.substance.amount | "mol" | amount of substance | cell.naca.con.c_const * cell.naca.con.vol |
cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | cell.naca.di_2n * cell.na_in / cell.naca.k_3n_i |
cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | cell.naca.do_2n * cell.na_ex / cell.naca.k_3n_o |
cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | cell.naca.do_1n * cell.na_ex / cell.naca.k_2n_o |
cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | cell.naca.di_1n * cell.na_in / cell.naca.k_2n_i |
cell.p.i | "A" | Current flowing into the pin | 0.0 |
cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 |
cell.ca.mg.substance.amount | "mol" | amount of substance | cell.ca.mg.c_const * cell.ca.mg.vol |
cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / cell.ca.sub_cyto.tau |
cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / cell.ca.nsr_jsr.tau |
g.p.v | "V" | Potential at the pin | 0.0 |
cell.cal.ach_factor | 1.0 | ||
cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | cell.na_in / cell.naca.k_1n_i |
cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | cell.ca_ex / cell.naca.k_c_o |
cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | cell.na_ex / cell.naca.k_1n_o |
cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(cell.na_ex, cell.naca.k_3n_o) |
cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(cell.na_in, cell.naca.k_3n_i) |
cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 |
cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, cell.na_ex, 1, cell.temp) |
cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
cell.temp | "K" | cell medium temperature | 288.15 |
cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.FullCellSpon.cell.c_to_v(cell.l2.c, 2.19911e-15, 7.147123e-15) |
cell.v_cyto | "m3" | volume of cytosol | 0.46 * cell.v_cell - cell.v_sub |
cell.v_sub | "m3" | volume of subspace | 0.01 * cell.v_cell |
cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * cell.v_cell |
cell.v_nsr | "m3" | volume of network SR | 0.0116 * cell.v_cell |
cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(cell.k_in, cell.k_ex, 1, cell.temp) |
cell.bg.v_eq | "V" | equilibrium potential | -0.0225 |
cell.bg.g_max | "S" | maximum conductance | 1.2e-09 |
cell.bg.current_name | "I_b" | ||
cell.cal.v_eq | "V" | equilibrium potential | 0.0621 |
cell.cal.g_max | "S" | maximum conductance | 9e-09 |
cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | cell.cal.n_ca |
cell.cal.trans.z | valence of ion | 2 | |
cell.cal.con.c_const | "mol/m3" | fixed concentration | cell.ca_ex |
cell.cal.con.vol | "m3" | volume of the compartment | 1.0 |
cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
cell.cal.current_name | "I_Ca,L" | ||
cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
cell.kr.v_eq | "V" | equilibrium potential | cell.v_k |
cell.kr.g_max | "S" | maximum conductance | 3.5e-09 |
cell.kr.current_name | "I_K,r" | ||
cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | cell.naca.n_ca |
cell.naca.trans.z | valence of ion | 2 | |
cell.naca.con.c_const | "mol/m3" | fixed concentration | cell.ca_ex |
cell.naca.con.vol | "m3" | volume of the compartment | 1.0 |
cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
cell.naca.current_name | "I_NaCa" | ||
cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.14e-09 |
cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / cell.temp | |
cell.nak.current_name | "I_NaK" | ||
cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.43e-10 |
cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 |
cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
cell.l2.c | "F" | membrane capacitance | 2.9e-11 |
cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
cell.l2.use_init | determines whether initial value for v is used | true | |
cell.hcn.v_eq | "V" | equilibrium potential | -0.03 |
cell.hcn.g_max | "S" | maximum conductance | 1e-09 |
cell.hcn.current_name | "I_f" | ||
cell.hcn.act_shift | "V" | 0.0 | |
cell.hcn.act.shift | "V" | cell.hcn.act_shift | |
cell.st.v_eq | "V" | equilibrium potential | 0.0374 |
cell.st.g_max | "S" | maximum conductance | 1e-10 |
cell.st.current_name | "I_st" | ||
cell.cell_type | "N" | ||
cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 |
cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 |
cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 |
cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 |
cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 |
cell.ca.mg.vol | "m3" | volume of the compartment | cell.v_cyto |
cell.ca.sub.vol | "m3" | volume of the compartment | cell.v_sub |
cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 0.0002294 |
cell.ca.cyto.vol | "m3" | volume of the compartment | cell.v_cyto |
cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0003623 |
cell.ca.jsr.vol | "m3" | volume of the compartment | cell.v_jsr |
cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.08227 |
cell.ca.nsr.vol | "m3" | volume of the compartment | cell.v_nsr |
cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.146 |
cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | cell.ca.sub.vol |
cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | cell.ca.cyto.vol |
cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.sub_cyto.vol_src, cell.ca.sub_cyto.vol_dst) |
cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 |
cell.ca.cyto_nsr.current_name | "SERCA" | ||
cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | cell.ca.cyto.vol |
cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * cell.v_nsr |
cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 |
cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | cell.ca.nsr.vol |
cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | cell.ca.jsr.vol |
cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.nsr_jsr.vol_src, cell.ca.nsr_jsr.vol_dst) |
cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 |
cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | cell.ca.jsr.vol |
cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | cell.ca.sub.vol |
cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(cell.ca.jsr_sub.vol_src, cell.ca.jsr_sub.vol_dst) |
cell.ca.jsr_sub.current_name | "RyR" | ||
cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1500.0 |
cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 |
cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 |
cell.ca.tc.n_tot | "mol" | total amount of buffer | cell.ca.tc_tot * cell.v_cyto |
cell.ca.tc.f_start | "1" | initial value for f | 0.6838 |
cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / cell.v_cyto |
cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 |
cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.tc.assoc.k | "mol-1s-1" | association constant | cell.ca.tc.k |
cell.ca.tc.assoc.kb | "s-1" | dissociation constant | cell.ca.tc.kb |
cell.ca.tc.free.vol | "m3" | volume of the compartment | cell.ca.tc.vol |
cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.tc.f_start) * cell.ca.tc.n_tot / cell.ca.tc.vol |
cell.ca.tc.occupied.vol | "m3" | volume of the compartment | cell.ca.tc.vol |
cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.tc.f_start * cell.ca.tc.n_tot / cell.ca.tc.vol |
cell.ca.tm.n_tot | "mol" | total amount of buffer | cell.ca.tmc_tot * cell.v_cyto |
cell.ca.tm.f_a_start | "1" | initial value for f | 0.6192 |
cell.ca.tm.f_b_start | "1" | initial value for f | 0.3363 |
cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / cell.v_cyto |
cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / cell.v_cyto |
cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 |
cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 |
cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | cell.v_cyto |
cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | cell.ca.tm.k_a |
cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | cell.ca.tm.kb_a |
cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | cell.ca.tm.k_b |
cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | cell.ca.tm.kb_b |
cell.ca.tm.free.vol | "m3" | volume of the compartment | cell.ca.tm.vol |
cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (cell.ca.tm.f_a_start + cell.ca.tm.f_b_start)) * cell.ca.tm.n_tot / cell.ca.tm.vol |
cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | cell.ca.tm.vol |
cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | cell.ca.tm.f_a_start * cell.ca.tm.n_tot / cell.ca.tm.vol |
cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | cell.ca.tm.vol |
cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | cell.ca.tm.f_b_start * cell.ca.tm.n_tot / cell.ca.tm.vol |
cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | cell.ca.cm_tot * cell.v_cyto |
cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.1336 |
cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / cell.v_cyto |
cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 |
cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_cyto.k |
cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_cyto.kb |
cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | cell.ca.cm_cyto.vol |
cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_cyto.f_start) * cell.ca.cm_cyto.n_tot / cell.ca.cm_cyto.vol |
cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_cyto.vol |
cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_cyto.f_start * cell.ca.cm_cyto.n_tot / cell.ca.cm_cyto.vol |
cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | cell.ca.cm_tot * cell.v_sub |
cell.ca.cm_sub.f_start | "1" | initial value for f | 0.08894000000000001 |
cell.ca.cm_sub.k | "mol-1s-1" | association constant | cell.ca.cm_cyto.k * cell.v_cyto / cell.v_sub |
cell.ca.cm_sub.kb | "s-1" | dissociation constant | cell.ca.cm_cyto.kb |
cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_sub.k |
cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_sub.kb |
cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | cell.ca.cm_sub.vol |
cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_sub.f_start) * cell.ca.cm_sub.n_tot / cell.ca.cm_sub.vol |
cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_sub.vol |
cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_sub.f_start * cell.ca.cm_sub.n_tot / cell.ca.cm_sub.vol |
cell.ca.cq.n_tot | "mol" | total amount of buffer | cell.ca.cq_tot * cell.v_jsr |
cell.ca.cq.f_start | "1" | initial value for f | 0.08735999999999999 |
cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / cell.v_jsr |
cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 |
cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.cq.assoc.k | "mol-1s-1" | association constant | cell.ca.cq.k |
cell.ca.cq.assoc.kb | "s-1" | dissociation constant | cell.ca.cq.kb |
cell.ca.cq.free.vol | "m3" | volume of the compartment | cell.ca.cq.vol |
cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cq.f_start) * cell.ca.cq.n_tot / cell.ca.cq.vol |
cell.ca.cq.occupied.vol | "m3" | volume of the compartment | cell.ca.cq.vol |
cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cq.f_start * cell.ca.cq.n_tot / cell.ca.cq.vol |
cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 |
cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | cell.ca.cm_sl_tot * cell.v_sub |
cell.ca.cm_sl.f_start | "1" | initial value for f | 4.764e-05 |
cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / cell.v_sub |
cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 |
cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | cell.ca.cm_sl.k |
cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | cell.ca.cm_sl.kb |
cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | cell.ca.cm_sl.vol |
cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - cell.ca.cm_sl.f_start) * cell.ca.cm_sl.n_tot / cell.ca.cm_sl.vol |
cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | cell.ca.cm_sl.vol |
cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | cell.ca.cm_sl.f_start * cell.ca.cm_sl.n_tot / cell.ca.cm_sl.vol |
cell.bg.g | "S" | ion conductance | cell.bg.g_max |
InaMo.Examples.FullCell.AllCells
To reproduce the upper part of Figure S7 from Inada 2009, plot an.cell.v, n.cell.v and nh.cell.v against time. To reproduce the lower part, plot an.cell.ca.cyto.substance.amount, n.cell.ca.cyto.substance.amount, and nh.cell.ca.cyto.substance.amount against time. As time period for each cell type choose the first pulse that occurs after one second has passed.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow to see more than one action potential
- Tolerance: default value
- Interval: small enough to follow time course of current during peak
- {an, nh}.cc.i_hold: assumed as zero (not given explicitly in Inada 2009)
- {an, nh}.cc.i_pulse: manually chosen to obtain best fit for plots
- {an, nh}.cc.d_pulse: according to the description of Figure 1 in Inada 2009
- {an, nh}.cc.d_hold: manually chosen to obtain best fit for plot (300 ms instead of 350 ms as according to Figure 1 in Inada 2009)
- {an, nh}.cell.use_ach: set to false, because the acetylcholine concentration {an, nh, n}.cell.ach is not given in the C++ code and the CellML code sets it to 0, effectively disabling the channel.
NOTE: Inada et al. do not specify the experiment protocol used for figure S7. We assume that it is the same or similar to the experiment protocol used for figure 1. However, even for this figure in the main article, the value for i_stim is only given as "k x Threshold" with some numeric value for k and no clear definition of what the threshold value is. d_hold is given as 350 ms, but we obtained a better fit with d_hold = 300 ms. i_hold is not given, but can be assumed to be zero.
NOTE: For AN and NH cells the voltage plot shows a lower resting potential and a slightly narrower AP with respect to figure S7. For N cells, the internal Ca2+ concentration is significantly lower than in figure S7.
model AllCells "simulation of all cell types with variable intracellular Ca2+"
FullCellCurrentPulses an(redeclare InaMo.Cells.VariableCa.ANCell cell, cc.i_pulse = -1.2e-9) "AN cell experiment";
FullCellSpon n(redeclare InaMo.Cells.VariableCa.NCell cell) "N cell experiment";
FullCellCurrentPulses nh(redeclare InaMo.Cells.VariableCa.NHCell cell, cc.i_pulse = -0.95e-9) "NH Cell experiment";
extends Modelica.Icons.Example;
annotation(
experiment(StartTime = 0, StopTime = 2.5, Tolerance = 1e-6, Interval = 1e-4),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "(an|n|nh)\\.cell\\.(v|ca\\.(sub|cyto)\\.con)"),
Documentation(info = "
<html>
<p>To reproduce the upper part of Figure S7 from Inada 2009, plot
an.cell.v, n.cell.v and nh.cell.v against time.
To reproduce the lower part, plot an.cell.ca.cyto.substance.amount,
n.cell.ca.cyto.substance.amount, and nh.cell.ca.cyto.substance.amount against time.
As time period for each cell type choose the first pulse that occurs
after one second has passed.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow to see more than one action potential</li>
<li>Tolerance: default value</li>
<li>Interval: small enough to follow time course of current during peak</li>
<li>{an, nh}.cc.i_hold: assumed as zero (not given explicitly in Inada 2009)</li>
<li>{an, nh}.cc.i_pulse: manually chosen to obtain best fit for plots</li>
<li>{an, nh}.cc.d_pulse: according to the description of Figure 1 in Inada 2009</li>
<li>{an, nh}.cc.d_hold: manually chosen to obtain best fit for plot (300 ms instead of 350 ms as according to Figure 1 in Inada 2009)</li>
<li>
{an, nh}.cell.use_ach: set to false, because the acetylcholine
concentration {an, nh, n}.cell.ach is not given in the C++ code and
the CellML code sets it to 0, effectively disabling the channel.
</li>
</ul>
<p>NOTE: Inada et al. do not specify the experiment protocol used for
figure S7. We assume that it is the same or similar to the experiment
protocol used for figure 1.
However, even for this figure in the main article, the value for i_stim
is only given as "k x Threshold" with some numeric value for k
and no clear definition of what the threshold value is.
d_hold is given as 350 ms, but we obtained a better fit with d_hold =
300 ms.
i_hold is not given, but can be assumed to be zero.</p>
<p>NOTE: For AN and NH cells the voltage plot shows a lower resting
potential and a slightly narrower AP with respect to figure S7.
For N cells, the internal Ca2+ concentration is significantly lower than
in figure S7.</p>
</html>
"));
end AllCells;
- Within group an (prefix _ indicates shortened variable name)
- Within group cc (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cyto (prefix _ indicates shortened variable name)
- Within group jsr (prefix _ indicates shortened variable name)
- Within group jsr_sub (prefix _ indicates shortened variable name)
- Within group nsr (prefix _ indicates shortened variable name)
- Within group sub (prefix _ indicates shortened variable name)
- Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
- Within group occupied_a (prefix _ indicates shortened variable name)
- Within group occupied_b (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
- Within group kir (prefix _ indicates shortened variable name)
- Within group kr (prefix _ indicates shortened variable name)
- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group to (prefix _ indicates shortened variable name)
- Within group n (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cyto (prefix _ indicates shortened variable name)
- Within group jsr (prefix _ indicates shortened variable name)
- Within group jsr_sub (prefix _ indicates shortened variable name)
- Within group nsr (prefix _ indicates shortened variable name)
- Within group sub (prefix _ indicates shortened variable name)
- Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
- Within group occupied_a (prefix _ indicates shortened variable name)
- Within group occupied_b (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
- Within group hcn (prefix _ indicates shortened variable name)
- Within group kr (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group nh (prefix _ indicates shortened variable name)
- Within group cc (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cyto (prefix _ indicates shortened variable name)
- Within group jsr (prefix _ indicates shortened variable name)
- Within group jsr_sub (prefix _ indicates shortened variable name)
- Within group nsr (prefix _ indicates shortened variable name)
- Within group sub (prefix _ indicates shortened variable name)
- Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
- Within group occupied_a (prefix _ indicates shortened variable name)
- Within group occupied_b (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
- Within group kir (prefix _ indicates shortened variable name)
- Within group kr (prefix _ indicates shortened variable name)
- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group to (prefix _ indicates shortened variable name)
Functions:
function inact_fast.fsteady
input Real x "input value";
output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
y := kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) / (kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) + act.fsteady(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end inact_fast.fsteady;
function act.fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act.fsteady;
function st.act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (st.ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end st.act.ftau;
function c_to_v "function used to determine cell volume based on membrane capacitance"
input Real c_m(quantity = "Capacitance", unit = "F", min = 0.0) "membrane capacitance";
input Real v_low(quantity = "Volume", unit = "m3") = 2.19911e-15 "low estimate for cell volume (obtained when c_m = c_low)";
input Real v_high(quantity = "Volume", unit = "m3") = 7.147123e-15 "high estimate for cell volume (obtained when c_m = c_low + c_span)";
output Real v_cell(quantity = "Volume", unit = "m3") "resulting total cell volume";
protected Real c_low(quantity = "Capacitance", unit = "F", min = 0.0) = 2e-11 "low value for c_m (where v_low is returned)";
protected Real c_span(quantity = "Capacitance", unit = "F", min = 0.0) = 4.5e-11 "span that must be added to c_m to reach an output of v_high";
algorithm
v_cell := (c_m - c_low) / c_span * (v_high - v_low) + v_low;
end c_to_v;
function cal.ftau.falpha
input Real x "input value";
output Real y "output value";
algorithm
y := falpha.fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + falpha.fa(x, 0.0, 78.11 / 0.208, -208.0);
end cal.ftau.falpha;
function inact.fsteady
input Real x "input value";
output Real y "output value";
algorithm
y := act.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * inact_fast.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;
function inact.fbeta
input Real x "input value";
output Real y "output value";
algorithm
y := fbeta.fa(x, 0.0) + act.fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;
function kr.ftau.falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end kr.ftau.falpha;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function inact_fast.ftau
input Real x "input value";
input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;
function act_fast.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 39.8, 17.0) + kr.ftau.falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;
function cal.act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (cal.ftau.falpha(x) + falpha.fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end cal.act.ftau;
function ghkFlux "ghk flux equation for a single ion"
input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
input Integer ion_z "ion valence";
output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
protected Real g_max(quantity = "Conductance", unit = "S");
protected Real v_eq(quantity = "ElectricPotential", unit = "V");
protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
v_eq := nernst(ion_in, ion_ex, ion_z, temp);
if abs(v) < 1e-06 then
i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
else
i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
end if;
end ghkFlux;
function to.act.ftau
input Real x "input value";
input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + kr.ftau.falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end to.act.ftau;
function fbeta.fa
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fbeta.fa;
function st.ftau.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end st.ftau.falpha;
function falpha.fa
input Real x "input value";
input Real x0 = -0.035 "offset for x (fitting parameter)";
input Real sy = 65.3 "scaling factor for y (fitting parameter)";
input Real sx = -400.0 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end falpha.fa;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function ftau.fbeta
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + kr.ftau.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
input Real n(unit = "1") "Hill coefficient";
output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;
function inact.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + kr.ftau.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;
function inact.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 9.42, 603.6) + kr.ftau.falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;
function p_from_g "calculate membrane permeability for ion from membrane conductance"
input Real g(quantity = "Conductance", unit = "S") "membrane conductance for given ion";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "membrane permeability for given ion";
protected Real unit_area(quantity = "Area", unit = "m2") = 1.0 "unit area of 1 m², used to get correct units";
algorithm
p := g / ion_ex * 8.3144598 * temp / (96485.33289000001 * /*Real*/(ion_z)) ^ 2.0 / unit_area;
end p_from_g;
name | unit | label | value |
---|---|---|---|
an.cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
an.cc.pulse_end | signals end of pulse | ||
an.cc.pulse_start | signals start of pulse | ||
an.cc.i_stim | "A" | input current (needs to be defined externally) | |
an.cc.g.p.i | "A" | Current flowing into the pin | |
an.cc.n.i | "A" | Current flowing into the pin | |
an.cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
an.cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
an.cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
an.cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
an.cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
an.cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
an.cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
an.cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
an.cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
an.cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
an.cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
an.cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
an.cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
an.cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
an.cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
an.cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
an.cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
an.cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
an.cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.nsr.substance.amount | "mol" | amount of substance | |
an.cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.jsr.substance.amount | "mol" | amount of substance | |
an.cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.cyto.substance.amount | "mol" | amount of substance | |
an.cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
an.cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
an.cell.ca.sub.substance.amount | "mol" | amount of substance | |
an.cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
an.cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
an.cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
an.cell.to.inact_fast.n | ratio of molecules in open conformation | 0.8734 | |
an.cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
an.cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1503 | |
an.cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.to.act.steady | value that n would reach if v_gate was held constant | ||
an.cell.to.act.n | ratio of molecules in open conformation | 0.008857 | |
an.cell.to.g | "S" | ion conductance | |
an.cell.to.i_open | "A" | i if open_ratio = 1 | |
an.cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
an.cell.to.i_ion | "A" | current used for ion flux | |
an.cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
an.cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
an.cell.na.inact_slow.n | ratio of molecules in open conformation | 0.6162 | |
an.cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
an.cell.na.inact_fast.n | ratio of molecules in open conformation | 0.717 | |
an.cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
an.cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
an.cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
an.cell.na.act.n | ratio of molecules in open conformation | 0.01227 | |
an.cell.na.i_open | i if open_ratio = 1 | ||
an.cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
an.cell.na.i_ion | "A" | current used for ion flux | |
an.cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
an.cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
an.cell.kir.g | "S" | ion conductance | |
an.cell.kir.i_open | "A" | i if open_ratio = 1 | |
an.cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
an.cell.kir.i_ion | "A" | current used for ion flux | |
an.cell.l2.i | "A" | Current flowing from pin p to pin n | |
an.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
an.cell.nak.i | "A" | Current flowing from pin p to pin n | |
an.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
an.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
an.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
an.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
an.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
an.cell.naca.x4 | "1" | relative frequancy of E4 states | |
an.cell.naca.x3 | "1" | relative frequency of E3 states | |
an.cell.naca.x2 | "1" | relative frequency of E2 states | |
an.cell.naca.x1 | "1" | relative frequency of E1 states | |
an.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
an.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
an.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
an.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
an.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
an.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
an.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
an.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
an.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
an.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
an.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
an.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
an.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
an.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
an.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
an.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
an.cell.kr.act_total | total activation due to slow and fast activation terms | ||
an.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
an.cell.kr.inact.n | ratio of molecules in open conformation | 0.9866 | |
an.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
an.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.0484 | |
an.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
an.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.07106999999999999 | |
an.cell.kr.g | "S" | ion conductance | |
an.cell.kr.i_open | "A" | i if open_ratio = 1 | |
an.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
an.cell.kr.i_ion | "A" | current used for ion flux | |
an.cell.cal.inact_total | |||
an.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
an.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9985000000000001 | |
an.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
an.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9875 | |
an.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
an.cell.cal.act.n | ratio of molecules in open conformation | 4.069e-05 | |
an.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
an.cell.cal.g | "S" | ion conductance | |
an.cell.cal.i_open | "A" | i if open_ratio = 1 | |
an.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
an.cell.cal.i_ion | "A" | current used for ion flux | |
an.cell.bg.i_ion | "A" | current used for ion flux | |
$whenCondition4 | an.cc.pulse_start | ||
$whenCondition3 | an.cc.pulse_end | ||
nh.cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
nh.cc.pulse_end | signals end of pulse | ||
nh.cc.pulse_start | signals start of pulse | ||
nh.cc.i_stim | "A" | input current (needs to be defined externally) | |
nh.cc.g.p.i | "A" | Current flowing into the pin | |
nh.cc.n.i | "A" | Current flowing into the pin | |
nh.cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
nh.cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
nh.cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
nh.cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
nh.cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
nh.cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
nh.cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
nh.cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
nh.cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
nh.cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
nh.cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.nsr.substance.amount | "mol" | amount of substance | |
nh.cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.jsr.substance.amount | "mol" | amount of substance | |
nh.cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.cyto.substance.amount | "mol" | amount of substance | |
nh.cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
nh.cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
nh.cell.ca.sub.substance.amount | "mol" | amount of substance | |
nh.cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
nh.cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
nh.cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
nh.cell.to.inact_fast.n | ratio of molecules in open conformation | 0.864 | |
nh.cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
nh.cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1297 | |
nh.cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.to.act.steady | value that n would reach if v_gate was held constant | ||
nh.cell.to.act.n | ratio of molecules in open conformation | 0.009580999999999999 | |
nh.cell.to.g | "S" | ion conductance | |
nh.cell.to.i_open | "A" | i if open_ratio = 1 | |
nh.cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
nh.cell.to.i_ion | "A" | current used for ion flux | |
nh.cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
nh.cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
nh.cell.na.inact_slow.n | ratio of molecules in open conformation | 0.5552 | |
nh.cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
nh.cell.na.inact_fast.n | ratio of molecules in open conformation | 0.6438 | |
nh.cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
nh.cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
nh.cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
nh.cell.na.act.n | ratio of molecules in open conformation | 0.01529 | |
nh.cell.na.i_open | i if open_ratio = 1 | ||
nh.cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
nh.cell.na.i_ion | "A" | current used for ion flux | |
nh.cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
nh.cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
nh.cell.kir.g | "S" | ion conductance | |
nh.cell.kir.i_open | "A" | i if open_ratio = 1 | |
nh.cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
nh.cell.kir.i_ion | "A" | current used for ion flux | |
nh.cell.l2.i | "A" | Current flowing from pin p to pin n | |
nh.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
nh.cell.nak.i | "A" | Current flowing from pin p to pin n | |
nh.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
nh.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
nh.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
nh.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
nh.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
nh.cell.naca.x4 | "1" | relative frequancy of E4 states | |
nh.cell.naca.x3 | "1" | relative frequency of E3 states | |
nh.cell.naca.x2 | "1" | relative frequency of E2 states | |
nh.cell.naca.x1 | "1" | relative frequency of E1 states | |
nh.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
nh.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
nh.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
nh.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
nh.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
nh.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
nh.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
nh.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
nh.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
nh.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
nh.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
nh.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
nh.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
nh.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
nh.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
nh.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
nh.cell.kr.act_total | total activation due to slow and fast activation terms | ||
nh.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
nh.cell.kr.inact.n | ratio of molecules in open conformation | 0.9853 | |
nh.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
nh.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.07024 | |
nh.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
nh.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.09949 | |
nh.cell.kr.g | "S" | ion conductance | |
nh.cell.kr.i_open | "A" | i if open_ratio = 1 | |
nh.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
nh.cell.kr.i_ion | "A" | current used for ion flux | |
nh.cell.cal.inact_total | |||
nh.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
nh.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9981 | |
nh.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
nh.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9831 | |
nh.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
nh.cell.cal.act.n | ratio of molecules in open conformation | 5.025e-05 | |
nh.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
nh.cell.cal.g | "S" | ion conductance | |
nh.cell.cal.i_open | "A" | i if open_ratio = 1 | |
nh.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
nh.cell.cal.i_ion | "A" | current used for ion flux | |
nh.cell.bg.i_ion | "A" | current used for ion flux | |
$whenCondition2 | nh.cc.pulse_start | ||
$whenCondition1 | nh.cc.pulse_end | ||
n.g.p.i | "A" | Current flowing into the pin | |
n.cell.ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
n.cell.ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
n.cell.ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cq.occupied.substance.amount | "mol" | amount of substance | |
n.cell.ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cq.free.substance.amount | "mol" | amount of substance | |
n.cell.ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
n.cell.ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
n.cell.ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
n.cell.ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
n.cell.ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
n.cell.ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
n.cell.ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.tm.free.substance.amount | "mol" | amount of substance | |
n.cell.ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.tc.occupied.substance.amount | "mol" | amount of substance | |
n.cell.ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.tc.free.substance.amount | "mol" | amount of substance | |
n.cell.ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
n.cell.ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
n.cell.ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
n.cell.ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
n.cell.ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
n.cell.ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.nsr.substance.amount | "mol" | amount of substance | |
n.cell.ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.jsr.substance.amount | "mol" | amount of substance | |
n.cell.ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.cyto.substance.amount | "mol" | amount of substance | |
n.cell.ca.sub.con | "mol/m3" | concentration of substance in compartment | |
n.cell.ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
n.cell.ca.sub.substance.amount | "mol" | amount of substance | |
n.cell.ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
n.cell.st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
n.cell.st.inact.beta | "1" | rate of transfer from open to closed conformation | |
n.cell.st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
n.cell.st.inact.n | ratio of molecules in open conformation | 0.4886 | |
n.cell.st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.st.act.steady | value that n would reach if v_gate was held constant | ||
n.cell.st.act.n | ratio of molecules in open conformation | 0.1933 | |
n.cell.st.g | "S" | ion conductance | |
n.cell.st.i_open | "A" | i if open_ratio = 1 | |
n.cell.st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
n.cell.st.i_ion | "A" | current used for ion flux | |
n.cell.hcn.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.hcn.act.steady | value that n would reach if v_gate was held constant | ||
n.cell.hcn.act.n | "1" | ratio of molecules in open conformation | 0.03825 |
n.cell.hcn.g | "S" | ion conductance | |
n.cell.hcn.i_open | "A" | i if open_ratio = 1 | |
n.cell.hcn.i_ion | "A" | current used for ion flux | |
n.cell.l2.i | "A" | Current flowing from pin p to pin n | |
n.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
n.cell.nak.i | "A" | Current flowing from pin p to pin n | |
n.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
n.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
n.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
n.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
n.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
n.cell.naca.x4 | "1" | relative frequancy of E4 states | |
n.cell.naca.x3 | "1" | relative frequency of E3 states | |
n.cell.naca.x2 | "1" | relative frequency of E2 states | |
n.cell.naca.x1 | "1" | relative frequency of E1 states | |
n.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
n.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
n.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
n.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
n.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
n.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
n.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
n.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
n.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
n.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
n.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
n.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | |
n.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
n.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | |
n.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
n.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
n.cell.kr.act_total | total activation due to slow and fast activation terms | ||
n.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
n.cell.kr.inact.n | ratio of molecules in open conformation | 0.9775 | |
n.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
n.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.1287 | |
n.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
n.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.6067 | |
n.cell.kr.g | "S" | ion conductance | |
n.cell.kr.i_open | "A" | i if open_ratio = 1 | |
n.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
n.cell.kr.i_ion | "A" | current used for ion flux | |
n.cell.cal.inact_total | |||
n.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
n.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.6861 | |
n.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
n.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.4441 | |
n.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
n.cell.cal.act.n | ratio of molecules in open conformation | 0.0001533 | |
n.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
n.cell.cal.g | "S" | ion conductance | |
n.cell.cal.i_open | "A" | i if open_ratio = 1 | |
n.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
n.cell.cal.i_ion | "A" | current used for ion flux | |
n.cell.bg.i_ion | "A" | current used for ion flux | |
an.cell.cal.con.substance.amount | "mol" | amount of substance | an.cell.cal.con.c_const * an.cell.cal.con.vol |
an.cell.naca.con.substance.amount | "mol" | amount of substance | an.cell.naca.con.c_const * an.cell.naca.con.vol |
n.cell.cal.con.substance.amount | "mol" | amount of substance | n.cell.cal.con.c_const * n.cell.cal.con.vol |
n.cell.naca.con.substance.amount | "mol" | amount of substance | n.cell.naca.con.c_const * n.cell.naca.con.vol |
nh.cell.cal.con.substance.amount | "mol" | amount of substance | nh.cell.cal.con.c_const * nh.cell.cal.con.vol |
nh.cell.naca.con.substance.amount | "mol" | amount of substance | nh.cell.naca.con.c_const * nh.cell.naca.con.vol |
n.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | n.cell.naca.di_2n * n.cell.na_in / n.cell.naca.k_3n_i |
n.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | n.cell.naca.do_2n * n.cell.na_ex / n.cell.naca.k_3n_o |
n.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | n.cell.naca.do_1n * n.cell.na_ex / n.cell.naca.k_2n_o |
n.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | n.cell.naca.di_1n * n.cell.na_in / n.cell.naca.k_2n_i |
n.cell.p.i | "A" | Current flowing into the pin | 0.0 |
n.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 |
n.cell.ca.mg.substance.amount | "mol" | amount of substance | n.cell.ca.mg.c_const * n.cell.ca.mg.vol |
n.cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / n.cell.ca.sub_cyto.tau |
n.cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / n.cell.ca.nsr_jsr.tau |
n.g.p.v | "V" | Potential at the pin | 0.0 |
n.cell.cal.ach_factor | 1.0 | ||
n.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | n.cell.na_in / n.cell.naca.k_1n_i |
n.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | n.cell.ca_ex / n.cell.naca.k_c_o |
n.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | n.cell.na_ex / n.cell.naca.k_1n_o |
n.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.cell.na_ex, n.cell.naca.k_3n_o) |
n.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.cell.na_in, n.cell.naca.k_3n_i) |
nh.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | nh.cell.naca.di_2n * nh.cell.na_in / nh.cell.naca.k_3n_i |
nh.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | nh.cell.naca.do_2n * nh.cell.na_ex / nh.cell.naca.k_3n_o |
nh.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | nh.cell.naca.do_1n * nh.cell.na_ex / nh.cell.naca.k_2n_o |
nh.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | nh.cell.naca.di_1n * nh.cell.na_in / nh.cell.naca.k_2n_i |
nh.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 |
nh.cell.ca.mg.substance.amount | "mol" | amount of substance | nh.cell.ca.mg.c_const * nh.cell.ca.mg.vol |
nh.cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / nh.cell.ca.sub_cyto.tau |
nh.cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / nh.cell.ca.nsr_jsr.tau |
nh.cc.g.p.v | "V" | Potential at the pin | 0.0 |
nh.cell.cal.ach_factor | 1.0 | ||
nh.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | nh.cell.na_in / nh.cell.naca.k_1n_i |
nh.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | nh.cell.ca_ex / nh.cell.naca.k_c_o |
nh.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | nh.cell.na_ex / nh.cell.naca.k_1n_o |
nh.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.na_ex, nh.cell.naca.k_3n_o) |
nh.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.na_in, nh.cell.naca.k_3n_i) |
nh.cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.k_ex, 0.59) |
nh.cc.i_pulse | "A" | current during pulse (must be defined externally) | -9.5e-10 |
an.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | an.cell.naca.di_2n * an.cell.na_in / an.cell.naca.k_3n_i |
an.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | an.cell.naca.do_2n * an.cell.na_ex / an.cell.naca.k_3n_o |
an.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | an.cell.naca.do_1n * an.cell.na_ex / an.cell.naca.k_2n_o |
an.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | an.cell.naca.di_1n * an.cell.na_in / an.cell.naca.k_2n_i |
an.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 |
an.cell.ca.mg.substance.amount | "mol" | amount of substance | an.cell.ca.mg.c_const * an.cell.ca.mg.vol |
an.cell.ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / an.cell.ca.sub_cyto.tau |
an.cell.ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / an.cell.ca.nsr_jsr.tau |
an.cc.g.p.v | "V" | Potential at the pin | 0.0 |
an.cell.cal.ach_factor | 1.0 | ||
an.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | an.cell.na_in / an.cell.naca.k_1n_i |
an.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | an.cell.ca_ex / an.cell.naca.k_c_o |
an.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | an.cell.na_ex / an.cell.naca.k_1n_o |
an.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an.cell.na_ex, an.cell.naca.k_3n_o) |
an.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an.cell.na_in, an.cell.naca.k_3n_i) |
an.cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(an.cell.k_ex, 0.59) |
an.cc.i_pulse | "A" | current during pulse (must be defined externally) | -1.2e-09 |
an.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
an.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 |
an.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
an.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
an.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, an.cell.na_ex, 1, an.cell.temp) |
an.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
an.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
an.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
an.cell.temp | "K" | cell medium temperature | 288.15 |
an.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCells.an.cell.c_to_v(an.cell.l2.c, 2.19911e-15, 7.147123e-15) |
an.cell.v_cyto | "m3" | volume of cytosol | 0.46 * an.cell.v_cell - an.cell.v_sub |
an.cell.v_sub | "m3" | volume of subspace | 0.01 * an.cell.v_cell |
an.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * an.cell.v_cell |
an.cell.v_nsr | "m3" | volume of network SR | 0.0116 * an.cell.v_cell |
an.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(an.cell.k_in, an.cell.k_ex, 1, an.cell.temp) |
an.cell.bg.v_eq | "V" | equilibrium potential | -0.0525 |
an.cell.bg.g_max | "S" | maximum conductance | 1.8e-09 |
an.cell.bg.current_name | "I_b" | ||
an.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 |
an.cell.cal.g_max | "S" | maximum conductance | 1.85e-08 |
an.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | an.cell.cal.n_ca |
an.cell.cal.trans.z | valence of ion | 2 | |
an.cell.cal.con.c_const | "mol/m3" | fixed concentration | an.cell.ca_ex |
an.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 |
an.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
an.cell.cal.current_name | "I_Ca,L" | ||
an.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
an.cell.kr.v_eq | "V" | equilibrium potential | an.cell.v_k |
an.cell.kr.g_max | "S" | maximum conductance | 1.5e-09 |
an.cell.kr.current_name | "I_K,r" | ||
an.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | an.cell.naca.n_ca |
an.cell.naca.trans.z | valence of ion | 2 | |
an.cell.naca.con.c_const | "mol/m3" | fixed concentration | an.cell.ca_ex |
an.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 |
an.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
an.cell.naca.current_name | "I_NaCa" | ||
an.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
an.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
an.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
an.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
an.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
an.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
an.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
an.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
an.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
an.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
an.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
an.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
an.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 |
an.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / an.cell.temp | |
an.cell.nak.current_name | "I_NaK" | ||
an.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 2.46e-11 |
an.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 |
an.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
an.cell.l2.c | "F" | membrane capacitance | 4e-11 |
an.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
an.cell.l2.use_init | determines whether initial value for v is used | true | |
an.cell.kir.v_eq | "V" | equilibrium potential | an.cell.v_k |
an.cell.kir.g_max | "S" | maximum conductance | 1.25e-08 |
an.cell.kir.current_name | "I_K1" | ||
an.cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (an.cell.temp * 8.3144598) | |
an.cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
an.cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | an.cell.na_ex |
an.cell.na.ion_p | "m3/(s.m2)" | permeability of ion | an.cell.na_p |
an.cell.na.ion_z | valence of ion | 1 | |
an.cell.na.current_name | "I_Na" | ||
an.cell.to.v_eq | "V" | equilibrium potential | an.cell.v_k |
an.cell.to.g_max | "S" | maximum conductance | 2e-08 |
an.cell.to.current_name | "I_to" | ||
an.cell.cell_type | "AN" | ||
an.cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 |
an.cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 |
an.cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 |
an.cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 |
an.cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 |
an.cell.ca.mg.vol | "m3" | volume of the compartment | an.cell.v_cyto |
an.cell.ca.sub.vol | "m3" | volume of the compartment | an.cell.v_sub |
an.cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 6.397e-05 |
an.cell.ca.cyto.vol | "m3" | volume of the compartment | an.cell.v_cyto |
an.cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 |
an.cell.ca.jsr.vol | "m3" | volume of the compartment | an.cell.v_jsr |
an.cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.4273 |
an.cell.ca.nsr.vol | "m3" | volume of the compartment | an.cell.v_nsr |
an.cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.068 |
an.cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | an.cell.ca.sub.vol |
an.cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | an.cell.ca.cyto.vol |
an.cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(an.cell.ca.sub_cyto.vol_src, an.cell.ca.sub_cyto.vol_dst) |
an.cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 |
an.cell.ca.cyto_nsr.current_name | "SERCA" | ||
an.cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | an.cell.ca.cyto.vol |
an.cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * an.cell.v_nsr |
an.cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 |
an.cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | an.cell.ca.nsr.vol |
an.cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | an.cell.ca.jsr.vol |
an.cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(an.cell.ca.nsr_jsr.vol_src, an.cell.ca.nsr_jsr.vol_dst) |
an.cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 |
an.cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | an.cell.ca.jsr.vol |
an.cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | an.cell.ca.sub.vol |
an.cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(an.cell.ca.jsr_sub.vol_src, an.cell.ca.jsr_sub.vol_dst) |
an.cell.ca.jsr_sub.current_name | "RyR" | ||
an.cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1805.6 |
an.cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 |
an.cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 |
an.cell.ca.tc.n_tot | "mol" | total amount of buffer | an.cell.ca.tc_tot * an.cell.v_cyto |
an.cell.ca.tc.f_start | "1" | initial value for f | 0.02359 |
an.cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / an.cell.v_cyto |
an.cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 |
an.cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
an.cell.ca.tc.assoc.k | "mol-1s-1" | association constant | an.cell.ca.tc.k |
an.cell.ca.tc.assoc.kb | "s-1" | dissociation constant | an.cell.ca.tc.kb |
an.cell.ca.tc.free.vol | "m3" | volume of the compartment | an.cell.ca.tc.vol |
an.cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.tc.f_start) * an.cell.ca.tc.n_tot / an.cell.ca.tc.vol |
an.cell.ca.tc.occupied.vol | "m3" | volume of the compartment | an.cell.ca.tc.vol |
an.cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.tc.f_start * an.cell.ca.tc.n_tot / an.cell.ca.tc.vol |
an.cell.ca.tm.n_tot | "mol" | total amount of buffer | an.cell.ca.tmc_tot * an.cell.v_cyto |
an.cell.ca.tm.f_a_start | "1" | initial value for f | 0.3667 |
an.cell.ca.tm.f_b_start | "1" | initial value for f | 0.5594 |
an.cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / an.cell.v_cyto |
an.cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / an.cell.v_cyto |
an.cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 |
an.cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 |
an.cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | an.cell.v_cyto |
an.cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | an.cell.ca.tm.k_a |
an.cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | an.cell.ca.tm.kb_a |
an.cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | an.cell.ca.tm.k_b |
an.cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | an.cell.ca.tm.kb_b |
an.cell.ca.tm.free.vol | "m3" | volume of the compartment | an.cell.ca.tm.vol |
an.cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (an.cell.ca.tm.f_a_start + an.cell.ca.tm.f_b_start)) * an.cell.ca.tm.n_tot / an.cell.ca.tm.vol |
an.cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | an.cell.ca.tm.vol |
an.cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | an.cell.ca.tm.f_a_start * an.cell.ca.tm.n_tot / an.cell.ca.tm.vol |
an.cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | an.cell.ca.tm.vol |
an.cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | an.cell.ca.tm.f_b_start * an.cell.ca.tm.n_tot / an.cell.ca.tm.vol |
an.cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | an.cell.ca.cm_tot * an.cell.v_cyto |
an.cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.04845 |
an.cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / an.cell.v_cyto |
an.cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 |
an.cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
an.cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | an.cell.ca.cm_cyto.k |
an.cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | an.cell.ca.cm_cyto.kb |
an.cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | an.cell.ca.cm_cyto.vol |
an.cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.cm_cyto.f_start) * an.cell.ca.cm_cyto.n_tot / an.cell.ca.cm_cyto.vol |
an.cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | an.cell.ca.cm_cyto.vol |
an.cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.cm_cyto.f_start * an.cell.ca.cm_cyto.n_tot / an.cell.ca.cm_cyto.vol |
an.cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | an.cell.ca.cm_tot * an.cell.v_sub |
an.cell.ca.cm_sub.f_start | "1" | initial value for f | 0.02626 |
an.cell.ca.cm_sub.k | "mol-1s-1" | association constant | an.cell.ca.cm_cyto.k * an.cell.v_cyto / an.cell.v_sub |
an.cell.ca.cm_sub.kb | "s-1" | dissociation constant | an.cell.ca.cm_cyto.kb |
an.cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
an.cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | an.cell.ca.cm_sub.k |
an.cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | an.cell.ca.cm_sub.kb |
an.cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | an.cell.ca.cm_sub.vol |
an.cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.cm_sub.f_start) * an.cell.ca.cm_sub.n_tot / an.cell.ca.cm_sub.vol |
an.cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | an.cell.ca.cm_sub.vol |
an.cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.cm_sub.f_start * an.cell.ca.cm_sub.n_tot / an.cell.ca.cm_sub.vol |
an.cell.ca.cq.n_tot | "mol" | total amount of buffer | an.cell.ca.cq_tot * an.cell.v_jsr |
an.cell.ca.cq.f_start | "1" | initial value for f | 0.3379 |
an.cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / an.cell.v_jsr |
an.cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 |
an.cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
an.cell.ca.cq.assoc.k | "mol-1s-1" | association constant | an.cell.ca.cq.k |
an.cell.ca.cq.assoc.kb | "s-1" | dissociation constant | an.cell.ca.cq.kb |
an.cell.ca.cq.free.vol | "m3" | volume of the compartment | an.cell.ca.cq.vol |
an.cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.cq.f_start) * an.cell.ca.cq.n_tot / an.cell.ca.cq.vol |
an.cell.ca.cq.occupied.vol | "m3" | volume of the compartment | an.cell.ca.cq.vol |
an.cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.cq.f_start * an.cell.ca.cq.n_tot / an.cell.ca.cq.vol |
an.cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 |
an.cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | an.cell.ca.cm_sl_tot * an.cell.v_sub |
an.cell.ca.cm_sl.f_start | "1" | initial value for f | 3.936e-05 |
an.cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / an.cell.v_sub |
an.cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 |
an.cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
an.cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | an.cell.ca.cm_sl.k |
an.cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | an.cell.ca.cm_sl.kb |
an.cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | an.cell.ca.cm_sl.vol |
an.cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - an.cell.ca.cm_sl.f_start) * an.cell.ca.cm_sl.n_tot / an.cell.ca.cm_sl.vol |
an.cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | an.cell.ca.cm_sl.vol |
an.cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | an.cell.ca.cm_sl.f_start * an.cell.ca.cm_sl.n_tot / an.cell.ca.cm_sl.vol |
an.cc.d_hold | "s" | holding period | 0.3 |
an.cc.d_pulse | "s" | pulse period | 0.001 |
an.cc.i_hold | "A" | current during holding period | 0.0 |
n.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
n.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 |
n.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
n.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
n.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, n.cell.na_ex, 1, n.cell.temp) |
n.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
n.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
n.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
n.cell.temp | "K" | cell medium temperature | 288.15 |
n.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCells.n.cell.c_to_v(n.cell.l2.c, 2.19911e-15, 7.147123e-15) |
n.cell.v_cyto | "m3" | volume of cytosol | 0.46 * n.cell.v_cell - n.cell.v_sub |
n.cell.v_sub | "m3" | volume of subspace | 0.01 * n.cell.v_cell |
n.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * n.cell.v_cell |
n.cell.v_nsr | "m3" | volume of network SR | 0.0116 * n.cell.v_cell |
n.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(n.cell.k_in, n.cell.k_ex, 1, n.cell.temp) |
n.cell.bg.v_eq | "V" | equilibrium potential | -0.0225 |
n.cell.bg.g_max | "S" | maximum conductance | 1.2e-09 |
n.cell.bg.current_name | "I_b" | ||
n.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 |
n.cell.cal.g_max | "S" | maximum conductance | 9e-09 |
n.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | n.cell.cal.n_ca |
n.cell.cal.trans.z | valence of ion | 2 | |
n.cell.cal.con.c_const | "mol/m3" | fixed concentration | n.cell.ca_ex |
n.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 |
n.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
n.cell.cal.current_name | "I_Ca,L" | ||
n.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
n.cell.kr.v_eq | "V" | equilibrium potential | n.cell.v_k |
n.cell.kr.g_max | "S" | maximum conductance | 3.5e-09 |
n.cell.kr.current_name | "I_K,r" | ||
n.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | n.cell.naca.n_ca |
n.cell.naca.trans.z | valence of ion | 2 | |
n.cell.naca.con.c_const | "mol/m3" | fixed concentration | n.cell.ca_ex |
n.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 |
n.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
n.cell.naca.current_name | "I_NaCa" | ||
n.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
n.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
n.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
n.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
n.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
n.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
n.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
n.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
n.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
n.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
n.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
n.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
n.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.14e-09 |
n.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / n.cell.temp | |
n.cell.nak.current_name | "I_NaK" | ||
n.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.43e-10 |
n.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 |
n.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
n.cell.l2.c | "F" | membrane capacitance | 2.9e-11 |
n.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
n.cell.l2.use_init | determines whether initial value for v is used | true | |
n.cell.hcn.v_eq | "V" | equilibrium potential | -0.03 |
n.cell.hcn.g_max | "S" | maximum conductance | 1e-09 |
n.cell.hcn.current_name | "I_f" | ||
n.cell.hcn.act_shift | "V" | 0.0 | |
n.cell.hcn.act.shift | "V" | n.cell.hcn.act_shift | |
n.cell.st.v_eq | "V" | equilibrium potential | 0.0374 |
n.cell.st.g_max | "S" | maximum conductance | 1e-10 |
n.cell.st.current_name | "I_st" | ||
n.cell.cell_type | "N" | ||
n.cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 |
n.cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 |
n.cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 |
n.cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 |
n.cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 |
n.cell.ca.mg.vol | "m3" | volume of the compartment | n.cell.v_cyto |
n.cell.ca.sub.vol | "m3" | volume of the compartment | n.cell.v_sub |
n.cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 0.0002294 |
n.cell.ca.cyto.vol | "m3" | volume of the compartment | n.cell.v_cyto |
n.cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0003623 |
n.cell.ca.jsr.vol | "m3" | volume of the compartment | n.cell.v_jsr |
n.cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.08227 |
n.cell.ca.nsr.vol | "m3" | volume of the compartment | n.cell.v_nsr |
n.cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.146 |
n.cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | n.cell.ca.sub.vol |
n.cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | n.cell.ca.cyto.vol |
n.cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(n.cell.ca.sub_cyto.vol_src, n.cell.ca.sub_cyto.vol_dst) |
n.cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 |
n.cell.ca.cyto_nsr.current_name | "SERCA" | ||
n.cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | n.cell.ca.cyto.vol |
n.cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * n.cell.v_nsr |
n.cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 |
n.cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | n.cell.ca.nsr.vol |
n.cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | n.cell.ca.jsr.vol |
n.cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(n.cell.ca.nsr_jsr.vol_src, n.cell.ca.nsr_jsr.vol_dst) |
n.cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 |
n.cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | n.cell.ca.jsr.vol |
n.cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | n.cell.ca.sub.vol |
n.cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(n.cell.ca.jsr_sub.vol_src, n.cell.ca.jsr_sub.vol_dst) |
n.cell.ca.jsr_sub.current_name | "RyR" | ||
n.cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1500.0 |
n.cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 |
n.cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 |
n.cell.ca.tc.n_tot | "mol" | total amount of buffer | n.cell.ca.tc_tot * n.cell.v_cyto |
n.cell.ca.tc.f_start | "1" | initial value for f | 0.6838 |
n.cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / n.cell.v_cyto |
n.cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 |
n.cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
n.cell.ca.tc.assoc.k | "mol-1s-1" | association constant | n.cell.ca.tc.k |
n.cell.ca.tc.assoc.kb | "s-1" | dissociation constant | n.cell.ca.tc.kb |
n.cell.ca.tc.free.vol | "m3" | volume of the compartment | n.cell.ca.tc.vol |
n.cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.tc.f_start) * n.cell.ca.tc.n_tot / n.cell.ca.tc.vol |
n.cell.ca.tc.occupied.vol | "m3" | volume of the compartment | n.cell.ca.tc.vol |
n.cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.tc.f_start * n.cell.ca.tc.n_tot / n.cell.ca.tc.vol |
n.cell.ca.tm.n_tot | "mol" | total amount of buffer | n.cell.ca.tmc_tot * n.cell.v_cyto |
n.cell.ca.tm.f_a_start | "1" | initial value for f | 0.6192 |
n.cell.ca.tm.f_b_start | "1" | initial value for f | 0.3363 |
n.cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / n.cell.v_cyto |
n.cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / n.cell.v_cyto |
n.cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 |
n.cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 |
n.cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | n.cell.v_cyto |
n.cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | n.cell.ca.tm.k_a |
n.cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | n.cell.ca.tm.kb_a |
n.cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | n.cell.ca.tm.k_b |
n.cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | n.cell.ca.tm.kb_b |
n.cell.ca.tm.free.vol | "m3" | volume of the compartment | n.cell.ca.tm.vol |
n.cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (n.cell.ca.tm.f_a_start + n.cell.ca.tm.f_b_start)) * n.cell.ca.tm.n_tot / n.cell.ca.tm.vol |
n.cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | n.cell.ca.tm.vol |
n.cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | n.cell.ca.tm.f_a_start * n.cell.ca.tm.n_tot / n.cell.ca.tm.vol |
n.cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | n.cell.ca.tm.vol |
n.cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | n.cell.ca.tm.f_b_start * n.cell.ca.tm.n_tot / n.cell.ca.tm.vol |
n.cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | n.cell.ca.cm_tot * n.cell.v_cyto |
n.cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.1336 |
n.cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / n.cell.v_cyto |
n.cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 |
n.cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
n.cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | n.cell.ca.cm_cyto.k |
n.cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | n.cell.ca.cm_cyto.kb |
n.cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | n.cell.ca.cm_cyto.vol |
n.cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.cm_cyto.f_start) * n.cell.ca.cm_cyto.n_tot / n.cell.ca.cm_cyto.vol |
n.cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | n.cell.ca.cm_cyto.vol |
n.cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.cm_cyto.f_start * n.cell.ca.cm_cyto.n_tot / n.cell.ca.cm_cyto.vol |
n.cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | n.cell.ca.cm_tot * n.cell.v_sub |
n.cell.ca.cm_sub.f_start | "1" | initial value for f | 0.08894000000000001 |
n.cell.ca.cm_sub.k | "mol-1s-1" | association constant | n.cell.ca.cm_cyto.k * n.cell.v_cyto / n.cell.v_sub |
n.cell.ca.cm_sub.kb | "s-1" | dissociation constant | n.cell.ca.cm_cyto.kb |
n.cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
n.cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | n.cell.ca.cm_sub.k |
n.cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | n.cell.ca.cm_sub.kb |
n.cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | n.cell.ca.cm_sub.vol |
n.cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.cm_sub.f_start) * n.cell.ca.cm_sub.n_tot / n.cell.ca.cm_sub.vol |
n.cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | n.cell.ca.cm_sub.vol |
n.cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.cm_sub.f_start * n.cell.ca.cm_sub.n_tot / n.cell.ca.cm_sub.vol |
n.cell.ca.cq.n_tot | "mol" | total amount of buffer | n.cell.ca.cq_tot * n.cell.v_jsr |
n.cell.ca.cq.f_start | "1" | initial value for f | 0.08735999999999999 |
n.cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / n.cell.v_jsr |
n.cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 |
n.cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
n.cell.ca.cq.assoc.k | "mol-1s-1" | association constant | n.cell.ca.cq.k |
n.cell.ca.cq.assoc.kb | "s-1" | dissociation constant | n.cell.ca.cq.kb |
n.cell.ca.cq.free.vol | "m3" | volume of the compartment | n.cell.ca.cq.vol |
n.cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.cq.f_start) * n.cell.ca.cq.n_tot / n.cell.ca.cq.vol |
n.cell.ca.cq.occupied.vol | "m3" | volume of the compartment | n.cell.ca.cq.vol |
n.cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.cq.f_start * n.cell.ca.cq.n_tot / n.cell.ca.cq.vol |
n.cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 |
n.cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | n.cell.ca.cm_sl_tot * n.cell.v_sub |
n.cell.ca.cm_sl.f_start | "1" | initial value for f | 4.764e-05 |
n.cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / n.cell.v_sub |
n.cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 |
n.cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
n.cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | n.cell.ca.cm_sl.k |
n.cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | n.cell.ca.cm_sl.kb |
n.cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | n.cell.ca.cm_sl.vol |
n.cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - n.cell.ca.cm_sl.f_start) * n.cell.ca.cm_sl.n_tot / n.cell.ca.cm_sl.vol |
n.cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | n.cell.ca.cm_sl.vol |
n.cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | n.cell.ca.cm_sl.f_start * n.cell.ca.cm_sl.n_tot / n.cell.ca.cm_sl.vol |
nh.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
nh.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 |
nh.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
nh.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
nh.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, nh.cell.na_ex, 1, nh.cell.temp) |
nh.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
nh.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
nh.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
nh.cell.temp | "K" | cell medium temperature | 288.15 |
nh.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCells.nh.cell.c_to_v(nh.cell.l2.c, 2.19911e-15, 7.147123e-15) |
nh.cell.v_cyto | "m3" | volume of cytosol | 0.46 * nh.cell.v_cell - nh.cell.v_sub |
nh.cell.v_sub | "m3" | volume of subspace | 0.01 * nh.cell.v_cell |
nh.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * nh.cell.v_cell |
nh.cell.v_nsr | "m3" | volume of network SR | 0.0116 * nh.cell.v_cell |
nh.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(nh.cell.k_in, nh.cell.k_ex, 1, nh.cell.temp) |
nh.cell.bg.v_eq | "V" | equilibrium potential | -0.04 |
nh.cell.bg.g_max | "S" | maximum conductance | 2e-09 |
nh.cell.bg.current_name | "I_b" | ||
nh.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 |
nh.cell.cal.g_max | "S" | maximum conductance | 2.1e-08 |
nh.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | nh.cell.cal.n_ca |
nh.cell.cal.trans.z | valence of ion | 2 | |
nh.cell.cal.con.c_const | "mol/m3" | fixed concentration | nh.cell.ca_ex |
nh.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 |
nh.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
nh.cell.cal.current_name | "I_Ca,L" | ||
nh.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
nh.cell.kr.v_eq | "V" | equilibrium potential | nh.cell.v_k |
nh.cell.kr.g_max | "S" | maximum conductance | 2e-09 |
nh.cell.kr.current_name | "I_K,r" | ||
nh.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | nh.cell.naca.n_ca |
nh.cell.naca.trans.z | valence of ion | 2 | |
nh.cell.naca.con.c_const | "mol/m3" | fixed concentration | nh.cell.ca_ex |
nh.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 |
nh.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
nh.cell.naca.current_name | "I_NaCa" | ||
nh.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
nh.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
nh.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
nh.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
nh.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
nh.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
nh.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
nh.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
nh.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
nh.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
nh.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
nh.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
nh.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 |
nh.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / nh.cell.temp | |
nh.cell.nak.current_name | "I_NaK" | ||
nh.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.97e-10 |
nh.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 |
nh.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
nh.cell.l2.c | "F" | membrane capacitance | 4e-11 |
nh.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
nh.cell.l2.use_init | determines whether initial value for v is used | true | |
nh.cell.kir.v_eq | "V" | equilibrium potential | nh.cell.v_k |
nh.cell.kir.g_max | "S" | maximum conductance | 1.5e-08 |
nh.cell.kir.current_name | "I_K1" | ||
nh.cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (nh.cell.temp * 8.3144598) | |
nh.cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
nh.cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | nh.cell.na_ex |
nh.cell.na.ion_p | "m3/(s.m2)" | permeability of ion | nh.cell.na_p |
nh.cell.na.ion_z | valence of ion | 1 | |
nh.cell.na.current_name | "I_Na" | ||
nh.cell.to.v_eq | "V" | equilibrium potential | nh.cell.v_k |
nh.cell.to.g_max | "S" | maximum conductance | 1.4e-08 |
nh.cell.to.current_name | "I_to" | ||
nh.cell.cell_type | "NH" | ||
nh.cell.ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 |
nh.cell.ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 |
nh.cell.ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 |
nh.cell.ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 |
nh.cell.ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 |
nh.cell.ca.mg.vol | "m3" | volume of the compartment | nh.cell.v_cyto |
nh.cell.ca.sub.vol | "m3" | volume of the compartment | nh.cell.v_sub |
nh.cell.ca.sub.c_start | "mol/m3" | initial value of concentration | 7.313999999999999e-05 |
nh.cell.ca.cyto.vol | "m3" | volume of the compartment | nh.cell.v_cyto |
nh.cell.ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0001386 |
nh.cell.ca.jsr.vol | "m3" | volume of the compartment | nh.cell.v_jsr |
nh.cell.ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.4438 |
nh.cell.ca.nsr.vol | "m3" | volume of the compartment | nh.cell.v_nsr |
nh.cell.ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.187 |
nh.cell.ca.sub_cyto.vol_src | "m3" | volume of source compartment | nh.cell.ca.sub.vol |
nh.cell.ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | nh.cell.ca.cyto.vol |
nh.cell.ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(nh.cell.ca.sub_cyto.vol_src, nh.cell.ca.sub_cyto.vol_dst) |
nh.cell.ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 |
nh.cell.ca.cyto_nsr.current_name | "SERCA" | ||
nh.cell.ca.cyto_nsr.vol_src | "m3" | volume of source compartment | nh.cell.ca.cyto.vol |
nh.cell.ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * nh.cell.v_nsr |
nh.cell.ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 |
nh.cell.ca.nsr_jsr.vol_src | "m3" | volume of source compartment | nh.cell.ca.nsr.vol |
nh.cell.ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | nh.cell.ca.jsr.vol |
nh.cell.ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(nh.cell.ca.nsr_jsr.vol_src, nh.cell.ca.nsr_jsr.vol_dst) |
nh.cell.ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 |
nh.cell.ca.jsr_sub.vol_src | "m3" | volume of source compartment | nh.cell.ca.jsr.vol |
nh.cell.ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | nh.cell.ca.sub.vol |
nh.cell.ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(nh.cell.ca.jsr_sub.vol_src, nh.cell.ca.jsr_sub.vol_dst) |
nh.cell.ca.jsr_sub.current_name | "RyR" | ||
nh.cell.ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1805.6 |
nh.cell.ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 |
nh.cell.ca.jsr_sub.n | "1" | Hill coefficient | 2.0 |
nh.cell.ca.tc.n_tot | "mol" | total amount of buffer | nh.cell.ca.tc_tot * nh.cell.v_cyto |
nh.cell.ca.tc.f_start | "1" | initial value for f | 0.02703 |
nh.cell.ca.tc.k | "mol-1s-1" | association constant | 88800.0 / nh.cell.v_cyto |
nh.cell.ca.tc.kb | "s-1" | dissociation constant | 446.0 |
nh.cell.ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
nh.cell.ca.tc.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.tc.k |
nh.cell.ca.tc.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.tc.kb |
nh.cell.ca.tc.free.vol | "m3" | volume of the compartment | nh.cell.ca.tc.vol |
nh.cell.ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.tc.f_start) * nh.cell.ca.tc.n_tot / nh.cell.ca.tc.vol |
nh.cell.ca.tc.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.tc.vol |
nh.cell.ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.tc.f_start * nh.cell.ca.tc.n_tot / nh.cell.ca.tc.vol |
nh.cell.ca.tm.n_tot | "mol" | total amount of buffer | nh.cell.ca.tmc_tot * nh.cell.v_cyto |
nh.cell.ca.tm.f_a_start | "1" | initial value for f | 0.402 |
nh.cell.ca.tm.f_b_start | "1" | initial value for f | 0.5282 |
nh.cell.ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / nh.cell.v_cyto |
nh.cell.ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / nh.cell.v_cyto |
nh.cell.ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 |
nh.cell.ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 |
nh.cell.ca.tm.vol | "m3" | volume of compartment in which buffer resides | nh.cell.v_cyto |
nh.cell.ca.tm.assoc_a.k | "mol-1s-1" | association constant | nh.cell.ca.tm.k_a |
nh.cell.ca.tm.assoc_a.kb | "s-1" | dissociation constant | nh.cell.ca.tm.kb_a |
nh.cell.ca.tm.assoc_b.k | "mol-1s-1" | association constant | nh.cell.ca.tm.k_b |
nh.cell.ca.tm.assoc_b.kb | "s-1" | dissociation constant | nh.cell.ca.tm.kb_b |
nh.cell.ca.tm.free.vol | "m3" | volume of the compartment | nh.cell.ca.tm.vol |
nh.cell.ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (nh.cell.ca.tm.f_a_start + nh.cell.ca.tm.f_b_start)) * nh.cell.ca.tm.n_tot / nh.cell.ca.tm.vol |
nh.cell.ca.tm.occupied_a.vol | "m3" | volume of the compartment | nh.cell.ca.tm.vol |
nh.cell.ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.tm.f_a_start * nh.cell.ca.tm.n_tot / nh.cell.ca.tm.vol |
nh.cell.ca.tm.occupied_b.vol | "m3" | volume of the compartment | nh.cell.ca.tm.vol |
nh.cell.ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.tm.f_b_start * nh.cell.ca.tm.n_tot / nh.cell.ca.tm.vol |
nh.cell.ca.cm_cyto.n_tot | "mol" | total amount of buffer | nh.cell.ca.cm_tot * nh.cell.v_cyto |
nh.cell.ca.cm_cyto.f_start | "1" | initial value for f | 0.0553 |
nh.cell.ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / nh.cell.v_cyto |
nh.cell.ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 |
nh.cell.ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
nh.cell.ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.cm_cyto.k |
nh.cell.ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.cm_cyto.kb |
nh.cell.ca.cm_cyto.free.vol | "m3" | volume of the compartment | nh.cell.ca.cm_cyto.vol |
nh.cell.ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.cm_cyto.f_start) * nh.cell.ca.cm_cyto.n_tot / nh.cell.ca.cm_cyto.vol |
nh.cell.ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.cm_cyto.vol |
nh.cell.ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.cm_cyto.f_start * nh.cell.ca.cm_cyto.n_tot / nh.cell.ca.cm_cyto.vol |
nh.cell.ca.cm_sub.n_tot | "mol" | total amount of buffer | nh.cell.ca.cm_tot * nh.cell.v_sub |
nh.cell.ca.cm_sub.f_start | "1" | initial value for f | 0.02992 |
nh.cell.ca.cm_sub.k | "mol-1s-1" | association constant | nh.cell.ca.cm_cyto.k * nh.cell.v_cyto / nh.cell.v_sub |
nh.cell.ca.cm_sub.kb | "s-1" | dissociation constant | nh.cell.ca.cm_cyto.kb |
nh.cell.ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
nh.cell.ca.cm_sub.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.cm_sub.k |
nh.cell.ca.cm_sub.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.cm_sub.kb |
nh.cell.ca.cm_sub.free.vol | "m3" | volume of the compartment | nh.cell.ca.cm_sub.vol |
nh.cell.ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.cm_sub.f_start) * nh.cell.ca.cm_sub.n_tot / nh.cell.ca.cm_sub.vol |
nh.cell.ca.cm_sub.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.cm_sub.vol |
nh.cell.ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.cm_sub.f_start * nh.cell.ca.cm_sub.n_tot / nh.cell.ca.cm_sub.vol |
nh.cell.ca.cq.n_tot | "mol" | total amount of buffer | nh.cell.ca.cq_tot * nh.cell.v_jsr |
nh.cell.ca.cq.f_start | "1" | initial value for f | 0.3463 |
nh.cell.ca.cq.k | "mol-1s-1" | association constant | 534.0 / nh.cell.v_jsr |
nh.cell.ca.cq.kb | "s-1" | dissociation constant | 445.0 |
nh.cell.ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
nh.cell.ca.cq.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.cq.k |
nh.cell.ca.cq.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.cq.kb |
nh.cell.ca.cq.free.vol | "m3" | volume of the compartment | nh.cell.ca.cq.vol |
nh.cell.ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.cq.f_start) * nh.cell.ca.cq.n_tot / nh.cell.ca.cq.vol |
nh.cell.ca.cq.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.cq.vol |
nh.cell.ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.cq.f_start * nh.cell.ca.cq.n_tot / nh.cell.ca.cq.vol |
nh.cell.ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 |
nh.cell.ca.cm_sl.n_tot | "mol" | total amount of buffer | nh.cell.ca.cm_sl_tot * nh.cell.v_sub |
nh.cell.ca.cm_sl.f_start | "1" | initial value for f | 4.843e-05 |
nh.cell.ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / nh.cell.v_sub |
nh.cell.ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 |
nh.cell.ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
nh.cell.ca.cm_sl.assoc.k | "mol-1s-1" | association constant | nh.cell.ca.cm_sl.k |
nh.cell.ca.cm_sl.assoc.kb | "s-1" | dissociation constant | nh.cell.ca.cm_sl.kb |
nh.cell.ca.cm_sl.free.vol | "m3" | volume of the compartment | nh.cell.ca.cm_sl.vol |
nh.cell.ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - nh.cell.ca.cm_sl.f_start) * nh.cell.ca.cm_sl.n_tot / nh.cell.ca.cm_sl.vol |
nh.cell.ca.cm_sl.occupied.vol | "m3" | volume of the compartment | nh.cell.ca.cm_sl.vol |
nh.cell.ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | nh.cell.ca.cm_sl.f_start * nh.cell.ca.cm_sl.n_tot / nh.cell.ca.cm_sl.vol |
nh.cc.d_hold | "s" | holding period | 0.3 |
nh.cc.d_pulse | "s" | pulse period | 0.001 |
nh.cc.i_hold | "A" | current during holding period | 0.0 |
an.cell.na.ion_in | "mol/m3" | intracellular concentration of ion | an.cell.na_in |
an.cell.bg.g | "S" | ion conductance | an.cell.bg.g_max |
nh.cell.na.ion_in | "mol/m3" | intracellular concentration of ion | nh.cell.na_in |
nh.cell.bg.g | "S" | ion conductance | nh.cell.bg.g_max |
n.cell.bg.g | "S" | ion conductance | n.cell.bg.g_max |
InaMo.Examples.FullCell.AllCellsC
model AllCellsC "simulation of all cell types with constant intracellular Ca2+"
extends Modelica.Icons.Example;
FullCellCurrentPulses an(redeclare InaMo.Cells.ConstantCa.ANCellConst cell) "AN cell experiment";
FullCellSpon n(redeclare InaMo.Cells.ConstantCa.NCellConst cell) "N cell experiment";
FullCellCurrentPulses nh(redeclare InaMo.Cells.ConstantCa.NHCellConst cell) "NH cell experiment";
annotation(
experiment(StartTime = 0, StopTime = 2.5, Tolerance = 1e-6, Interval = 1e-4),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "(an|n|nh)\\.cell\\.v"));
end AllCellsC;
- Within group an (prefix _ indicates shortened variable name)
- Within group cc (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
- Within group kir (prefix _ indicates shortened variable name)
- Within group kr (prefix _ indicates shortened variable name)
- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group to (prefix _ indicates shortened variable name)
- Within group n (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
- Within group hcn (prefix _ indicates shortened variable name)
- Within group kr (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group nh (prefix _ indicates shortened variable name)
- Within group cc (prefix _ indicates shortened variable name)
- Within group cell (prefix _ indicates shortened variable name)
- Within group cal (prefix _ indicates shortened variable name)
- Within group kir (prefix _ indicates shortened variable name)
- Within group kr (prefix _ indicates shortened variable name)
- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group to (prefix _ indicates shortened variable name)
Functions:
function ftau.fbeta
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + kr.ftau.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;
function act.fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act.fsteady;
function c_to_v "function used to determine cell volume based on membrane capacitance"
input Real c_m(quantity = "Capacitance", unit = "F", min = 0.0) "membrane capacitance";
input Real v_low(quantity = "Volume", unit = "m3") = 2.19911e-15 "low estimate for cell volume (obtained when c_m = c_low)";
input Real v_high(quantity = "Volume", unit = "m3") = 7.147123e-15 "high estimate for cell volume (obtained when c_m = c_low + c_span)";
output Real v_cell(quantity = "Volume", unit = "m3") "resulting total cell volume";
protected Real c_low(quantity = "Capacitance", unit = "F", min = 0.0) = 2e-11 "low value for c_m (where v_low is returned)";
protected Real c_span(quantity = "Capacitance", unit = "F", min = 0.0) = 4.5e-11 "span that must be added to c_m to reach an output of v_high";
algorithm
v_cell := (c_m - c_low) / c_span * (v_high - v_low) + v_low;
end c_to_v;
function inact.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + kr.ftau.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;
function kr.ftau.falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end kr.ftau.falpha;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function cal.ftau.falpha
input Real x "input value";
output Real y "output value";
algorithm
y := falpha.fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + falpha.fa(x, 0.0, 78.11 / 0.208, -208.0);
end cal.ftau.falpha;
function inact_fast.ftau
input Real x "input value";
input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;
function inact.fsteady
input Real x "input value";
output Real y "output value";
algorithm
y := act.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * inact_fast.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;
function to.act.ftau
input Real x "input value";
input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + kr.ftau.falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end to.act.ftau;
function ghkFlux "ghk flux equation for a single ion"
input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
input Integer ion_z "ion valence";
output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
protected Real g_max(quantity = "Conductance", unit = "S");
protected Real v_eq(quantity = "ElectricPotential", unit = "V");
protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
v_eq := nernst(ion_in, ion_ex, ion_z, temp);
if abs(v) < 1e-06 then
i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
else
i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
end if;
end ghkFlux;
function cal.act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (cal.ftau.falpha(x) + falpha.fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end cal.act.ftau;
function st.ftau.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end st.ftau.falpha;
function falpha.fa
input Real x "input value";
input Real x0 = -0.035 "offset for x (fitting parameter)";
input Real sy = 65.3 "scaling factor for y (fitting parameter)";
input Real sx = -400.0 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end falpha.fa;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function act_fast.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 39.8, 17.0) + kr.ftau.falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;
function inact.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, 9.42, 603.6) + kr.ftau.falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;
function st.act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (st.ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end st.act.ftau;
function inact_fast.fsteady
input Real x "input value";
output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
y := kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) / (kr.ftau.falpha(x, -0.0669, -1000.0 / 5.57, 44.9) + act.fsteady(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end inact_fast.fsteady;
function fbeta.fa
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (kr.ftau.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + kr.ftau.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fbeta.fa;
function p_from_g "calculate membrane permeability for ion from membrane conductance"
input Real g(quantity = "Conductance", unit = "S") "membrane conductance for given ion";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "membrane permeability for given ion";
protected Real unit_area(quantity = "Area", unit = "m2") = 1.0 "unit area of 1 m², used to get correct units";
algorithm
p := g / ion_ex * 8.3144598 * temp / (96485.33289000001 * /*Real*/(ion_z)) ^ 2.0 / unit_area;
end p_from_g;
function inact.fbeta
input Real x "input value";
output Real y "output value";
algorithm
y := fbeta.fa(x, 0.0) + act.fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;
name | unit | label | value |
---|---|---|---|
an.cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
an.cc.pulse_end | signals end of pulse | ||
an.cc.pulse_start | signals start of pulse | ||
an.cc.i_stim | "A" | input current (needs to be defined externally) | |
an.cc.g.p.i | "A" | Current flowing into the pin | |
an.cc.n.i | "A" | Current flowing into the pin | |
an.cell.ca_sub.substance.rate | "mol/s" | molar flow rate of substance | |
an.cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
an.cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
an.cell.to.inact_fast.n | ratio of molecules in open conformation | 0.8734 | |
an.cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
an.cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1503 | |
an.cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.to.act.steady | value that n would reach if v_gate was held constant | ||
an.cell.to.act.n | ratio of molecules in open conformation | 0.008857 | |
an.cell.to.g | "S" | ion conductance | |
an.cell.to.i_open | "A" | i if open_ratio = 1 | |
an.cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
an.cell.to.i_ion | "A" | current used for ion flux | |
an.cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
an.cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
an.cell.na.inact_slow.n | ratio of molecules in open conformation | 0.6162 | |
an.cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
an.cell.na.inact_fast.n | ratio of molecules in open conformation | 0.717 | |
an.cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
an.cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
an.cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
an.cell.na.act.n | ratio of molecules in open conformation | 0.01227 | |
an.cell.na.i_open | i if open_ratio = 1 | ||
an.cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
an.cell.na.i_ion | "A" | current used for ion flux | |
an.cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
an.cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
an.cell.kir.g | "S" | ion conductance | |
an.cell.kir.i_open | "A" | i if open_ratio = 1 | |
an.cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
an.cell.kir.i_ion | "A" | current used for ion flux | |
an.cell.l2.i | "A" | Current flowing from pin p to pin n | |
an.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
an.cell.nak.i | "A" | Current flowing from pin p to pin n | |
an.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
an.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
an.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
an.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
an.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
an.cell.naca.x4 | "1" | relative frequancy of E4 states | |
an.cell.naca.x3 | "1" | relative frequency of E3 states | |
an.cell.naca.x2 | "1" | relative frequency of E2 states | |
an.cell.naca.x1 | "1" | relative frequency of E1 states | |
an.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
an.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
an.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
an.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
an.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
an.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
an.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
an.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
an.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
an.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
an.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
an.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
an.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
an.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
an.cell.kr.act_total | total activation due to slow and fast activation terms | ||
an.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
an.cell.kr.inact.n | ratio of molecules in open conformation | 0.9866 | |
an.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
an.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.0484 | |
an.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
an.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.07106999999999999 | |
an.cell.kr.g | "S" | ion conductance | |
an.cell.kr.i_open | "A" | i if open_ratio = 1 | |
an.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
an.cell.kr.i_ion | "A" | current used for ion flux | |
an.cell.cal.inact_total | |||
an.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
an.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9985000000000001 | |
an.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
an.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9875 | |
an.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
an.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
an.cell.cal.act.n | ratio of molecules in open conformation | 4.069e-05 | |
an.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
an.cell.cal.g | "S" | ion conductance | |
an.cell.cal.i_open | "A" | i if open_ratio = 1 | |
an.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
an.cell.cal.i_ion | "A" | current used for ion flux | |
an.cell.bg.i_ion | "A" | current used for ion flux | |
$whenCondition4 | an.cc.pulse_start | ||
$whenCondition3 | an.cc.pulse_end | ||
nh.cc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
nh.cc.pulse_end | signals end of pulse | ||
nh.cc.pulse_start | signals start of pulse | ||
nh.cc.i_stim | "A" | input current (needs to be defined externally) | |
nh.cc.g.p.i | "A" | Current flowing into the pin | |
nh.cc.n.i | "A" | Current flowing into the pin | |
nh.cell.ca_sub.substance.rate | "mol/s" | molar flow rate of substance | |
nh.cell.to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
nh.cell.to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
nh.cell.to.inact_fast.n | ratio of molecules in open conformation | 0.864 | |
nh.cell.to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
nh.cell.to.inact_slow.n | ratio of molecules in open conformation | 0.1297 | |
nh.cell.to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.to.act.steady | value that n would reach if v_gate was held constant | ||
nh.cell.to.act.n | ratio of molecules in open conformation | 0.009580999999999999 | |
nh.cell.to.g | "S" | ion conductance | |
nh.cell.to.i_open | "A" | i if open_ratio = 1 | |
nh.cell.to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
nh.cell.to.i_ion | "A" | current used for ion flux | |
nh.cell.na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
nh.cell.na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
nh.cell.na.inact_slow.n | ratio of molecules in open conformation | 0.5552 | |
nh.cell.na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
nh.cell.na.inact_fast.n | ratio of molecules in open conformation | 0.6438 | |
nh.cell.na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.na.act.steady | "1" | steady state achieved if current voltage is held constant | |
nh.cell.na.act.beta | "1" | rate of transfer from open to closed conformation | |
nh.cell.na.act.alpha | "1" | rate of transfer from closed to open conformation | |
nh.cell.na.act.n | ratio of molecules in open conformation | 0.01529 | |
nh.cell.na.i_open | i if open_ratio = 1 | ||
nh.cell.na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
nh.cell.na.i_ion | "A" | current used for ion flux | |
nh.cell.kir.voltage_act.n | ratio of molecules in open conformation | ||
nh.cell.kir.voltage_inact.n | ratio of molecules in open conformation | ||
nh.cell.kir.g | "S" | ion conductance | |
nh.cell.kir.i_open | "A" | i if open_ratio = 1 | |
nh.cell.kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
nh.cell.kir.i_ion | "A" | current used for ion flux | |
nh.cell.l2.i | "A" | Current flowing from pin p to pin n | |
nh.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
nh.cell.nak.i | "A" | Current flowing from pin p to pin n | |
nh.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
nh.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
nh.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
nh.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
nh.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
nh.cell.naca.x4 | "1" | relative frequancy of E4 states | |
nh.cell.naca.x3 | "1" | relative frequency of E3 states | |
nh.cell.naca.x2 | "1" | relative frequency of E2 states | |
nh.cell.naca.x1 | "1" | relative frequency of E1 states | |
nh.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
nh.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
nh.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
nh.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
nh.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
nh.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
nh.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
nh.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
nh.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
nh.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
nh.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
nh.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
nh.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
nh.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
nh.cell.kr.act_total | total activation due to slow and fast activation terms | ||
nh.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
nh.cell.kr.inact.n | ratio of molecules in open conformation | 0.9853 | |
nh.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
nh.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.07024 | |
nh.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
nh.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.09949 | |
nh.cell.kr.g | "S" | ion conductance | |
nh.cell.kr.i_open | "A" | i if open_ratio = 1 | |
nh.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
nh.cell.kr.i_ion | "A" | current used for ion flux | |
nh.cell.cal.inact_total | |||
nh.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
nh.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.9981 | |
nh.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
nh.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.9831 | |
nh.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
nh.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
nh.cell.cal.act.n | ratio of molecules in open conformation | 5.025e-05 | |
nh.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
nh.cell.cal.g | "S" | ion conductance | |
nh.cell.cal.i_open | "A" | i if open_ratio = 1 | |
nh.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
nh.cell.cal.i_ion | "A" | current used for ion flux | |
nh.cell.bg.i_ion | "A" | current used for ion flux | |
$whenCondition2 | nh.cc.pulse_start | ||
$whenCondition1 | nh.cc.pulse_end | ||
n.g.p.i | "A" | Current flowing into the pin | |
n.cell.ca_sub.substance.rate | "mol/s" | molar flow rate of substance | |
n.cell.st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
n.cell.st.inact.beta | "1" | rate of transfer from open to closed conformation | |
n.cell.st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
n.cell.st.inact.n | ratio of molecules in open conformation | 0.4886 | |
n.cell.st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.st.act.steady | value that n would reach if v_gate was held constant | ||
n.cell.st.act.n | ratio of molecules in open conformation | 0.1933 | |
n.cell.st.g | "S" | ion conductance | |
n.cell.st.i_open | "A" | i if open_ratio = 1 | |
n.cell.st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
n.cell.st.i_ion | "A" | current used for ion flux | |
n.cell.hcn.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.hcn.act.steady | value that n would reach if v_gate was held constant | ||
n.cell.hcn.act.n | "1" | ratio of molecules in open conformation | 0.03825 |
n.cell.hcn.g | "S" | ion conductance | |
n.cell.hcn.i_open | "A" | i if open_ratio = 1 | |
n.cell.hcn.i_ion | "A" | current used for ion flux | |
n.cell.l2.i | "A" | Current flowing from pin p to pin n | |
n.cell.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
n.cell.nak.i | "A" | Current flowing from pin p to pin n | |
n.cell.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
n.cell.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
n.cell.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
n.cell.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
n.cell.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
n.cell.naca.x4 | "1" | relative frequancy of E4 states | |
n.cell.naca.x3 | "1" | relative frequency of E3 states | |
n.cell.naca.x2 | "1" | relative frequency of E2 states | |
n.cell.naca.x1 | "1" | relative frequency of E1 states | |
n.cell.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
n.cell.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
n.cell.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
n.cell.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
n.cell.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
n.cell.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
n.cell.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
n.cell.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
n.cell.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
n.cell.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
n.cell.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
n.cell.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
n.cell.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
n.cell.naca.trans.rate | "mol/s" | rate of change in substance amount | |
n.cell.kr.act_total | total activation due to slow and fast activation terms | ||
n.cell.kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.kr.inact.steady | value that n would reach if v_gate was held constant | ||
n.cell.kr.inact.n | ratio of molecules in open conformation | 0.9775 | |
n.cell.kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
n.cell.kr.act_slow.n | ratio of molecules in open conformation | 0.1287 | |
n.cell.kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
n.cell.kr.act_fast.n | ratio of molecules in open conformation | 0.6067 | |
n.cell.kr.g | "S" | ion conductance | |
n.cell.kr.i_open | "A" | i if open_ratio = 1 | |
n.cell.kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
n.cell.kr.i_ion | "A" | current used for ion flux | |
n.cell.cal.inact_total | |||
n.cell.cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
n.cell.cal.inact_fast.n | ratio of molecules in open conformation | 0.6861 | |
n.cell.cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
n.cell.cal.inact_slow.n | ratio of molecules in open conformation | 0.4441 | |
n.cell.cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
n.cell.cal.act.steady | value that n would reach if v_gate was held constant | ||
n.cell.cal.act.n | ratio of molecules in open conformation | 0.0001533 | |
n.cell.cal.trans.rate | "mol/s" | rate of change in substance amount | |
n.cell.cal.g | "S" | ion conductance | |
n.cell.cal.i_open | "A" | i if open_ratio = 1 | |
n.cell.cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
n.cell.cal.i_ion | "A" | current used for ion flux | |
n.cell.bg.i_ion | "A" | current used for ion flux | |
an.cell.cal.con.substance.amount | "mol" | amount of substance | an.cell.cal.con.c_const * an.cell.cal.con.vol |
an.cell.naca.con.substance.amount | "mol" | amount of substance | an.cell.naca.con.c_const * an.cell.naca.con.vol |
n.cell.cal.con.substance.amount | "mol" | amount of substance | n.cell.cal.con.c_const * n.cell.cal.con.vol |
n.cell.naca.con.substance.amount | "mol" | amount of substance | n.cell.naca.con.c_const * n.cell.naca.con.vol |
nh.cell.cal.con.substance.amount | "mol" | amount of substance | nh.cell.cal.con.c_const * nh.cell.cal.con.vol |
nh.cell.naca.con.substance.amount | "mol" | amount of substance | nh.cell.naca.con.c_const * nh.cell.naca.con.vol |
n.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | n.cell.naca.di_c * n.cell.na_in / n.cell.naca.k_cn_i |
n.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | n.cell.naca.di_2n * n.cell.na_in / n.cell.naca.k_3n_i |
n.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | n.cell.naca.do_2n * n.cell.na_ex / n.cell.naca.k_3n_o |
n.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | n.cell.naca.do_1n * n.cell.na_ex / n.cell.naca.k_2n_o |
n.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | n.cell.naca.di_1n * n.cell.na_in / n.cell.naca.k_2n_i |
n.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | n.cell.ca_sub.substance.amount / (n.cell.naca.k_c_i * n.cell.v_sub) |
n.cell.p.i | "A" | Current flowing into the pin | 0.0 |
n.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 |
n.cell.ca_sub.substance.amount | "mol" | amount of substance | n.cell.ca_sub.c_const * n.cell.ca_sub.vol |
n.g.p.v | "V" | Potential at the pin | 0.0 |
n.cell.cal.ach_factor | 1.0 | ||
n.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | n.cell.na_in / n.cell.naca.k_1n_i |
n.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | n.cell.ca_ex / n.cell.naca.k_c_o |
n.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | n.cell.na_ex / n.cell.naca.k_1n_o |
n.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.cell.na_ex, n.cell.naca.k_3n_o) |
n.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.cell.na_in, n.cell.naca.k_3n_i) |
nh.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | nh.cell.naca.di_c * nh.cell.na_in / nh.cell.naca.k_cn_i |
nh.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | nh.cell.naca.di_2n * nh.cell.na_in / nh.cell.naca.k_3n_i |
nh.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | nh.cell.naca.do_2n * nh.cell.na_ex / nh.cell.naca.k_3n_o |
nh.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | nh.cell.naca.do_1n * nh.cell.na_ex / nh.cell.naca.k_2n_o |
nh.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | nh.cell.naca.di_1n * nh.cell.na_in / nh.cell.naca.k_2n_i |
nh.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | nh.cell.ca_sub.substance.amount / (nh.cell.naca.k_c_i * nh.cell.v_sub) |
nh.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 |
nh.cell.ca_sub.substance.amount | "mol" | amount of substance | nh.cell.ca_sub.c_const * nh.cell.ca_sub.vol |
nh.cc.g.p.v | "V" | Potential at the pin | 0.0 |
nh.cell.cal.ach_factor | 1.0 | ||
nh.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | nh.cell.na_in / nh.cell.naca.k_1n_i |
nh.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | nh.cell.ca_ex / nh.cell.naca.k_c_o |
nh.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | nh.cell.na_ex / nh.cell.naca.k_1n_o |
nh.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.na_ex, nh.cell.naca.k_3n_o) |
nh.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.na_in, nh.cell.naca.k_3n_i) |
nh.cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(nh.cell.k_ex, 0.59) |
nh.cc.i_pulse | "A" | current during pulse (must be defined externally) | -2e-09 |
an.cell.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | an.cell.naca.di_c * an.cell.na_in / an.cell.naca.k_cn_i |
an.cell.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | an.cell.naca.di_2n * an.cell.na_in / an.cell.naca.k_3n_i |
an.cell.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | an.cell.naca.do_2n * an.cell.na_ex / an.cell.naca.k_3n_o |
an.cell.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | an.cell.naca.do_1n * an.cell.na_ex / an.cell.naca.k_2n_o |
an.cell.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | an.cell.naca.di_1n * an.cell.na_in / an.cell.naca.k_2n_i |
an.cell.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | an.cell.ca_sub.substance.amount / (an.cell.naca.k_c_i * an.cell.v_sub) |
an.cell.bg.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | 1.0 |
an.cell.ca_sub.substance.amount | "mol" | amount of substance | an.cell.ca_sub.c_const * an.cell.ca_sub.vol |
an.cc.g.p.v | "V" | Potential at the pin | 0.0 |
an.cell.cal.ach_factor | 1.0 | ||
an.cell.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | an.cell.na_in / an.cell.naca.k_1n_i |
an.cell.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | an.cell.ca_ex / an.cell.naca.k_c_o |
an.cell.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | an.cell.na_ex / an.cell.naca.k_1n_o |
an.cell.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an.cell.na_ex, an.cell.naca.k_3n_o) |
an.cell.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an.cell.na_in, an.cell.naca.k_3n_i) |
an.cell.kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(an.cell.k_ex, 0.59) |
an.cc.i_pulse | "A" | current during pulse (must be defined externally) | -2e-09 |
an.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
an.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 |
an.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
an.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
an.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, an.cell.na_ex, 1, an.cell.temp) |
an.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
an.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
an.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
an.cell.temp | "K" | cell medium temperature | 288.15 |
an.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCellsC.an.cell.c_to_v(an.cell.l2.c, 2.19911e-15, 7.147123e-15) |
an.cell.v_cyto | "m3" | volume of cytosol | 0.46 * an.cell.v_cell - an.cell.v_sub |
an.cell.v_sub | "m3" | volume of subspace | 0.01 * an.cell.v_cell |
an.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * an.cell.v_cell |
an.cell.v_nsr | "m3" | volume of network SR | 0.0116 * an.cell.v_cell |
an.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(an.cell.k_in, an.cell.k_ex, 1, an.cell.temp) |
an.cell.bg.v_eq | "V" | equilibrium potential | -0.0525 |
an.cell.bg.g_max | "S" | maximum conductance | 1.8e-09 |
an.cell.bg.current_name | "I_b" | ||
an.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 |
an.cell.cal.g_max | "S" | maximum conductance | 1.85e-08 |
an.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | an.cell.cal.n_ca |
an.cell.cal.trans.z | valence of ion | 2 | |
an.cell.cal.con.c_const | "mol/m3" | fixed concentration | an.cell.ca_ex |
an.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 |
an.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
an.cell.cal.current_name | "I_Ca,L" | ||
an.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
an.cell.kr.v_eq | "V" | equilibrium potential | an.cell.v_k |
an.cell.kr.g_max | "S" | maximum conductance | 1.5e-09 |
an.cell.kr.current_name | "I_K,r" | ||
an.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | an.cell.naca.n_ca |
an.cell.naca.trans.z | valence of ion | 2 | |
an.cell.naca.con.c_const | "mol/m3" | fixed concentration | an.cell.ca_ex |
an.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 |
an.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
an.cell.naca.current_name | "I_NaCa" | ||
an.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
an.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
an.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
an.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
an.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
an.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
an.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
an.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
an.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
an.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
an.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
an.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
an.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 |
an.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / an.cell.temp | |
an.cell.nak.current_name | "I_NaK" | ||
an.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 2.46e-11 |
an.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 |
an.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
an.cell.l2.c | "F" | membrane capacitance | 4e-11 |
an.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
an.cell.l2.use_init | determines whether initial value for v is used | true | |
an.cell.kir.v_eq | "V" | equilibrium potential | an.cell.v_k |
an.cell.kir.g_max | "S" | maximum conductance | 1.25e-08 |
an.cell.kir.current_name | "I_K1" | ||
an.cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (an.cell.temp * 8.3144598) | |
an.cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
an.cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | an.cell.na_ex |
an.cell.na.ion_p | "m3/(s.m2)" | permeability of ion | an.cell.na_p |
an.cell.na.ion_z | valence of ion | 1 | |
an.cell.na.current_name | "I_Na" | ||
an.cell.to.v_eq | "V" | equilibrium potential | an.cell.v_k |
an.cell.to.g_max | "S" | maximum conductance | 2e-08 |
an.cell.to.current_name | "I_to" | ||
an.cell.cell_type | "AN" | ||
an.cell.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 |
an.cell.ca_sub.vol | "m3" | volume of the compartment | an.cell.v_sub |
an.cc.d_hold | "s" | holding period | 0.3 |
an.cc.d_pulse | "s" | pulse period | 0.001 |
an.cc.i_hold | "A" | current during holding period | 0.0 |
n.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
n.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 |
n.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
n.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
n.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, n.cell.na_ex, 1, n.cell.temp) |
n.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
n.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
n.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
n.cell.temp | "K" | cell medium temperature | 288.15 |
n.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCellsC.n.cell.c_to_v(n.cell.l2.c, 2.19911e-15, 7.147123e-15) |
n.cell.v_cyto | "m3" | volume of cytosol | 0.46 * n.cell.v_cell - n.cell.v_sub |
n.cell.v_sub | "m3" | volume of subspace | 0.01 * n.cell.v_cell |
n.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * n.cell.v_cell |
n.cell.v_nsr | "m3" | volume of network SR | 0.0116 * n.cell.v_cell |
n.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(n.cell.k_in, n.cell.k_ex, 1, n.cell.temp) |
n.cell.bg.v_eq | "V" | equilibrium potential | -0.0225 |
n.cell.bg.g_max | "S" | maximum conductance | 1.2e-09 |
n.cell.bg.current_name | "I_b" | ||
n.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 |
n.cell.cal.g_max | "S" | maximum conductance | 9e-09 |
n.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | n.cell.cal.n_ca |
n.cell.cal.trans.z | valence of ion | 2 | |
n.cell.cal.con.c_const | "mol/m3" | fixed concentration | n.cell.ca_ex |
n.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 |
n.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
n.cell.cal.current_name | "I_Ca,L" | ||
n.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
n.cell.kr.v_eq | "V" | equilibrium potential | n.cell.v_k |
n.cell.kr.g_max | "S" | maximum conductance | 3.5e-09 |
n.cell.kr.current_name | "I_K,r" | ||
n.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | n.cell.naca.n_ca |
n.cell.naca.trans.z | valence of ion | 2 | |
n.cell.naca.con.c_const | "mol/m3" | fixed concentration | n.cell.ca_ex |
n.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 |
n.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
n.cell.naca.current_name | "I_NaCa" | ||
n.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
n.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
n.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
n.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
n.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
n.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
n.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
n.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
n.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
n.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
n.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
n.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
n.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.14e-09 |
n.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / n.cell.temp | |
n.cell.nak.current_name | "I_NaK" | ||
n.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.43e-10 |
n.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 |
n.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
n.cell.l2.c | "F" | membrane capacitance | 2.9e-11 |
n.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
n.cell.l2.use_init | determines whether initial value for v is used | true | |
n.cell.hcn.v_eq | "V" | equilibrium potential | -0.03 |
n.cell.hcn.g_max | "S" | maximum conductance | 1e-09 |
n.cell.hcn.current_name | "I_f" | ||
n.cell.hcn.act_shift | "V" | 0.0 | |
n.cell.hcn.act.shift | "V" | n.cell.hcn.act_shift | |
n.cell.st.v_eq | "V" | equilibrium potential | 0.0374 |
n.cell.st.g_max | "S" | maximum conductance | 1e-10 |
n.cell.st.current_name | "I_st" | ||
n.cell.cell_type | "N" | ||
n.cell.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 |
n.cell.ca_sub.vol | "m3" | volume of the compartment | n.cell.v_sub |
nh.cell.use_ach | should acetylcholine sensitive potassium channel be included in the model | false | |
nh.cell.ach | "mol/m3" | concentration of acetylcholine available for I_ACh | 0.0 |
nh.cell.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
nh.cell.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
nh.cell.na_p | "m3/(s.m2)" | permeability of cell membrane to sodium ions | InaMo.Functions.Biochemical.p_from_g(2.53e-07, nh.cell.na_ex, 1, nh.cell.temp) |
nh.cell.k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
nh.cell.k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
nh.cell.ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
nh.cell.temp | "K" | cell medium temperature | 288.15 |
nh.cell.v_cell | "m3" | total cell volume | InaMo.Examples.FullCell.AllCellsC.nh.cell.c_to_v(nh.cell.l2.c, 2.19911e-15, 7.147123e-15) |
nh.cell.v_cyto | "m3" | volume of cytosol | 0.46 * nh.cell.v_cell - nh.cell.v_sub |
nh.cell.v_sub | "m3" | volume of subspace | 0.01 * nh.cell.v_cell |
nh.cell.v_jsr | "m3" | volume of junctional SR | 0.0012 * nh.cell.v_cell |
nh.cell.v_nsr | "m3" | volume of network SR | 0.0116 * nh.cell.v_cell |
nh.cell.v_k | "V" | equilibrium potential for potassium currents | InaMo.Functions.Biochemical.nernst(nh.cell.k_in, nh.cell.k_ex, 1, nh.cell.temp) |
nh.cell.bg.v_eq | "V" | equilibrium potential | -0.04 |
nh.cell.bg.g_max | "S" | maximum conductance | 2e-09 |
nh.cell.bg.current_name | "I_b" | ||
nh.cell.cal.v_eq | "V" | equilibrium potential | 0.0621 |
nh.cell.cal.g_max | "S" | maximum conductance | 2.1e-08 |
nh.cell.cal.trans.n | "1" | stoichiometric ratio of ion transport | nh.cell.cal.n_ca |
nh.cell.cal.trans.z | valence of ion | 2 | |
nh.cell.cal.con.c_const | "mol/m3" | fixed concentration | nh.cell.ca_ex |
nh.cell.cal.con.vol | "m3" | volume of the compartment | 1.0 |
nh.cell.cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
nh.cell.cal.current_name | "I_Ca,L" | ||
nh.cell.cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
nh.cell.kr.v_eq | "V" | equilibrium potential | nh.cell.v_k |
nh.cell.kr.g_max | "S" | maximum conductance | 2e-09 |
nh.cell.kr.current_name | "I_K,r" | ||
nh.cell.naca.trans.n | "1" | stoichiometric ratio of ion transport | nh.cell.naca.n_ca |
nh.cell.naca.trans.z | valence of ion | 2 | |
nh.cell.naca.con.c_const | "mol/m3" | fixed concentration | nh.cell.ca_ex |
nh.cell.naca.con.vol | "m3" | volume of the compartment | 1.0 |
nh.cell.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
nh.cell.naca.current_name | "I_NaCa" | ||
nh.cell.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
nh.cell.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
nh.cell.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
nh.cell.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
nh.cell.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
nh.cell.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
nh.cell.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
nh.cell.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
nh.cell.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
nh.cell.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
nh.cell.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
nh.cell.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
nh.cell.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 |
nh.cell.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / nh.cell.temp | |
nh.cell.nak.current_name | "I_NaK" | ||
nh.cell.nak.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 1.97e-10 |
nh.cell.nak.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.64 |
nh.cell.nak.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
nh.cell.l2.c | "F" | membrane capacitance | 4e-11 |
nh.cell.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
nh.cell.l2.use_init | determines whether initial value for v is used | true | |
nh.cell.kir.v_eq | "V" | equilibrium potential | nh.cell.v_k |
nh.cell.kir.g_max | "S" | maximum conductance | 1.5e-08 |
nh.cell.kir.current_name | "I_K1" | ||
nh.cell.kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (nh.cell.temp * 8.3144598) | |
nh.cell.kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | true | |
nh.cell.na.ion_ex | "mol/m3" | extracellular concentration of ion | nh.cell.na_ex |
nh.cell.na.ion_p | "m3/(s.m2)" | permeability of ion | nh.cell.na_p |
nh.cell.na.ion_z | valence of ion | 1 | |
nh.cell.na.current_name | "I_Na" | ||
nh.cell.to.v_eq | "V" | equilibrium potential | nh.cell.v_k |
nh.cell.to.g_max | "S" | maximum conductance | 1.4e-08 |
nh.cell.to.current_name | "I_to" | ||
nh.cell.cell_type | "NH" | ||
nh.cell.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 |
nh.cell.ca_sub.vol | "m3" | volume of the compartment | nh.cell.v_sub |
nh.cc.d_hold | "s" | holding period | 0.3 |
nh.cc.d_pulse | "s" | pulse period | 0.001 |
nh.cc.i_hold | "A" | current during holding period | 0.0 |
an.cell.na.ion_in | "mol/m3" | intracellular concentration of ion | an.cell.na_in |
an.cell.bg.g | "S" | ion conductance | an.cell.bg.g_max |
nh.cell.na.ion_in | "mol/m3" | intracellular concentration of ion | nh.cell.na_in |
nh.cell.bg.g | "S" | ion conductance | nh.cell.bg.g_max |
n.cell.bg.g | "S" | ion conductance | n.cell.bg.g_max |
Tests for Ca2+ handling
InaMo.Examples.ComponentTests.CaBuffer
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_cyto.con
against
time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
- Tolerance: default value
- Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
- model parameters: same as in InaMo.Cells.VariableCa.ANCell
model CaBuffer "unit test for buffer model"
// uses values for TC in AN cell from InaMo
extends Modelica.Icons.Example;
InaMo.Concentrations.Basic.Buffer tc(f_start = 0.02359, n_tot = 0.031 * v_cyto, k = 88.8e3 / v_cyto, kb = 0.446e3, vol = v_cyto) "troponin-Ca";
InaMo.Concentrations.Basic.Compartment ca_cyto(c_start = 0.1206e-3, vol = v_cyto) "Ca2+ in cytosol";
parameter SI.Volume v_cyto = 1.9792021E-15 "volume of cytosol (value for AN cell)";
equation
connect(tc.site, ca_cyto.substance);
annotation(
Documentation(info = "<html>
<p>NOTE: This model does not represent any meaningful experiment, but is
only used to find errors and unexpected changes in the simulation output
of the tested component.</p>
<p>To produce unit test figure, plot <code>ca_cyto.con</code> against
time.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: just large enough to see some change in variables</li>
<li>Tolerance: default value</li>
<li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
<li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
</ul>
</html>"),
experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-6, Interval = 1e-4),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "ca_cyto\\.con"));
end CaBuffer;
- Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
Functions:
name | unit | label | value |
---|---|---|---|
ca_cyto.con | "mol/m3" | concentration of substance in compartment | |
ca_cyto.substance.amount | "mol" | amount of substance | |
tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
tc.occupied.substance.amount | "mol" | amount of substance | |
tc.free.con | "mol/m3" | concentration of substance in compartment | |
tc.free.substance.amount | "mol" | amount of substance | |
tc.site.rate | "mol/s" | molar flow rate of substance | |
tc.n_tot | "mol" | total amount of buffer | 0.031 * v_cyto |
tc.f_start | "1" | initial value for f | 0.02359 |
tc.k | "mol-1s-1" | association constant | 88800.0 / v_cyto |
tc.kb | "s-1" | dissociation constant | 446.0 |
tc.vol | "m3" | volume of compartment in which buffer resides | v_cyto |
tc.assoc.k | "mol-1s-1" | association constant | tc.k |
tc.assoc.kb | "s-1" | dissociation constant | tc.kb |
tc.free.vol | "m3" | volume of the compartment | tc.vol |
tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - tc.f_start) * tc.n_tot / tc.vol |
tc.occupied.vol | "m3" | volume of the compartment | tc.vol |
tc.occupied.c_start | "mol/m3" | initial value of concentration | tc.f_start * tc.n_tot / tc.vol |
ca_cyto.vol | "m3" | volume of the compartment | v_cyto |
ca_cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 |
v_cyto | "m3" | volume of cytosol (value for AN cell) | 1.9792021e-15 |
InaMo.Examples.ComponentTests.CaBuffer2
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_cyto.con
against
time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
- Tolerance: default value
- Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
- model parameters: same as in InaMo.Cells.VariableCa.ANCell
model CaBuffer2 "unit test for Buffer2"
// uses values for TMC and TMM in AN cell from InaMo
extends Modelica.Icons.Example;
InaMo.Concentrations.Basic.Buffer2 tm(n_tot = 0.062 * v_cyto, vol = v_cyto, f_a_start = 0.3667, k_a = 227.7e3 / v_cyto, kb_a = 0.00751e3, f_b_start = 0.5594, k_b = 2.277e3 / v_cyto, kb_b = 0.751e3) "Troponin-Mg";
InaMo.Concentrations.Basic.Compartment ca_cyto(c_start = 0.1206e-3, vol = v_cyto) "Ca2+ in cytosol";
InaMo.Concentrations.Basic.ConstantConcentration mg(c_const = 2.5, vol = v_cyto) "Mg2+ in cytosol";
parameter SI.Volume v_cyto = 1.9792021E-15 "volume of cytosol (value for AN cell)";
equation
connect(tm.site_a, ca_cyto.substance);
connect(tm.site_b, mg.substance);
annotation(
Documentation(info = "<html>
<p>NOTE: This model does not represent any meaningful experiment, but is
only used to find errors and unexpected changes in the simulation output
of the tested component.</p>
<p>To produce unit test figure, plot <code>ca_cyto.con</code> against
time.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: just large enough to see some change in variables</li>
<li>Tolerance: default value</li>
<li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
<li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
</ul>
</html>"),
experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-6, Interval = 1e-4),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "ca_cyto\\.con"));
end CaBuffer2;
- Within group tm (prefix _ indicates shortened variable name)
- Within group assoc_a (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
- Within group occupied_a (prefix _ indicates shortened variable name)
- Within group occupied_b (prefix _ indicates shortened variable name)
Functions:
name | unit | label | value |
---|---|---|---|
ca_cyto.con | "mol/m3" | concentration of substance in compartment | |
ca_cyto.substance.amount | "mol" | amount of substance | |
tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
tm.occupied_b.substance.amount | "mol" | amount of substance | |
tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
tm.occupied_a.substance.amount | "mol" | amount of substance | |
tm.free.con | "mol/m3" | concentration of substance in compartment | |
tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
tm.free.substance.amount | "mol" | amount of substance | |
tm.site_b.rate | "mol/s" | molar flow rate of substance | |
tm.site_a.rate | "mol/s" | molar flow rate of substance | |
mg.substance.amount | "mol" | amount of substance | mg.c_const * mg.vol |
tm.n_tot | "mol" | total amount of buffer | 0.062 * v_cyto |
tm.f_a_start | "1" | initial value for f | 0.3667 |
tm.f_b_start | "1" | initial value for f | 0.5594 |
tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / v_cyto |
tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / v_cyto |
tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 |
tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 |
tm.vol | "m3" | volume of compartment in which buffer resides | v_cyto |
tm.assoc_a.k | "mol-1s-1" | association constant | tm.k_a |
tm.assoc_a.kb | "s-1" | dissociation constant | tm.kb_a |
tm.assoc_b.k | "mol-1s-1" | association constant | tm.k_b |
tm.assoc_b.kb | "s-1" | dissociation constant | tm.kb_b |
tm.free.vol | "m3" | volume of the compartment | tm.vol |
tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (tm.f_a_start + tm.f_b_start)) * tm.n_tot / tm.vol |
tm.occupied_a.vol | "m3" | volume of the compartment | tm.vol |
tm.occupied_a.c_start | "mol/m3" | initial value of concentration | tm.f_a_start * tm.n_tot / tm.vol |
tm.occupied_b.vol | "m3" | volume of the compartment | tm.vol |
tm.occupied_b.c_start | "mol/m3" | initial value of concentration | tm.f_b_start * tm.n_tot / tm.vol |
ca_cyto.vol | "m3" | volume of the compartment | v_cyto |
ca_cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 |
mg.c_const | "mol/m3" | fixed concentration | 2.5 |
mg.vol | "m3" | volume of the compartment | v_cyto |
v_cyto | "m3" | volume of cytosol (value for AN cell) | 1.9792021e-15 |
InaMo.Examples.ComponentTests.CaDiffusion
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_cyto.con
and
ca_sub.con
against time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
- Tolerance: default value
- Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
- model parameters: same as in InaMo.Cells.VariableCa.ANCell
model CaDiffusion "unit test for Diffusion"
// uses values for sub_cyto in AN cell
extends Modelica.Icons.Example;
InaMo.Concentrations.Basic.Diffusion sub_cyto(vol_src = v_sub, vol_dst = v_cyto, tau = 0.04e-3) "diffusion from subspace into cytosol";
InaMo.Concentrations.Basic.Compartment ca_sub(c_start = 0.06397e-3, vol = v_sub) "Ca2+ in \"fuzzy\" subspace";
InaMo.Concentrations.Basic.Compartment ca_cyto(c_start = 0.1206e-3, vol = v_cyto) "Ca2+ in cytosol";
parameter SI.Volume v_sub = 4.398227E-17 "volume of \"fuzzy\" subspace (value for AN cell)";
parameter SI.Volume v_cyto = 1.9792021E-15 "volume of cytosol (value for AN cell)";
equation
connect(ca_sub.substance, sub_cyto.src);
connect(sub_cyto.dst, ca_cyto.substance);
annotation(
experiment(StartTime = 0, StopTime = 0.005, Tolerance = 1e-6, Interval = 1e-6),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "ca_(cyto|sub)\\.con"),
Documentation(info = "<html>
<p>NOTE: This model does not represent any meaningful experiment, but is
only used to find errors and unexpected changes in the simulation output
of the tested component.</p>
<p>To produce unit test figure, plot <code>ca_cyto.con</code> and
<code>ca_sub.con</code> against time.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: just large enough to see some change in variables</li>
<li>Tolerance: default value</li>
<li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
<li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
</ul>
</html>"));
end CaDiffusion;
- Within group ca_cyto (prefix _ indicates shortened variable name)
- Within group sub_cyto (prefix _ indicates shortened variable name)
Functions:
name | unit | label | value |
---|---|---|---|
ca_cyto.con | "mol/m3" | concentration of substance in compartment | |
ca_cyto.substance.amount | "mol" | amount of substance | |
ca_sub.con | "mol/m3" | concentration of substance in compartment | |
ca_sub.substance.amount | "mol" | amount of substance | |
sub_cyto.rate | "mol/s" | rate of change in substance amount | |
sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / sub_cyto.tau |
sub_cyto.vol_src | "m3" | volume of source compartment | v_sub |
sub_cyto.vol_dst | "m3" | volume of destination compartment | v_cyto |
sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(sub_cyto.vol_src, sub_cyto.vol_dst) |
sub_cyto.tau | "s" | time constant of diffusion | 4e-05 |
ca_sub.vol | "m3" | volume of the compartment | v_sub |
ca_sub.c_start | "mol/m3" | initial value of concentration | 6.397e-05 |
ca_cyto.vol | "m3" | volume of the compartment | v_cyto |
ca_cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 |
v_sub | "m3" | volume of "fuzzy" subspace (value for AN cell) | 4.398227e-17 |
v_cyto | "m3" | volume of cytosol (value for AN cell) | 1.9792021e-15 |
InaMo.Examples.ComponentTests.CaHandlingApprox
This experiment approximates the behavior of the Ca2+ concentration in InaMo.Cells.Atrioventricular.NCell during a spontaneous action potential.
In order to examine the behavior of InaMo.Concentrations.Atrioventricular.CaHandling in isolation, dummy currents are defined as a rough approximation of I_Ca,L and I_NaCa during a spontaneous AP.
To produce unit test figure, plot ca.sub.con
,
ca.cyto.con
, ca.jsr.con
and
ca.nsr.con
against time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: large enough to observe response to approximated action potential
- Tolerance: default value
- Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
- model parameters: same as in InaMo.Cells.VariableCa.ANCell
model CaHandlingApprox "unit test for CaHandling with approximated currents"
extends Modelica.Icons.Example;
import InaMo.Functions.Fitting.gaussianAmp;
model DummyCaL "dummy model replacing I_Ca,L"
extends InaMo.Concentrations.Interfaces.TransmembraneCaFlow(n_ca = 1);
SI.Current i = gaussianAmp(time, y_min = 0, y_max = -3e-10, x0 = 0.2, sigma = 3.54e-3) + gaussianAmp(time, y_min = 0, y_max = -1e-10, x0 = 0.23, sigma = 23.6e-3) + gaussianAmp(time, y_min = 0, y_max = -1e-10, x0 = -0.1, sigma = 118e-3);
inner SI.Current i_ion = i;
end DummyCaL;
model DummyNaCa "dummy model replacing I_NaCa"
extends InaMo.Concentrations.Interfaces.TransmembraneCaFlow(n_ca = -2);
SI.Current i = gaussianAmp(time, y_min = -0.5e-11, y_max = -4e-11, x0 = 0.2, sigma = 3.54e-3) + gaussianAmp(time, y_min = -0.5e-11, y_max = 0.3e-11, x0 = 0.23, sigma = 14.1e-3) + gaussianAmp(time, y_min = 0, y_max = -0.5e-10, x0 = -0.1, sigma = 118e-3);
inner SI.Current i_ion = i;
end DummyNaCa;
DummyCaL cal "replacement for I_Ca,L" annotation(
Placement(transformation(extent = {{-17, 31}, {17, 65}})));
DummyNaCa naca "replacement for I_NaCa" annotation(
Placement(transformation(extent = {{-65, 31}, {-31, 65}})));
InaMo.Concentrations.Atrioventricular.CaHandling ca(cyto.c_start = 0.3623e-3, sub.c_start = 0.2294e-3, jsr.c_start = 0.08227, nsr.c_start = 1.146, tc.f_start = 0.6838, tm.f_a_start = 0.6192, tm.f_b_start = 0.3363, cm_cyto.f_start = 0.1336, cm_sub.f_start = 0.08894, cq.f_start = 0.08736, cm_sl.f_start = 4.764e-5, jsr_sub.p = 1500) "Ca2+ handling with same parameter settings as in NCell" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
inner parameter SI.Volume v_sub = 3.1887126E-17 "volume of \"fuzzy\" subspace (value from C++ for N-cell)";
inner parameter SI.Volume v_cyto = 1.43492067E-15 "volume of cytosol (value from C++ for N-cell)";
inner parameter SI.Volume v_nsr = 3.698906616E-17 "volume of network SR (value from C++ for N-cell)";
inner parameter SI.Volume v_jsr = 3.82645512E-18 "volume of junctional SR (value from C++ for N-cell)";
inner parameter SI.Concentration ca_ex = 0 "extracellular Ca2+ concentration (value not used in this simulation)";
equation
connect(cal.ca, ca.ca_sub) annotation(
Line(points = {{6, 32}, {6, 32}, {6, 0}, {18, 0}, {18, 0}}));
connect(naca.ca, ca.ca_sub) annotation(
Line(points = {{-42, 32}, {-42, 32}, {-42, 0}, {18, 0}, {18, 0}}));
annotation(
experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-7, Interval = 1e-4),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "(cal|naca)\\.i|ca\\.(sub|cyto|jsr|nsr)\\.con"),
Documentation(info = "<html>
<p>This experiment approximates the behavior of the Ca2+ concentration in
InaMo.Cells.Atrioventricular.NCell during a spontaneous action potential.
</p>
<p>In order to examine the behavior of
InaMo.Concentrations.Atrioventricular.CaHandling in isolation, dummy
currents are defined as a rough approximation of I_Ca,L and I_NaCa during
a spontaneous AP.</p>
<p>To produce unit test figure, plot <code>ca.sub.con</code>,
<code>ca.cyto.con</code>, <code>ca.jsr.con</code> and
<code>ca.nsr.con</code> against time.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: large enough to observe response to approximated action potential</li>
<li>Tolerance: default value</li>
<li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
<li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
</ul>
</html>"));
end CaHandlingApprox;
- Within group ca (prefix _ indicates shortened variable name)
- Within group cm_cyto (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sl (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cm_sub (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cq (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group cyto (prefix _ indicates shortened variable name)
- Within group jsr (prefix _ indicates shortened variable name)
- Within group jsr_sub (prefix _ indicates shortened variable name)
- Within group nsr (prefix _ indicates shortened variable name)
- Within group sub (prefix _ indicates shortened variable name)
- Within group tc (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group occupied (prefix _ indicates shortened variable name)
- Within group assoc (prefix _ indicates shortened variable name)
- Within group tm (prefix _ indicates shortened variable name)
- Within group free (prefix _ indicates shortened variable name)
- Within group occupied_a (prefix _ indicates shortened variable name)
- Within group occupied_b (prefix _ indicates shortened variable name)
Functions:
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
input Real n(unit = "1") "Hill coefficient";
output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function gaussianAmp "gaussian function with freely adjustable amplitude and offset"
input Real x "input value";
input Real y_min = 0.0 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 1.0 "maximum value achieved at peak (fititng parameter)";
input Real x0 = 0.0 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 1.0 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end gaussianAmp;
name | unit | label | value |
---|---|---|---|
ca.cm_sl.occupied.con | "mol/m3" | concentration of substance in compartment | |
ca.cm_sl.occupied.substance.amount | "mol" | amount of substance | |
ca.cm_sl.free.con | "mol/m3" | concentration of substance in compartment | |
ca.cm_sl.free.substance.amount | "mol" | amount of substance | |
ca.cm_sl.site.rate | "mol/s" | molar flow rate of substance | |
ca.cq.occupied.con | "mol/m3" | concentration of substance in compartment | |
ca.cq.occupied.substance.amount | "mol" | amount of substance | |
ca.cq.free.con | "mol/m3" | concentration of substance in compartment | |
ca.cq.free.substance.amount | "mol" | amount of substance | |
ca.cq.site.rate | "mol/s" | molar flow rate of substance | |
ca.cm_sub.occupied.con | "mol/m3" | concentration of substance in compartment | |
ca.cm_sub.occupied.substance.amount | "mol" | amount of substance | |
ca.cm_sub.free.con | "mol/m3" | concentration of substance in compartment | |
ca.cm_sub.free.substance.amount | "mol" | amount of substance | |
ca.cm_sub.site.rate | "mol/s" | molar flow rate of substance | |
ca.cm_cyto.occupied.con | "mol/m3" | concentration of substance in compartment | |
ca.cm_cyto.occupied.substance.amount | "mol" | amount of substance | |
ca.cm_cyto.free.con | "mol/m3" | concentration of substance in compartment | |
ca.cm_cyto.free.substance.amount | "mol" | amount of substance | |
ca.cm_cyto.site.rate | "mol/s" | molar flow rate of substance | |
ca.tm.occupied_b.con | "mol/m3" | concentration of substance in compartment | |
ca.tm.occupied_b.substance.amount | "mol" | amount of substance | |
ca.tm.occupied_a.con | "mol/m3" | concentration of substance in compartment | |
ca.tm.occupied_a.substance.amount | "mol" | amount of substance | |
ca.tm.free.con | "mol/m3" | concentration of substance in compartment | |
ca.tm.free.substance.rate | "mol/s" | molar flow rate of substance | |
ca.tm.free.substance.amount | "mol" | amount of substance | |
ca.tm.site_b.rate | "mol/s" | molar flow rate of substance | |
ca.tm.site_a.rate | "mol/s" | molar flow rate of substance | |
ca.tc.occupied.con | "mol/m3" | concentration of substance in compartment | |
ca.tc.occupied.substance.amount | "mol" | amount of substance | |
ca.tc.free.con | "mol/m3" | concentration of substance in compartment | |
ca.tc.free.substance.amount | "mol" | amount of substance | |
ca.tc.site.rate | "mol/s" | molar flow rate of substance | |
ca.jsr_sub.coeff | "1/s" | coefficient of transport | |
ca.jsr_sub.rate | "mol/s" | rate of change in substance amount | |
ca.nsr_jsr.rate | "mol/s" | rate of change in substance amount | |
ca.cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
ca.sub_cyto.rate | "mol/s" | rate of change in substance amount | |
ca.nsr.con | "mol/m3" | concentration of substance in compartment | |
ca.nsr.substance.rate | "mol/s" | molar flow rate of substance | |
ca.nsr.substance.amount | "mol" | amount of substance | |
ca.jsr.con | "mol/m3" | concentration of substance in compartment | |
ca.jsr.substance.rate | "mol/s" | molar flow rate of substance | |
ca.jsr.substance.amount | "mol" | amount of substance | |
ca.cyto.con | "mol/m3" | concentration of substance in compartment | |
ca.cyto.substance.rate | "mol/s" | molar flow rate of substance | |
ca.cyto.substance.amount | "mol" | amount of substance | |
ca.sub.con | "mol/m3" | concentration of substance in compartment | |
ca.sub.substance.rate | "mol/s" | molar flow rate of substance | |
ca.sub.substance.amount | "mol" | amount of substance | |
ca.ca_sub.rate | "mol/s" | molar flow rate of substance | |
naca.i_ion | "A" | ||
naca.trans.rate | "mol/s" | rate of change in substance amount | |
cal.i_ion | "A" | ||
cal.trans.rate | "mol/s" | rate of change in substance amount | |
cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol |
naca.con.substance.amount | "mol" | amount of substance | naca.con.c_const * naca.con.vol |
ca.mg.substance.amount | "mol" | amount of substance | ca.mg.c_const * ca.mg.vol |
ca.sub_cyto.coeff | "1/s" | coefficient of transport | 1.0 / ca.sub_cyto.tau |
ca.nsr_jsr.coeff | "1/s" | coefficient of transport | 1.0 / ca.nsr_jsr.tau |
cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca |
cal.trans.z | valence of ion | 2 | |
cal.con.c_const | "mol/m3" | fixed concentration | ca_ex |
cal.con.vol | "m3" | volume of the compartment | 1.0 |
cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
naca.trans.n | "1" | stoichiometric ratio of ion transport | naca.n_ca |
naca.trans.z | valence of ion | 2 | |
naca.con.c_const | "mol/m3" | fixed concentration | ca_ex |
naca.con.vol | "m3" | volume of the compartment | 1.0 |
naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
ca.tc_tot | "mol/m3" | total concentration of troponin-Ca | 0.031 |
ca.tmc_tot | "mol/m3" | total concentration of troponin-Mg binding to Ca2+ | 0.062 |
ca.cm_tot | "mol/m3" | total concentration of calmodulin | 0.045 |
ca.cq_tot | "mol/m3" | total concentration of calsequestrin | 10.0 |
ca.mg.c_const | "mol/m3" | fixed concentration | 2.5 |
ca.mg.vol | "m3" | volume of the compartment | v_cyto |
ca.sub.vol | "m3" | volume of the compartment | v_sub |
ca.sub.c_start | "mol/m3" | initial value of concentration | 0.0002294 |
ca.cyto.vol | "m3" | volume of the compartment | v_cyto |
ca.cyto.c_start | "mol/m3" | initial value of concentration | 0.0003623 |
ca.jsr.vol | "m3" | volume of the compartment | v_jsr |
ca.jsr.c_start | "mol/m3" | initial value of concentration | 0.08227 |
ca.nsr.vol | "m3" | volume of the compartment | v_nsr |
ca.nsr.c_start | "mol/m3" | initial value of concentration | 1.146 |
ca.sub_cyto.vol_src | "m3" | volume of source compartment | ca.sub.vol |
ca.sub_cyto.vol_dst | "m3" | volume of destination compartment | ca.cyto.vol |
ca.sub_cyto.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(ca.sub_cyto.vol_src, ca.sub_cyto.vol_dst) |
ca.sub_cyto.tau | "s" | time constant of diffusion | 4e-05 |
ca.cyto_nsr.current_name | "SERCA" | ||
ca.cyto_nsr.vol_src | "m3" | volume of source compartment | ca.cyto.vol |
ca.cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * v_nsr |
ca.cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 |
ca.nsr_jsr.vol_src | "m3" | volume of source compartment | ca.nsr.vol |
ca.nsr_jsr.vol_dst | "m3" | volume of destination compartment | ca.jsr.vol |
ca.nsr_jsr.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(ca.nsr_jsr.vol_src, ca.nsr_jsr.vol_dst) |
ca.nsr_jsr.tau | "s" | time constant of diffusion | 0.06 |
ca.jsr_sub.vol_src | "m3" | volume of source compartment | ca.jsr.vol |
ca.jsr_sub.vol_dst | "m3" | volume of destination compartment | ca.sub.vol |
ca.jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(ca.jsr_sub.vol_src, ca.jsr_sub.vol_dst) |
ca.jsr_sub.current_name | "RyR" | ||
ca.jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 1500.0 |
ca.jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 |
ca.jsr_sub.n | "1" | Hill coefficient | 2.0 |
ca.tc.n_tot | "mol" | total amount of buffer | ca.tc_tot * v_cyto |
ca.tc.f_start | "1" | initial value for f | 0.6838 |
ca.tc.k | "mol-1s-1" | association constant | 88800.0 / v_cyto |
ca.tc.kb | "s-1" | dissociation constant | 446.0 |
ca.tc.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
ca.tc.assoc.k | "mol-1s-1" | association constant | ca.tc.k |
ca.tc.assoc.kb | "s-1" | dissociation constant | ca.tc.kb |
ca.tc.free.vol | "m3" | volume of the compartment | ca.tc.vol |
ca.tc.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.tc.f_start) * ca.tc.n_tot / ca.tc.vol |
ca.tc.occupied.vol | "m3" | volume of the compartment | ca.tc.vol |
ca.tc.occupied.c_start | "mol/m3" | initial value of concentration | ca.tc.f_start * ca.tc.n_tot / ca.tc.vol |
ca.tm.n_tot | "mol" | total amount of buffer | ca.tmc_tot * v_cyto |
ca.tm.f_a_start | "1" | initial value for f | 0.6192 |
ca.tm.f_b_start | "1" | initial value for f | 0.3363 |
ca.tm.k_a | "mol-1s-1" | association constant for binding to ligand A | 227700.0 / v_cyto |
ca.tm.k_b | "mol-1s-1" | association constant for binding to ligand B | 2277.0 / v_cyto |
ca.tm.kb_a | "s-1" | dissociation constant for binding to ligand A | 7.51 |
ca.tm.kb_b | "s-1" | dissociation constant for binding to ligand B | 751.0 |
ca.tm.vol | "m3" | volume of compartment in which buffer resides | v_cyto |
ca.tm.assoc_a.k | "mol-1s-1" | association constant | ca.tm.k_a |
ca.tm.assoc_a.kb | "s-1" | dissociation constant | ca.tm.kb_a |
ca.tm.assoc_b.k | "mol-1s-1" | association constant | ca.tm.k_b |
ca.tm.assoc_b.kb | "s-1" | dissociation constant | ca.tm.kb_b |
ca.tm.free.vol | "m3" | volume of the compartment | ca.tm.vol |
ca.tm.free.c_start | "mol/m3" | initial value of concentration | (1.0 - (ca.tm.f_a_start + ca.tm.f_b_start)) * ca.tm.n_tot / ca.tm.vol |
ca.tm.occupied_a.vol | "m3" | volume of the compartment | ca.tm.vol |
ca.tm.occupied_a.c_start | "mol/m3" | initial value of concentration | ca.tm.f_a_start * ca.tm.n_tot / ca.tm.vol |
ca.tm.occupied_b.vol | "m3" | volume of the compartment | ca.tm.vol |
ca.tm.occupied_b.c_start | "mol/m3" | initial value of concentration | ca.tm.f_b_start * ca.tm.n_tot / ca.tm.vol |
ca.cm_cyto.n_tot | "mol" | total amount of buffer | ca.cm_tot * v_cyto |
ca.cm_cyto.f_start | "1" | initial value for f | 0.1336 |
ca.cm_cyto.k | "mol-1s-1" | association constant | 227700.0 / v_cyto |
ca.cm_cyto.kb | "s-1" | dissociation constant | 542.0 |
ca.cm_cyto.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
ca.cm_cyto.assoc.k | "mol-1s-1" | association constant | ca.cm_cyto.k |
ca.cm_cyto.assoc.kb | "s-1" | dissociation constant | ca.cm_cyto.kb |
ca.cm_cyto.free.vol | "m3" | volume of the compartment | ca.cm_cyto.vol |
ca.cm_cyto.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.cm_cyto.f_start) * ca.cm_cyto.n_tot / ca.cm_cyto.vol |
ca.cm_cyto.occupied.vol | "m3" | volume of the compartment | ca.cm_cyto.vol |
ca.cm_cyto.occupied.c_start | "mol/m3" | initial value of concentration | ca.cm_cyto.f_start * ca.cm_cyto.n_tot / ca.cm_cyto.vol |
ca.cm_sub.n_tot | "mol" | total amount of buffer | ca.cm_tot * v_sub |
ca.cm_sub.f_start | "1" | initial value for f | 0.08894000000000001 |
ca.cm_sub.k | "mol-1s-1" | association constant | ca.cm_cyto.k * v_cyto / v_sub |
ca.cm_sub.kb | "s-1" | dissociation constant | ca.cm_cyto.kb |
ca.cm_sub.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
ca.cm_sub.assoc.k | "mol-1s-1" | association constant | ca.cm_sub.k |
ca.cm_sub.assoc.kb | "s-1" | dissociation constant | ca.cm_sub.kb |
ca.cm_sub.free.vol | "m3" | volume of the compartment | ca.cm_sub.vol |
ca.cm_sub.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.cm_sub.f_start) * ca.cm_sub.n_tot / ca.cm_sub.vol |
ca.cm_sub.occupied.vol | "m3" | volume of the compartment | ca.cm_sub.vol |
ca.cm_sub.occupied.c_start | "mol/m3" | initial value of concentration | ca.cm_sub.f_start * ca.cm_sub.n_tot / ca.cm_sub.vol |
ca.cq.n_tot | "mol" | total amount of buffer | ca.cq_tot * v_jsr |
ca.cq.f_start | "1" | initial value for f | 0.08735999999999999 |
ca.cq.k | "mol-1s-1" | association constant | 534.0 / v_jsr |
ca.cq.kb | "s-1" | dissociation constant | 445.0 |
ca.cq.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
ca.cq.assoc.k | "mol-1s-1" | association constant | ca.cq.k |
ca.cq.assoc.kb | "s-1" | dissociation constant | ca.cq.kb |
ca.cq.free.vol | "m3" | volume of the compartment | ca.cq.vol |
ca.cq.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.cq.f_start) * ca.cq.n_tot / ca.cq.vol |
ca.cq.occupied.vol | "m3" | volume of the compartment | ca.cq.vol |
ca.cq.occupied.c_start | "mol/m3" | initial value of concentration | ca.cq.f_start * ca.cq.n_tot / ca.cq.vol |
ca.cm_sl_tot | "mol/m3" | total concentration of calmodulin in sarcolemma | 0.02583333333333333 |
ca.cm_sl.n_tot | "mol" | total amount of buffer | ca.cm_sl_tot * v_sub |
ca.cm_sl.f_start | "1" | initial value for f | 4.764e-05 |
ca.cm_sl.k | "mol-1s-1" | association constant | 115.0 / v_sub |
ca.cm_sl.kb | "s-1" | dissociation constant | 1000.0 |
ca.cm_sl.vol | "m3" | volume of compartment in which buffer resides | 1.0 |
ca.cm_sl.assoc.k | "mol-1s-1" | association constant | ca.cm_sl.k |
ca.cm_sl.assoc.kb | "s-1" | dissociation constant | ca.cm_sl.kb |
ca.cm_sl.free.vol | "m3" | volume of the compartment | ca.cm_sl.vol |
ca.cm_sl.free.c_start | "mol/m3" | initial value of concentration | (1.0 - ca.cm_sl.f_start) * ca.cm_sl.n_tot / ca.cm_sl.vol |
ca.cm_sl.occupied.vol | "m3" | volume of the compartment | ca.cm_sl.vol |
ca.cm_sl.occupied.c_start | "mol/m3" | initial value of concentration | ca.cm_sl.f_start * ca.cm_sl.n_tot / ca.cm_sl.vol |
v_sub | "m3" | volume of "fuzzy" subspace (value from C++ for N-cell) | 3.1887126e-17 |
v_cyto | "m3" | volume of cytosol (value from C++ for N-cell) | 1.43492067e-15 |
v_nsr | "m3" | volume of network SR (value from C++ for N-cell) | 3.698906616e-17 |
v_jsr | "m3" | volume of junctional SR (value from C++ for N-cell) | 3.82645512e-18 |
ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 |
InaMo.Examples.ComponentTests.CaRyanodineReceptor
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_jsr.con
and
ca_sub.con
against time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
- Tolerance: default value
- Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
- model parameters: same as in InaMo.Cells.VariableCa.ANCell
model CaRyanodineReceptor "unit test for RyanodineReceptor"
// uses values for jsr_sub in AN cell
extends Modelica.Icons.Example;
InaMo.Concentrations.Atrioventricular.RyanodineReceptor jsr_sub(vol_src = v_jsr, vol_dst = v_sub, p = 5e3, ka = 0.0012, n = 2) "ryanodine receptor";
InaMo.Concentrations.Basic.Compartment ca_jsr(c_start = 0.4273, vol = v_jsr) "Ca2+ in junctional SR";
InaMo.Concentrations.Basic.Compartment ca_sub(c_start = 0.06397e-3, vol = v_sub) "Ca2+ in \"fuzzy\" subspace";
parameter SI.Volume v_jsr = 5.2778723E-18 "volume of junctional SR (value for AN cell)";
parameter SI.Volume v_sub = 4.398227E-17 "volume of \"fuzzy\" subspace (value for AN cell)";
equation
connect(ca_jsr.substance, jsr_sub.src);
connect(jsr_sub.dst, ca_sub.substance);
annotation(
Documentation(info = "<html>
<p>NOTE: This model does not represent any meaningful experiment, but is
only used to find errors and unexpected changes in the simulation output
of the tested component.</p>
<p>To produce unit test figure, plot <code>ca_jsr.con</code> and
<code>ca_sub.con</code> against time.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: just large enough to see some change in variables</li>
<li>Tolerance: default value</li>
<li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
<li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
</ul>
</html>"),
experiment(StartTime = 0, StopTime = 0.002, Tolerance = 1e-8, Interval = 1e-5),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "ca_(jsr|sub)\\.con"));
end CaRyanodineReceptor;
- Within group ca_sub (prefix _ indicates shortened variable name)
- Within group jsr_sub (prefix _ indicates shortened variable name)
Functions:
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
input Real n(unit = "1") "Hill coefficient";
output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;
name | unit | label | value |
---|---|---|---|
ca_sub.con | "mol/m3" | concentration of substance in compartment | |
ca_sub.substance.amount | "mol" | amount of substance | |
ca_jsr.con | "mol/m3" | concentration of substance in compartment | |
ca_jsr.substance.amount | "mol" | amount of substance | |
jsr_sub.coeff | "1/s" | coefficient of transport | |
jsr_sub.rate | "mol/s" | rate of change in substance amount | |
jsr_sub.vol_src | "m3" | volume of source compartment | v_jsr |
jsr_sub.vol_dst | "m3" | volume of destination compartment | v_sub |
jsr_sub.vol_trans | "m3" | volume of substance that is transferred between compartments over 1/coeff seconds | min(jsr_sub.vol_src, jsr_sub.vol_dst) |
jsr_sub.current_name | "RyR" | ||
jsr_sub.p | "1/s" | rate coefficient (inverse of time constant) | 5000.0 |
jsr_sub.ka | "mol/m3" | concentration producing half occupation | 0.0012 |
jsr_sub.n | "1" | Hill coefficient | 2.0 |
ca_jsr.vol | "m3" | volume of the compartment | v_jsr |
ca_jsr.c_start | "mol/m3" | initial value of concentration | 0.4273 |
ca_sub.vol | "m3" | volume of the compartment | v_sub |
ca_sub.c_start | "mol/m3" | initial value of concentration | 6.397e-05 |
v_jsr | "m3" | volume of junctional SR (value for AN cell) | 5.2778723e-18 |
v_sub | "m3" | volume of "fuzzy" subspace (value for AN cell) | 4.398227e-17 |
InaMo.Examples.ComponentTests.CaSERCA
NOTE: This model does not represent any meaningful experiment, but is only used to find errors and unexpected changes in the simulation output of the tested component.
To produce unit test figure, plot ca_cyto.con
and
ca_nsr.con
against time.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: just large enough to see some change in variables
- Tolerance: default value
- Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox
- model parameters: same as in InaMo.Cells.VariableCa.ANCell
model CaSERCA "unit test for SERCAPump"
// uses values for cyto_nsr in AN cell
extends Modelica.Icons.Example;
InaMo.Concentrations.Atrioventricular.SERCAPump cyto_nsr(vol_src = v_cyto, p = 0.005e3 * v_nsr, k = 0.0006) "SERCA pump";
InaMo.Concentrations.Basic.Compartment ca_nsr(c_start = 1.068, vol = v_nsr) "Ca2+ in network SR";
InaMo.Concentrations.Basic.Compartment ca_cyto(c_start = 0.1206e-3, vol = v_cyto) "Ca2+ in cytosol";
parameter SI.Volume v_nsr = 5.10194319E-17 "volume of network SR (value for AN cell)";
parameter SI.Volume v_cyto = 1.9792021E-15 "volume of cytosol (value for AN cell)";
equation
connect(ca_cyto.substance, cyto_nsr.src);
connect(cyto_nsr.dst, ca_nsr.substance);
annotation(
Documentation(info = "<html>
<p>NOTE: This model does not represent any meaningful experiment, but is
only used to find errors and unexpected changes in the simulation output
of the tested component.</p>
<p>To produce unit test figure, plot <code>ca_cyto.con</code> and
<code>ca_nsr.con</code> against time.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: just large enough to see some change in variables</li>
<li>Tolerance: default value</li>
<li>Interval: same as for InaMo.Examples.ComponentTests.CaHandlingApprox</li>
<li>model parameters: same as in InaMo.Cells.VariableCa.ANCell</li>
</ul>
</html>"),
experiment(StartTime = 0, StopTime = 0.01, Tolerance = 1e-6, Interval = 1e-5),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "ca_(cyto|nsr)\\.con"));
end CaSERCA;
- Within group ca_nsr (prefix _ indicates shortened variable name)
- Within group cyto_nsr (prefix _ indicates shortened variable name)
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
name | unit | label | value |
---|---|---|---|
ca_cyto.con | "mol/m3" | concentration of substance in compartment | |
ca_cyto.substance.amount | "mol" | amount of substance | |
ca_nsr.con | "mol/m3" | concentration of substance in compartment | |
ca_nsr.substance.amount | "mol" | amount of substance | |
cyto_nsr.rate | "mol/s" | rate of change in substance amount | |
cyto_nsr.current_name | "SERCA" | ||
cyto_nsr.vol_src | "m3" | volume of source compartment | v_cyto |
cyto_nsr.p | "mol/s" | maximum flow rate | 5.0 * v_nsr |
cyto_nsr.k | "mol/m3" | Michaelis constant | 0.0005999999999999999 |
ca_nsr.vol | "m3" | volume of the compartment | v_nsr |
ca_nsr.c_start | "mol/m3" | initial value of concentration | 1.068 |
ca_cyto.vol | "m3" | volume of the compartment | v_cyto |
ca_cyto.c_start | "mol/m3" | initial value of concentration | 0.0001206 |
v_nsr | "m3" | volume of network SR (value for AN cell) | 5.10194319e-17 |
v_cyto | "m3" | volume of cytosol (value for AN cell) | 1.9792021e-15 |
Tests for $I_f$
InaMo.Examples.ComponentTests.HyperpolarizationActivatedIV
To reproduce Figure S4C from Inada 2009, plot vc.is_end against vc.vs_end. It is necessary to use vc.vs_end instead of vc.v_pulse, because cd captures the current density from the previous pulse.
For Figure S4D plot vc.i for 6 seconds following the start of the pulses with amplitude -120 to -60 mV.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -120 mV to -50 mv
- Tolerance: default value
- Interval: enough to roughly follow time course of current
- d_pulse: according to the description of Figure S4 in Inada 2009
- d_hold: approximately 5 * max(act.tau)
- l2.C: according to Table S15 in Inada 2009 (N cell model)
We assume the parameter values for the N cell model since I_f is only present in N cells.
NOTE: The plot has a disagreement with Figure S4C in Inada 2009 with current density being slightly lower (more negative) than in the reference, which is odd, since the same data is in perfect agreement with Figure S4D.
model HyperpolarizationActivatedIV "IV relationship of I_f, recreates Figures S4C and S4D from Inada 2009"
extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.05, d_hold = 20, d_pulse = 4), v_start = -0.12, v_inc = 0.005);
extends Modelica.Icons.Example;
extends InaMo.Concentrations.Interfaces.NoACh;
InaMo.Currents.Atrioventricular.HyperpolarizationActivatedChannel f "I_f" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Membrane.LipidBilayer l2(use_init = false, c = 29e-12) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, f.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, f.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 404, Tolerance = 1e-6, Interval = 1e-1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "vc\\.(is_end|vs_end|i|v|v_pulse)"),
Documentation(info = "
<html>
<p>To reproduce Figure S4C from Inada 2009, plot vc.is_end against
vc.vs_end.
It is necessary to use vc.vs_end instead of vc.v_pulse, because cd
captures the current density from the <i>previous</i> pulse.</p>
<p>For Figure S4D plot vc.i for 6 seconds following the start of
the pulses with amplitude -120 to -60 mV.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -120 mV to -50 mv</li>
<li>Tolerance: default value</li>
<li>Interval: enough to roughly follow time course of current</li>
<li>d_pulse: according to the description of Figure S4 in Inada 2009</li>
<li>d_hold: approximately 5 * max(act.tau)</li>
<li>l2.C: according to Table S15 in Inada 2009 (N cell model)</li>
</ul>
<p>We assume the parameter values for the N cell model since I_f is
only present in N cells.</p>
<p>NOTE: The plot has a disagreement with Figure S4C in Inada 2009
with current density being slightly lower (more negative) than in the
reference, which is odd, since the same data is in perfect agreement
with Figure S4D.</p>
</html>
"));
end HyperpolarizationActivatedIV;
- Within group f (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.08319 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = -73.74631268436578 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
input Real n(unit = "1") "Hill coefficient";
output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;
function absmax "returns input whose absolute value is larger, preserving the sign"
input Real a "first input";
input Real b "second input";
output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
m := if abs(a) > abs(b) then a else b;
end absmax;
function ftau
input Real x "input value";
input Real y_min = 0.25 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 2.25 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.07000000000000001 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.0158113883008419 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end ftau;
name | unit | label | value |
---|---|---|---|
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
f.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
f.act.steady | value that n would reach if v_gate was held constant | ||
f.act.n | "1" | ratio of molecules in open conformation | 0.002161140405175932 |
f.g | "S" | ion conductance | |
f.i_open | "A" | i if open_ratio = 1 | |
f.i_ion | "A" | current used for ion flux | |
vc.after_pulse | true after pulse has passed | ||
vc.within_pulse | true during pulse | ||
vc.vp_last | "V" | voltage of last pulse | 0.0 |
vc.tp_last | "s" | time stamp of start of last pulse | 0.0 |
vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
vc.tail_i | "A" | peak current after pulse | 0.0 |
vc.peak_i | "A" | peak current during pulse | 0.0 |
vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 |
vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 |
vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 |
vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 |
vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 |
vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 |
vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
vc.pulse_end | signals end of pulse | ||
vc.pulse_start | signals start of pulse | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
$whenCondition1 | vc.pulse_end | ||
$whenCondition2 | vc.pulse_start | ||
$whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
$whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
vc.g.p.v | "V" | Potential at the pin | 0.0 |
vc.d_hold | "s" | holding period | 20.0 |
vc.d_pulse | "s" | pulse period | 4.0 |
vc.v_hold | "V" | voltage during holding period | -0.05 |
v_start | "V" | start value for pulse amplitude | -0.12 |
v_inc | "V" | increment for pulse amplitude | 0.005 |
use_ach | false | ||
ach | "mol/m3" | 0.0 | |
f.v_eq | "V" | equilibrium potential | -0.03 |
f.g_max | "S" | maximum conductance | 1e-09 |
f.current_name | "I_f" | ||
f.act_shift | "V" | if use_ach then (-7.2) * InaMo.Functions.Biochemical.hillLangmuir(ach, 1.26e-05, 0.6899999999999999) else 0.0 | |
f.act.shift | "V" | f.act_shift | |
l2.c | "F" | membrane capacitance | 2.9e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false |
InaMo.Examples.ComponentTests.HyperpolarizationActivatedSteady
To reproduce Figure S4A from Inada 2009, plot act_steady against v. For Figure S4B, plot act_tau against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -120 to -40 mV
- Tolerance: left at default value, since derivatives are not relevant
- Interval: enough for a smooth plot
model HyperpolarizationActivatedSteady "steady state of I_f, recreates Figures S4A and S4B from Inada 2009"
extends Modelica.Icons.Example;
extends InaMo.Concentrations.Interfaces.NoACh;
InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
InaMo.Currents.Atrioventricular.HyperpolarizationActivatedChannel f "I_f" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
Real act_steady = f.act.steady "steady state of activation gate";
Real act_tau = f.act.tau "time constant of activation gate";
SI.Voltage v(start = -0.12, fixed = true);
equation
vc.v_stim = v;
der(v) = 0.001;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, f.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, f.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 80, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "act_steady|act_tau|v|vc.v"),
Documentation(info = "
<html>
<p>To reproduce Figure S4A from Inada 2009, plot act_steady against v.
For Figure S4B, plot act_tau against v.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -120 to -40 mV</li>
<li>Tolerance: left at default value, since derivatives are not
relevant</li>
<li>Interval: enough for a smooth plot</li>
</ul>
</html>
"));
end HyperpolarizationActivatedSteady;
- Within group f (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.08319 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = -73.74631268436578 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function hillLangmuir "Hill-Langmuir equation measuring the occupancy of a molecule by a ligand"
input Real c(quantity = "Concentration", unit = "mol/m3") "ligand concentration";
input Real ka(quantity = "Concentration", unit = "mol/m3") "concentration producing half occupation";
input Real n(unit = "1") "Hill coefficient";
output Real rate(unit = "1") "occupancy of molecule by ligand";
algorithm
rate := c ^ n / (c ^ n + ka ^ n);
end hillLangmuir;
function ftau
input Real x "input value";
input Real y_min = 0.25 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 2.25 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.07000000000000001 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.0158113883008419 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end ftau;
name | unit | label | value |
---|---|---|---|
act_tau | "s" | time constant of activation gate | |
act_steady | steady state of activation gate | ||
f.act.n | "1" | ratio of molecules in open conformation | 0.002161140405175932 |
f.g | "S" | ion conductance | |
f.i_open | "A" | i if open_ratio = 1 | |
f.i_ion | "A" | current used for ion flux | |
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.12 |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
use_ach | false | ||
ach | "mol/m3" | 0.0 | |
l2.c | "F" | membrane capacitance | 0.01 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
f.v_eq | "V" | equilibrium potential | -0.03 |
f.g_max | "S" | maximum conductance | 1e-09 |
f.current_name | "I_f" | ||
f.act_shift | "V" | if use_ach then (-7.2) * InaMo.Functions.Biochemical.hillLangmuir(ach, 1.26e-05, 0.6899999999999999) else 0.0 | |
f.act.shift | "V" | f.act_shift |
Tests for $I_{K,1}$
InaMo.Examples.ComponentTests.InwardRectifierLin
To recreate Figure 8 of Lindblad 1996, plot kir.i / i_max against vc.v.
This example uses a linear input current, because I_K,1 is modeled as an immediate current without activation or inactivation kinetics.
The following parameters are taken from Lindblad 1996 and differ from the parameters used by Inada 2009:
- kir.g_max = 5.088 nS (Table 14, Lindblad 1996)
- l2.c = 50pF (Table 14, Lindblad 1996)
- temp = 35 °C (Table 14, Lindblad 1996)
- kir.Use_vact = false
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -100 to +50 mV
- Tolerance: default value (previously a value < 1e-9 was required for dassl will to pick up the event for i_max.)
- Interval: enough for a smooth plot
model InwardRectifierLin "IV relationshio of I_K1, recreates Figure 8 of Lindblad 1996"
extends Modelica.Icons.Example;
InaMo.Currents.Atrioventricular.InwardRectifier kir(g_max = 5.088e-9, use_vact = false) "inward rectifier with parameter settings from Lindblad1996" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Membrane.LipidBilayer l2(c = 5e-11, use_init = false) "lipid bilayer with Lindblad1996 settings" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
inner parameter SI.Temperature temp = SI.Conversions.from_degC(35) "membrane temperature";
inner parameter SI.Concentration k_ex = 5 "extracellular potassium concentration";
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
discrete SI.Current i_max(start = 0, fixed = true, nominal = 1e-12) "current obtained at peak";
initial equation
vc.v_stim = -100e-3;
equation
// factor required to push value into range where zero crossing can be detected
when der(vc.i) * 1e12 < 0 then
i_max = kir.i;
end when;
der(vc.v_stim) = 1e-3;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, kir.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, kir.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 150, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "kir\\.i|i_max|vc\\.v"),
Documentation(info = "
<html>
<p>To recreate Figure 8 of Lindblad 1996, plot kir.i / i_max against
vc.v.</p>
<p>This example uses a linear input current, because I_K,1 is modeled
as an immediate current without activation or inactivation kinetics.</p>
<p>The following parameters are taken from Lindblad 1996 and differ from
the parameters used by Inada 2009:</p>
<ul>
<li>kir.g_max = 5.088 nS (Table 14, Lindblad 1996)</li>
<li>l2.c = 50pF (Table 14, Lindblad 1996)</li>
<li>temp = 35 °C (Table 14, Lindblad 1996)</li>
<li>kir.Use_vact = false</li>
</ul>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -100 to +50 mV</li>
<li>Tolerance: default value (previously a value < 1e-9 was required
for dassl will to pick up the event for i_max.)</li>
<li>Interval: enough for a smooth plot</li>
</ul>
</html>
"));
end InwardRectifierLin;
- Within group kir (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fn
input Real x "input value";
input Real y_min = 0.5 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.03 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 200.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fn;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
name | unit | label | value |
---|---|---|---|
i_max | "A" | current obtained at peak | 0.0 |
vc.i | "A" | measured membrane current | |
vc.v_stim | "V" | input voltage (needs to be defined externally) | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
kir.voltage_act.n | ratio of molecules in open conformation | ||
kir.voltage_inact.n | ratio of molecules in open conformation | ||
kir.g | "S" | ion conductance | |
kir.i_open | "A" | i if open_ratio = 1 | |
kir.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
kir.i_ion | "A" | current used for ion flux | |
$whenCondition1 | der(vc.i) * 1000000000000.0 < 0.0 | ||
vc.g.p.v | "V" | Potential at the pin | 0.0 |
kir.n_pot | "1" | [K+]_ex-dependent gating variable | InaMo.Functions.Biochemical.michaelisMenten(k_ex, 0.59) |
kir.v_eq | "V" | equilibrium potential | -0.0819 |
kir.g_max | "S" | maximum conductance | 5.088e-09 |
kir.current_name | "I_K1" | ||
kir.FoRT | helper variable to simplyfiy equations | 96485.33289000001 / (temp * 8.3144598) | |
kir.use_vact | use voltage-dependent activation gate? (only Inada 2009) | false | |
l2.c | "F" | membrane capacitance | 5e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
temp | "K" | membrane temperature | 288.15 |
k_ex | "mol/m3" | extracellular potassium concentration | 5.0 |
Tests for $I_{Ca,L}$
InaMo.Examples.ComponentTests.LTypeCalciumIV
To reproduce Figure S1E from Inada 2009, plot vc.is_peak against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the peak current from the previous pulse.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -60 mV to 80 mv
- Tolerance: default value (previously a value < 1e-9 was required for dassl will to pick up the event for i_max.)
- Interval: enough to roughly follow time course of current
- d_pulse: according to the description of Figure S1 in Inada 2009
- d_hold: approximately 5 * max(cal.inact.tau_fast)
- v_hold: should be -40 mV according to the description of figure S1, but we chose -70 mV as it gives better results for pulses <= -40 mV
- l2.C: according to Table S15 in Inada 2009
NOTE: We assume parameter values for the NH cell model since the plot for S1H shows that Inada et al. clearly used this model although they stated that the AN cell model was used for Figure S1H. For Figure S1E, however, the parameter value actually makes no difference because the plot shows only normalized current.
model LTypeCalciumIV "IV relationship of I_Ca,L, recreates Figure S1E of Inada 2009"
extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.07, d_hold = 5, d_pulse = 0.3), v_start = -0.06, v_inc = 0.005);
extends Modelica.Icons.Example;
extends InaMo.Concentrations.Interfaces.CaConst;
extends InaMo.Concentrations.Interfaces.NoACh;
inner parameter SI.Concentration ca_ex = 0 "extracellular Ca2+ concentration (value not used in this simulation)";
replaceable InaMo.Currents.Atrioventricular.LTypeCalciumChannel cal(g_max = 21e-9) "calcium channels with parameters from NH model" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Concentrations.Basic.ConstantConcentration ca(vol = v_sub) "calcium concentration that is affected by channel" annotation(
Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
InaMo.Membrane.LipidBilayer l2(use_init = false, c = 40e-12) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
connect(ca.substance, cal.ca) annotation(
Line(points = {{-34, -80}, {-14, -80}, {-14, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, cal.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, cal.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 164, Tolerance = 1e-6, Interval = 1e-2),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "vc\\.(is_peak|vs_peak|v|v_pulse)"),
Documentation(info = "
<html>
<p>To reproduce Figure S1E from Inada 2009, plot vc.is_peak against
vc.vs_peak.
It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak
captures the peak current from the <i>previous</i> pulse.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -60 mV to 80 mv</li>
<li>Tolerance: default value (previously a value < 1e-9 was required
for dassl will to pick up the event for i_max.)</li>
<li>Interval: enough to roughly follow time course of current</li>
<li>d_pulse: according to the description of Figure S1 in Inada 2009</li>
<li>d_hold: approximately 5 * max(cal.inact.tau_fast)</li>
<li>v_hold: should be -40 mV according to the description of figure S1,
but we chose -70 mV as it gives better results for pulses <= -40 mV</li>
<li>l2.C: according to Table S15 in Inada 2009</li>
</ul>
<p>NOTE: We assume parameter values for the NH cell model since the plot for
S1H shows that Inada et al. clearly used this model although they stated
that the AN cell model was used for Figure S1H.
For Figure S1E, however, the parameter value actually makes no difference
because the plot shows only normalized current.</p>
</html>
"));
end LTypeCalciumIV;
- Within group cal (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fa
input Real x "input value";
input Real x0 = -0.035 "offset for x (fitting parameter)";
input Real sy = 65.3 "scaling factor for y (fitting parameter)";
input Real sx = -400.0 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end fa;
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function absmax "returns input whose absolute value is larger, preserving the sign"
input Real a "first input";
input Real b "second input";
output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
m := if abs(a) > abs(b) then a else b;
end absmax;
function act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end act.ftau;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function falpha
input Real x "input value";
output Real y "output value";
algorithm
y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end falpha;
function inact_fast.ftau
input Real x "input value";
input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;
name | unit | label | value |
---|---|---|---|
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
cal.inact_total | |||
cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
cal.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
cal.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.act.steady | value that n would reach if v_gate was held constant | ||
cal.act.n | ratio of molecules in open conformation | 0.6187190947824258 | |
cal.trans.rate | "mol/s" | rate of change in substance amount | |
cal.g | "S" | ion conductance | |
cal.i_open | "A" | i if open_ratio = 1 | |
cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cal.i_ion | "A" | current used for ion flux | |
vc.after_pulse | true after pulse has passed | ||
vc.within_pulse | true during pulse | ||
vc.vp_last | "V" | voltage of last pulse | 0.0 |
vc.tp_last | "s" | time stamp of start of last pulse | 0.0 |
vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
vc.tail_i | "A" | peak current after pulse | 0.0 |
vc.peak_i | "A" | peak current during pulse | 0.0 |
vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 |
vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 |
vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 |
vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 |
vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 |
vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 |
vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
vc.pulse_end | signals end of pulse | ||
vc.pulse_start | signals start of pulse | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
$whenCondition1 | vc.pulse_end | ||
$whenCondition2 | vc.pulse_start | ||
$whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
$whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol |
ca.substance.amount | "mol" | amount of substance | ca.c_const * ca.vol |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
cal.ach_factor | if use_ach then 1.0 - cal.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
vc.d_hold | "s" | holding period | 5.0 |
vc.d_pulse | "s" | pulse period | 0.3 |
vc.v_hold | "V" | voltage during holding period | -0.07000000000000001 |
v_start | "V" | start value for pulse amplitude | -0.06 |
v_inc | "V" | increment for pulse amplitude | 0.005 |
v_sub | "m3" | 1.0 | |
use_ach | false | ||
ach | "mol/m3" | 0.0 | |
ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 |
cal.v_eq | "V" | equilibrium potential | 0.0621 |
cal.g_max | "S" | maximum conductance | 2.1e-08 |
cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca |
cal.trans.z | valence of ion | 2 | |
cal.con.c_const | "mol/m3" | fixed concentration | ca_ex |
cal.con.vol | "m3" | volume of the compartment | 1.0 |
cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
cal.current_name | "I_Ca,L" | ||
cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
ca.c_const | "mol/m3" | fixed concentration | 1.0 |
ca.vol | "m3" | volume of the compartment | v_sub |
l2.c | "F" | membrane capacitance | 4e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false |
InaMo.Examples.ComponentTests.LTypeCalciumIVN
This example uses the same settings as LTypeCalciumIV, but uses the equations for the N cell model instead of the AN/NH cell models.
To reproduce Figure S1E from Inada 2009, plot vc.is_peak against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the peak current from the previous pulse.
All parameters are set to the same values as in LTypeCalciumIV with the same rationale.
model LTypeCalciumIVN "IV relationship of I_Ca,L, recreates Figure S1E of Inada 2009"
// FIXME redeclare breaks icon inheritance
extends LTypeCalciumIV(redeclare InaMo.Currents.Atrioventricular.LTypeCalciumChannelN cal(g_max = 21e-9));
annotation(
experiment(StartTime = 0, StopTime = 164, Tolerance = 1e-6, Interval = 1e-2),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "vc\\.(is_peak|vs_peak|v|v_pulse)"),
Documentation(info = "
<html>
<p>This example uses the same settings as LTypeCalciumIV, but uses the
equations for the N cell model instead of the AN/NH cell models.</p>
<p>To reproduce Figure S1E from Inada 2009, plot vc.is_peak against
vc.vs_peak.
It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak
captures the peak current from the <i>previous</i> pulse.</p>
<p>All parameters are set to the same values as in LTypeCalciumIV with the
same rationale.</p>
</html>
"));
end LTypeCalciumIVN;
- Within group cal (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fa
input Real x "input value";
input Real x0 = -0.035 "offset for x (fitting parameter)";
input Real sy = 65.3 "scaling factor for y (fitting parameter)";
input Real sx = -400.0 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end fa;
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0182 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 200.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function falpha
input Real x "input value";
output Real y "output value";
algorithm
y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end falpha;
function act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end act.ftau;
function absmax "returns input whose absolute value is larger, preserving the sign"
input Real a "first input";
input Real b "second input";
output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
m := if abs(a) > abs(b) then a else b;
end absmax;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function inact_fast.ftau
input Real x "input value";
input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;
name | unit | label | value |
---|---|---|---|
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
cal.inact_total | |||
cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
cal.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
cal.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.act.steady | value that n would reach if v_gate was held constant | ||
cal.act.n | ratio of molecules in open conformation | 0.9744192116879924 | |
cal.trans.rate | "mol/s" | rate of change in substance amount | |
cal.g | "S" | ion conductance | |
cal.i_open | "A" | i if open_ratio = 1 | |
cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cal.i_ion | "A" | current used for ion flux | |
vc.after_pulse | true after pulse has passed | ||
vc.within_pulse | true during pulse | ||
vc.vp_last | "V" | voltage of last pulse | 0.0 |
vc.tp_last | "s" | time stamp of start of last pulse | 0.0 |
vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
vc.tail_i | "A" | peak current after pulse | 0.0 |
vc.peak_i | "A" | peak current during pulse | 0.0 |
vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 |
vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 |
vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 |
vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 |
vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 |
vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 |
vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
vc.pulse_end | signals end of pulse | ||
vc.pulse_start | signals start of pulse | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
$whenCondition1 | vc.pulse_end | ||
$whenCondition2 | vc.pulse_start | ||
$whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
$whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol |
ca.substance.amount | "mol" | amount of substance | ca.c_const * ca.vol |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
cal.ach_factor | if use_ach then 1.0 - cal.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
vc.d_hold | "s" | holding period | 5.0 |
vc.d_pulse | "s" | pulse period | 0.3 |
vc.v_hold | "V" | voltage during holding period | -0.07000000000000001 |
v_start | "V" | start value for pulse amplitude | -0.06 |
v_inc | "V" | increment for pulse amplitude | 0.005 |
v_sub | "m3" | 1.0 | |
use_ach | false | ||
ach | "mol/m3" | 0.0 | |
ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 |
cal.v_eq | "V" | equilibrium potential | 0.0621 |
cal.g_max | "S" | maximum conductance | 2.1e-08 |
cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca |
cal.trans.z | valence of ion | 2 | |
cal.con.c_const | "mol/m3" | fixed concentration | ca_ex |
cal.con.vol | "m3" | volume of the compartment | 1.0 |
cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
cal.current_name | "I_Ca,L" | ||
cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
ca.c_const | "mol/m3" | fixed concentration | 1.0 |
ca.vol | "m3" | volume of the compartment | v_sub |
l2.c | "F" | membrane capacitance | 4e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false |
InaMo.Examples.ComponentTests.LTypeCalciumSteady
To reproduce Figure S1A and S1B from Inada 2009, plot act_steady and inact_steady against v. For Figure S1C and S1D, plot inact_tau_fast and inact_tau_slow against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -80 to 60 mV
- Tolerance: left at default value, since derivatives are not relevant
- Interval: enough for a smooth plot
model LTypeCalciumSteady "steady state of I_Ca,L, recreates Figures S1A-S1D from Inada 2009"
extends Modelica.Icons.Example;
extends InaMo.Concentrations.Interfaces.CaConst;
extends InaMo.Concentrations.Interfaces.NoACh;
inner parameter SI.Concentration ca_ex = 0 "extracellular Ca2+ concentration (value not used in this simulation)";
InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
InaMo.Currents.Atrioventricular.LTypeCalciumChannel cal "I_Ca,L (AN and NH cells)" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Currents.Atrioventricular.LTypeCalciumChannelN calN "I_Ca,L (N cell)" annotation(
Placement(transformation(extent = {{-85, -17}, {-51, 17}})));
InaMo.Concentrations.Basic.ConstantConcentration ca(c_const = 0, vol = 0) "dummy Ca2+ concentration required to avoid underdetermined equation system" annotation(
Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
Real act_steady = cal.act.steady "steady state of activation gate (AN and NH cells)";
Real act_steady_n = calN.act.steady "steady state of activation gate (N cell)";
SI.Duration act_tau = cal.act.tau "time constant of activation gate";
Real inact_steady = cal.inact_slow.steady "steady state of inactivation gates";
SI.Duration inact_tau_fast = cal.inact_fast.tau "time constant of fast inactivation gate";
SI.Duration inact_tau_slow = cal.inact_slow.tau "time constant of slow inactivation gate";
SI.Voltage v(start = -0.08, fixed = true) "input voltage";
equation
vc.v_stim = v;
der(v) = 0.001;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, cal.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
connect(cal.n, calN.n) annotation(
Line(points = {{-34, -16}, {-34, -16}, {-34, -40}, {-68, -40}, {-68, -16}, {-68, -16}}, color = {0, 0, 255}));
connect(vc.p, cal.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(cal.p, calN.p) annotation(
Line(points = {{-34, 18}, {-34, 18}, {-34, 40}, {-68, 40}, {-68, 18}, {-68, 18}}, color = {0, 0, 255}));
connect(ca.substance, cal.ca) annotation(
Line(points = {{-34, -80}, {-12, -80}, {-12, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
connect(ca.substance, calN.ca) annotation(
Line(points = {{-34, -80}, {-62, -80}, {-62, -16}, {-62, -16}}));
annotation(
experiment(StartTime = 0, StopTime = 140, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "act_steady|inact_steady|act_steady_n|act_tau|inact_tau_fast|inact_tau_slow|v|vc\\.v"),
Documentation(info = "
<html>
<p>To reproduce Figure S1A and S1B from Inada 2009, plot act_steady and
inact_steady against v.
For Figure S1C and S1D, plot inact_tau_fast and inact_tau_slow
against v.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -80 to 60 mV</li>
<li>Tolerance: left at default value, since derivatives are not
relevant</li>
<li>Interval: enough for a smooth plot</li>
</ul>
</html>
"));
end LTypeCalciumSteady;
- Within group cal (prefix _ indicates shortened variable name)
- Within group calN (prefix _ indicates shortened variable name)
Functions:
function fa
input Real x "input value";
input Real x0 = -0.035 "offset for x (fitting parameter)";
input Real sy = 65.3 "scaling factor for y (fitting parameter)";
input Real sx = -400.0 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end fa;
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end act.ftau;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function falpha
input Real x "input value";
output Real y "output value";
algorithm
y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end falpha;
function inact_fast.ftau
input Real x "input value";
input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;
name | unit | label | value |
---|---|---|---|
inact_tau_slow | "s" | time constant of slow inactivation gate | |
inact_tau_fast | "s" | time constant of fast inactivation gate | |
inact_steady | steady state of inactivation gates | ||
act_tau | "s" | time constant of activation gate | |
act_steady_n | steady state of activation gate (N cell) | ||
act_steady | steady state of activation gate (AN and NH cells) | ||
ca.substance.rate | "mol/s" | molar flow rate of substance | |
calN.inact_total | |||
calN.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
calN.inact_fast.steady | value that n would reach if v_gate was held constant | ||
calN.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
calN.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
calN.inact_slow.steady | value that n would reach if v_gate was held constant | ||
calN.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
calN.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
calN.act.n | ratio of molecules in open conformation | 0.9744192116879924 | |
calN.trans.rate | "mol/s" | rate of change in substance amount | |
calN.g | "S" | ion conductance | |
calN.i_open | "A" | i if open_ratio = 1 | |
calN.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
calN.i_ion | "A" | current used for ion flux | |
cal.inact_total | |||
cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
cal.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
cal.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
cal.act.n | ratio of molecules in open conformation | 0.6187190947824258 | |
cal.trans.rate | "mol/s" | rate of change in substance amount | |
cal.g | "S" | ion conductance | |
cal.i_open | "A" | i if open_ratio = 1 | |
cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cal.i_ion | "A" | current used for ion flux | |
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.08 |
cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol |
calN.con.substance.amount | "mol" | amount of substance | calN.con.c_const * calN.con.vol |
ca.substance.amount | "mol" | amount of substance | ca.c_const * ca.vol |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
cal.ach_factor | if use_ach then 1.0 - cal.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
calN.ach_factor | if use_ach then 1.0 - calN.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
v_sub | "m3" | 1.0 | |
use_ach | false | ||
ach | "mol/m3" | 0.0 | |
ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 |
l2.c | "F" | membrane capacitance | 0.01 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
cal.v_eq | "V" | equilibrium potential | 0.0621 |
cal.g_max | "S" | maximum conductance | 1.85e-08 |
cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca |
cal.trans.z | valence of ion | 2 | |
cal.con.c_const | "mol/m3" | fixed concentration | ca_ex |
cal.con.vol | "m3" | volume of the compartment | 1.0 |
cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
cal.current_name | "I_Ca,L" | ||
cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
calN.v_eq | "V" | equilibrium potential | 0.0621 |
calN.g_max | "S" | maximum conductance | 1.85e-08 |
calN.trans.n | "1" | stoichiometric ratio of ion transport | calN.n_ca |
calN.trans.z | valence of ion | 2 | |
calN.con.c_const | "mol/m3" | fixed concentration | ca_ex |
calN.con.vol | "m3" | volume of the compartment | 1.0 |
calN.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
calN.current_name | "I_Ca,L" | ||
calN.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
ca.c_const | "mol/m3" | fixed concentration | 0.0 |
ca.vol | "m3" | volume of the compartment | 0.0 |
InaMo.Examples.ComponentTests.LTypeCalciumStep
This example is required separately from LTypeCalciumIV and LTypeCalciumIVN, because it needs a much more fine grained step size to accurately show the current time course.
To reproduce Figure S1H in Inada 2009 plot vc.i against time.
NOTE: Inada et al. state that they used AN cells for plot S1H, but actual value of peak current suggests that parameters of NH cells were used instead.
NOTE: The x axis of Figure S1H seems to be scaled differently than the measuring strip in the plot suggests. To obtain a good fit, time stamps extracted from the figure have to be multiplied by a scaling factor of 0.75.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow that the steady state is reached both before the step and after the step
Tolerance: default value
Interval: accurately show time course of currentmodel LTypeCalciumStep "response of I_Ca,L to a step from -40 mV to 10 mV, recreates figure 1H from inada 2009"
extends Modelica.Icons.Example;
extends InaMo.Concentrations.Interfaces.CaConst;
extends InaMo.Concentrations.Interfaces.NoACh;
inner parameter SI.Concentration ca_ex = 0 "extracellular Ca2+ concentration (value not used in this simulation)";
InaMo.Currents.Atrioventricular.LTypeCalciumChannel cal(g_max = 21e-9) "I_Ca,L" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Concentrations.Basic.ConstantConcentration ca(vol = v_sub) "dummy Ca2+ concentration required to avoid underdetermined equation system" annotation(
Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
InaMo.Membrane.LipidBilayer l2(use_init = false, c = 40e-12) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc(v_stim = if time < 1 then -0.04 else 0.01) "voltage clamp which changes voltage from 10 mV to -40 mV after 1 second" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
equation
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, cal.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, cal.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
connect(ca.substance, cal.ca) annotation(
Line(points = {{-34, -80}, {-14, -80}, {-14, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
annotation(
experiment(StartTime = 0, StopTime = 2, Tolerance = 1e-6, Interval = 1e-4),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "vc\\.i"),
Documentation(info = "
<html>
<p>This example is required separately from LTypeCalciumIV and
LTypeCalciumIVN, because it needs a much more fine grained step size to
accurately show the current time course.</p>
<p>To reproduce Figure S1H in Inada 2009 plot vc.i against time.</p>
<p>NOTE: Inada et al. state that they used AN cells for plot S1H, but
actual value of peak current suggests that parameters of NH cells were
used instead.</p>
<p>NOTE: The x axis of Figure S1H seems to be scaled differently than
the measuring strip in the plot suggests. To obtain a good fit, time
stamps extracted from the figure have to be multiplied by a scaling
factor of 0.75.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow that the steady state is reached both
before the step and after the step</li>
<p>Tolerance: default value</p
<li>Interval: accurately show time course of current</li>
</ul>
</html>
"));
end LTypeCalciumStep;
- Within group cal (prefix _ indicates shortened variable name)
Functions:
function fa
input Real x "input value";
input Real x0 = -0.035 "offset for x (fitting parameter)";
input Real sy = 65.3 "scaling factor for y (fitting parameter)";
input Real sx = -400.0 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end fa;
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0032 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 151.285930408472 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function falpha
input Real x "input value";
output Real y "output value";
algorithm
y := fa(x, -0.035, 26.12 * 2.5, -1000.0 / 2.5) + fa(x, 0.0, 78.11 / 0.208, -208.0);
end falpha;
function act.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x) + fa(x, 0.005, 10.52 / 0.4, 400.0)) + off;
end act.ftau;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
function inact_fast.ftau
input Real x "input value";
input Real y_min = 0.01 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 0.1639 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.04 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.009635092111651035 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_fast.ftau;
name | unit | label | value |
---|---|---|---|
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
cal.inact_total | |||
cal.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.inact_fast.steady | value that n would reach if v_gate was held constant | ||
cal.inact_fast.n | ratio of molecules in open conformation | 0.009992481708450124 | |
cal.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.inact_slow.steady | value that n would reach if v_gate was held constant | ||
cal.inact_slow.n | ratio of molecules in open conformation | 0.009992481708450124 | |
cal.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
cal.act.steady | value that n would reach if v_gate was held constant | ||
cal.act.n | ratio of molecules in open conformation | 0.6187190947824258 | |
cal.trans.rate | "mol/s" | rate of change in substance amount | |
cal.g | "S" | ion conductance | |
cal.i_open | "A" | i if open_ratio = 1 | |
cal.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
cal.i_ion | "A" | current used for ion flux | |
cal.con.substance.amount | "mol" | amount of substance | cal.con.c_const * cal.con.vol |
ca.substance.amount | "mol" | amount of substance | ca.c_const * ca.vol |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
cal.ach_factor | if use_ach then 1.0 - cal.k_ach * InaMo.Functions.Biochemical.michaelisMenten(ach, 9.000000000000001e-05) else 1.0 | ||
v_sub | "m3" | 1.0 | |
use_ach | false | ||
ach | "mol/m3" | 0.0 | |
ca_ex | "mol/m3" | extracellular Ca2+ concentration (value not used in this simulation) | 0.0 |
cal.v_eq | "V" | equilibrium potential | 0.0621 |
cal.g_max | "S" | maximum conductance | 2.1e-08 |
cal.trans.n | "1" | stoichiometric ratio of ion transport | cal.n_ca |
cal.trans.z | valence of ion | 2 | |
cal.con.c_const | "mol/m3" | fixed concentration | ca_ex |
cal.con.vol | "m3" | volume of the compartment | 1.0 |
cal.n_ca | "1" | stoichiometric ratio of transport | 1.0 |
cal.current_name | "I_Ca,L" | ||
cal.k_ach | "1" | ratio of maximum channel inhibition by acetylcholine | 0.0 |
ca.c_const | "mol/m3" | fixed concentration | 1.0 |
ca.vol | "m3" | volume of the compartment | v_sub |
l2.c | "F" | membrane capacitance | 4e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false |
Tests for $I_{K,r}$
InaMo.Examples.ComponentTests.RapidDelayedRectifierIV
To reproduce Figure S3C from Inada 2009, plot vc.is_end against vc.vs_end. To reproduce Figure S3D from Inada 2009, plot vc.is_tail against vc.vs_tail. It is necessary to use vc.vs_end/vc.vs_tail instead of vc.v_pulse, because vc.is_end and vc.is_tail capture the current from the previous pulse.
To reproduce Figure S3E from Inada 2009, plot vc.i against time starting 5 ms before and ending 500ms after the pulses with amplitude -10 mV, 10 mV and 30 mV.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -40 mV to 60 mV
- Tolerance: default value
- d_pulse: according to description of Figure S3 in Inada 2009
- d_hold: approximately 5 * max(inact.tau)
- v_hold: according to description of Figure S3 in Inada 2009
- l2.C: according to Table S15 in Inada 2009 (AN cell model)
- g_max: according to Table S15 in Inada 2009 (AN cell model)
NOTE: IV-curve in S3C seem to be shifted by 5 mV towards lower voltages. This could be explained if Inada et al. accidentally associated currents with the newly started pulse right after the current was measured instead of the previous pulse.
model RapidDelayedRectifierIV "IV relationship of I_K,r, recreates Figure S3C-S3E"
extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.04, d_hold = 5, d_pulse = 0.5), v_start = -0.04, v_inc = 0.005);
extends Modelica.Icons.Example;
parameter SI.Concentration k_in = 140 "intracellular potassium concentration";
parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
parameter SI.Temperature temp = 310 "cell medium temperature";
parameter SI.Voltage v_k = nernst(k_in, k_ex, 1, temp) "equilibrium potential for K+ ions";
InaMo.Currents.Atrioventricular.RapidDelayedRectifierChannel kr(g_max = 1.5e-9, v_eq = v_k) "I_K,r channel with parameters of AN cell model" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Membrane.LipidBilayer l2(use_init = false, c = 40e-12) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, kr.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, kr.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 126, Tolerance = 1e-12, Interval = 1e-2),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "vc\\.(is_end|vs_end|is_tail|vs_tail|is_peak|vs_peak|i|v|v_pulse)"),
Documentation(info = "
<html>
<p>To reproduce Figure S3C from Inada 2009, plot vc.is_end against
vc.vs_end.
To reproduce Figure S3D from Inada 2009, plot vc.is_tail against
vc.vs_tail.
It is necessary to use vc.vs_end/vc.vs_tail instead of vc.v_pulse,
because vc.is_end and vc.is_tail capture the current from the
<i>previous</i> pulse.</p>
<p>To reproduce Figure S3E from Inada 2009, plot vc.i against time starting
5 ms before and ending 500ms after the pulses with amplitude -10 mV, 10 mV
and 30 mV.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -40 mV to 60 mV</li>
<li>Tolerance: default value</li>
<li>d_pulse: according to description of Figure S3 in Inada 2009</li>
<li>d_hold: approximately 5 * max(inact.tau)</li>
<li>v_hold: according to description of Figure S3 in Inada 2009</li>
<li>l2.C: according to Table S15 in Inada 2009 (AN cell model)</li>
<li>g_max: according to Table S15 in Inada 2009 (AN cell model)</li>
</ul>
<p>NOTE: IV-curve in S3C seem to be shifted by 5 mV towards lower
voltages.
This could be explained if Inada et al. accidentally associated currents
with the newly started pulse right after the current was measured instead
of the previous pulse.</p>
"));
end RapidDelayedRectifierIV;
- Within group kr (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function inact.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x, 0.0, 9.42, 603.6) + falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;
function act_fast.fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.01022 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 117.6470588235294 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act_fast.fsteady;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function inact.fsteady
input Real x "input value";
output Real y "output value";
algorithm
y := act_fast.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * act_slow.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;
function absmax "returns input whose absolute value is larger, preserving the sign"
input Real a "first input";
input Real b "second input";
output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
m := if abs(a) > abs(b) then a else b;
end absmax;
function falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end falpha;
function act_fast.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x, 0.0, 39.8, 17.0) + falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;
function act_slow.ftau
input Real x "input value";
input Real y_min = 0.33581 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 1.24254 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.01 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.02222667316536598 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end act_slow.ftau;
name | unit | label | value |
---|---|---|---|
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
kr.act_total | total activation due to slow and fast activation terms | ||
kr.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
kr.inact.steady | value that n would reach if v_gate was held constant | ||
kr.inact.n | ratio of molecules in open conformation | 0.2938512182797032 | |
kr.act_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
kr.act_slow.n | ratio of molecules in open conformation | 0.7689430941621821 | |
kr.act_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
kr.act_fast.steady | value that n would reach if v_gate was held constant | ||
kr.act_fast.n | ratio of molecules in open conformation | 0.7689430941621821 | |
kr.g | "S" | ion conductance | |
kr.i_open | "A" | i if open_ratio = 1 | |
kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
kr.i_ion | "A" | current used for ion flux | |
vc.after_pulse | true after pulse has passed | ||
vc.within_pulse | true during pulse | ||
vc.vp_last | "V" | voltage of last pulse | 0.0 |
vc.tp_last | "s" | time stamp of start of last pulse | 0.0 |
vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
vc.tail_i | "A" | peak current after pulse | 0.0 |
vc.peak_i | "A" | peak current during pulse | 0.0 |
vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 |
vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 |
vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 |
vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 |
vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 |
vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 |
vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
vc.pulse_end | signals end of pulse | ||
vc.pulse_start | signals start of pulse | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
$whenCondition1 | vc.pulse_end | ||
$whenCondition2 | vc.pulse_start | ||
$whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
$whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
vc.g.p.v | "V" | Potential at the pin | 0.0 |
vc.d_hold | "s" | holding period | 5.0 |
vc.d_pulse | "s" | pulse period | 0.5 |
vc.v_hold | "V" | voltage during holding period | -0.04 |
v_start | "V" | start value for pulse amplitude | -0.04 |
v_inc | "V" | increment for pulse amplitude | 0.005 |
k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
temp | "K" | cell medium temperature | 288.15 |
v_k | "V" | equilibrium potential for K+ ions | InaMo.Functions.Biochemical.nernst(k_in, k_ex, 1, temp) |
kr.v_eq | "V" | equilibrium potential | v_k |
kr.g_max | "S" | maximum conductance | 1.5e-09 |
kr.current_name | "I_K,r" | ||
l2.c | "F" | membrane capacitance | 4e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false |
InaMo.Examples.ComponentTests.RapidDelayedRectifierSteady
To reproduce Figure S3A and S3B from Inada 2009, plot act_steady and act_tau_fast against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -120 mV to 80 mV
- Tolerance: left at default value, since derivatives are not relevant
model RapidDelayedRectifierSteady "steady state of I_K,r, recreates figure S3A and S3B from Inada 2009"
extends Modelica.Icons.Example;
InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
parameter SI.Concentration k_in = 140 "intracellular potassium concentration";
parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
parameter SI.Temperature temp = 310 "cell medium temperature";
parameter SI.Voltage v_k = nernst(k_in, k_ex, 1, temp) "equilibrium potential for K+ ions";
InaMo.Currents.Atrioventricular.RapidDelayedRectifierChannel kr(g_max = 1.5e-9, v_eq = v_k) "I_K,r with parameters of AN cell model" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
Real act_steady = kr.act_fast.steady "steady state of activation gates";
SI.Duration act_tau_fast = kr.act_fast.tau "time constant of fast activation gate";
SI.Duration act_tau_slow = kr.act_slow.tau "time constant of slow activation gate";
Real inact_steady = kr.inact.steady "steady state of inactivation gate";
SI.Duration inact_tau = kr.inact.tau "time constant of inactivation gate";
SI.Voltage v(start = -0.12, fixed = true) "input voltage";
equation
vc.v_stim = v;
der(v) = 0.001;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, kr.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, kr.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 200, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "act_steady|act_tau_fast|v|act_tau_slow|inact_tau|inact_steady|vc.v"),
Documentation(info = "
<html>
<p>To reproduce Figure S3A and S3B from Inada 2009, plot act_steady and
act_tau_fast against v.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -120 mV to 80 mV</li>
<li>Tolerance: left at default value, since derivatives are not
relevant</li>
</ul>
</html>
"));
end RapidDelayedRectifierSteady;
- Within group kr (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function inact.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x, 0.0, 9.42, 603.6) + falpha(x, 0.0, -18.3, 92.01000000000001)) + off;
end inact.ftau;
function act_fast.fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.01022 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 117.6470588235294 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end act_fast.fsteady;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function act_fast.ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x, 0.0, 39.8, 17.0) + falpha(x, 0.0, -51.0, 0.211)) + off;
end act_fast.ftau;
function falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = 39.8 "scaling factor for x axis (fitting parameter)";
input Real sy = 17.0 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end falpha;
function inact.fsteady
input Real x "input value";
output Real y "output value";
algorithm
y := act_fast.fsteady(x, 0.0, 1.0, -0.0049, -1000.0 / 15.14, 1.0, 1.0, 1.0) * act_slow.ftau(x, 1.0, (-0.3) + 1.0, 0.0, sqrt(500.0 / 2.0) / 1000.0);
end inact.fsteady;
function act_slow.ftau
input Real x "input value";
input Real y_min = 0.33581 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 1.24254 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.01 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.02222667316536598 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end act_slow.ftau;
name | unit | label | value |
---|---|---|---|
inact_tau | "s" | time constant of inactivation gate | |
inact_steady | steady state of inactivation gate | ||
act_tau_slow | "s" | time constant of slow activation gate | |
act_tau_fast | "s" | time constant of fast activation gate | |
act_steady | steady state of activation gates | ||
kr.act_total | total activation due to slow and fast activation terms | ||
kr.inact.n | ratio of molecules in open conformation | 0.2938512182797032 | |
kr.act_slow.steady | value that n would reach if v_gate was held constant | ||
kr.act_slow.n | ratio of molecules in open conformation | 0.7689430941621821 | |
kr.act_fast.n | ratio of molecules in open conformation | 0.7689430941621821 | |
kr.g | "S" | ion conductance | |
kr.i_open | "A" | i if open_ratio = 1 | |
kr.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
kr.i_ion | "A" | current used for ion flux | |
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.12 |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
l2.c | "F" | membrane capacitance | 0.01 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
temp | "K" | cell medium temperature | 288.15 |
v_k | "V" | equilibrium potential for K+ ions | InaMo.Functions.Biochemical.nernst(k_in, k_ex, 1, temp) |
kr.v_eq | "V" | equilibrium potential | v_k |
kr.g_max | "S" | maximum conductance | 1.5e-09 |
kr.current_name | "I_K,r" |
Tests for $I_{NaCa}$
InaMo.Examples.ComponentTests.SodiumCalciumExchangerLin
This example does not represent the settings of a specific Figure from a reference but instead serves as the basis for other models that use different variable settings for their experiment setup.
This example uses a linear input current, because I_NaCa is modeled as an immediate current without activation or inactivation kinetics.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -140 to +140 mV
- Tolerance: left at default value because derivatives are not relevant
- Interval: enough for a smooth plot
model SodiumCalciumExchangerLin "IV relationship of I_NaCa, base model for recreation of Figures from Matsuoka 1992, Kurata 2002 and Inada 2009"
extends Modelica.Icons.Example;
extends InaMo.Concentrations.Interfaces.CaConst;
InaMo.Currents.Atrioventricular.SodiumCalciumExchanger naca(k_NaCa = 1e-9) "I_NaCa" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
inner parameter SI.Temperature temp = 310 "cell medium temperature";
InaMo.Membrane.LipidBilayer l2(c = 40e-12, use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
inner parameter SI.Concentration na_in = 8 "intracellular sodium concentration";
inner parameter SI.Concentration na_ex = 140 "extracellular sodium concentration";
inner parameter SI.Concentration ca_ex = 2 "extracellular calcium concentration";
InaMo.Concentrations.Basic.ConstantConcentration ca_sub(c_const = 0.1e-3, vol = v_sub) "Ca2+ in \"fuzzy\" subspace" annotation(
Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
parameter SI.Voltage v_start = -140e-3 "starting voltage";
initial equation
vc.v_stim = v_start;
equation
der(vc.v_stim) = 0.001;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, naca.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, naca.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
connect(ca_sub.substance, naca.ca) annotation(
Line(points = {{-34, -80}, {-14, -80}, {-14, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
annotation(
experiment(StartTime = 0, StopTime = 280, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
Documentation(info = "
<html>
<p>This example does not represent the settings of a specific Figure from
a reference but instead serves as the basis for other models that
use different variable settings for their experiment setup.</p>
<p>This example uses a linear input current, because I_NaCa is modeled
as an immediate current without activation or inactivation kinetics.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -140 to +140 mV</li>
<li>Tolerance: left at default value because derivatives are not
relevant</li>
<li>Interval: enough for a smooth plot</li>
</ul>
</html>
"));
end SodiumCalciumExchangerLin;
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
name | unit | label | value |
---|---|---|---|
vc.i | "A" | measured membrane current | |
vc.v_stim | "V" | input voltage (needs to be defined externally) | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
naca.x4 | "1" | relative frequancy of E4 states | |
naca.x3 | "1" | relative frequency of E3 states | |
naca.x2 | "1" | relative frequency of E2 states | |
naca.x1 | "1" | relative frequency of E1 states | |
naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
naca.i_ion | "A" | current used for TransmembraneCaFlow | |
naca.trans.rate | "mol/s" | rate of change in substance amount | |
naca.con.substance.amount | "mol" | amount of substance | naca.con.c_const * naca.con.vol |
naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | naca.di_c * na_in / naca.k_cn_i |
naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | naca.di_2n * na_in / naca.k_3n_i |
naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | naca.do_2n * na_ex / naca.k_3n_o |
naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | naca.do_1n * na_ex / naca.k_2n_o |
naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | naca.di_1n * na_in / naca.k_2n_i |
naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | ca_sub.substance.amount / (naca.k_c_i * v_sub) |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
ca_sub.substance.amount | "mol" | amount of substance | ca_sub.c_const * ca_sub.vol |
naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | na_in / naca.k_1n_i |
naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | ca_ex / naca.k_c_o |
naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | na_ex / naca.k_1n_o |
naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_ex, naca.k_3n_o) |
naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_in, naca.k_3n_i) |
v_sub | "m3" | 1.0 | |
naca.trans.n | "1" | stoichiometric ratio of ion transport | naca.n_ca |
naca.trans.z | valence of ion | 2 | |
naca.con.c_const | "mol/m3" | fixed concentration | ca_ex |
naca.con.vol | "m3" | volume of the compartment | 1.0 |
naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
naca.current_name | "I_NaCa" | ||
naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 1e-09 |
naca.FoRT | helper variable to simplify equations | 11604.52214706721 / temp | |
temp | "K" | cell medium temperature | 288.15 |
l2.c | "F" | membrane capacitance | 4e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 |
ca_sub.vol | "m3" | volume of the compartment | v_sub |
v_start | "V" | starting voltage | -0.14 |
InaMo.Examples.ComponentTests.SodiumCalciumExchangerLinKurata
To recreate Figure 17 of Kurata 2002, plot naca.i against vc.v.
For more detail about the experiment setup see the documentation of InaMo.Examples.SodiumCalciumExchangerLin.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -100 to +50 mV
- Tolerance: left at default value because derivatives are not relevant
- Interval: enough for a smooth plot
- L2.C: according to Table A1 in Kurata 2002
- naca.k_NaCa: according to Table A1 in Kurata 2002 (see note below)
- sodium.c_in: according to description of Figure 17 of Kurata 2002
- sodium.c_ex: according to Table A1 in Kurata 2002
- calcium.c_ex: according to Table A1 in Kurata 2002
- ca_sub.c_const: according to description of Figure 17 of Kurata 2002
NOTE: Kurata give k_NaCa as 125 1/pF (which should probably be 125 pA/pF). This means that we have to multiply the value by l2.C to obtain the actual parameter in pA.
NOTE: This is the only plot for I_NaCa where all relevant conventration parameters are given. Consequently this example can reproduce the Figure from the paper exactly while the others cannot.
model SodiumCalciumExchangerLinKurata "IV relationship of I_NaCa, recreates Figure 17 from Kurata 2002"
extends SodiumCalciumExchangerLin(l2(c = 32e-12), temp = 310.15, naca(k_NaCa = 125 * l2.c), na_in = 10, na_ex = 140, ca_ex = 2, ca_sub(c_const = 0.1e-3), v_start = -100e-3);
annotation(
experiment(StartTime = 0, StopTime = 150, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "naca\\.i|vc\\.v"),
Documentation(info = "
<html>
<p>To recreate Figure 17 of Kurata 2002, plot naca.i against vc.v.</p>
<p>For more detail about the experiment setup see the documentation of
InaMo.Examples.SodiumCalciumExchangerLin.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -100 to +50 mV</li>
<li>Tolerance: left at default value because derivatives are not
relevant</li>
<li>Interval: enough for a smooth plot</li>
<li>L2.C: according to Table A1 in Kurata 2002</li>
<li>naca.k_NaCa: according to Table A1 in Kurata 2002 (see note below)
</li>
<li>sodium.c_in: according to description of Figure 17 of Kurata
2002</li>
<li>sodium.c_ex: according to Table A1 in Kurata 2002</li>
<li>calcium.c_ex: according to Table A1 in Kurata 2002</li>
<li>ca_sub.c_const: according to description of Figure 17 of Kurata
2002</li>
</ul>
<p>NOTE: Kurata give k_NaCa as 125 1/pF (which should probably be
125 pA/pF). This means that we have to multiply the value by l2.C to
obtain the actual parameter in pA.</p>
<p>NOTE: This is the only plot for I_NaCa where all relevant
conventration parameters are given. Consequently this example can
reproduce the Figure from the paper exactly while the others cannot.</p>
</html>
"));
end SodiumCalciumExchangerLinKurata;
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
name | unit | label | value |
---|---|---|---|
vc.i | "A" | measured membrane current | |
vc.v_stim | "V" | input voltage (needs to be defined externally) | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
naca.x4 | "1" | relative frequancy of E4 states | |
naca.x3 | "1" | relative frequency of E3 states | |
naca.x2 | "1" | relative frequency of E2 states | |
naca.x1 | "1" | relative frequency of E1 states | |
naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
naca.i_ion | "A" | current used for TransmembraneCaFlow | |
naca.trans.rate | "mol/s" | rate of change in substance amount | |
naca.con.substance.amount | "mol" | amount of substance | naca.con.c_const * naca.con.vol |
naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | naca.di_c * na_in / naca.k_cn_i |
naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | naca.di_2n * na_in / naca.k_3n_i |
naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | naca.do_2n * na_ex / naca.k_3n_o |
naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | naca.do_1n * na_ex / naca.k_2n_o |
naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | naca.di_1n * na_in / naca.k_2n_i |
naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | ca_sub.substance.amount / (naca.k_c_i * v_sub) |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
ca_sub.substance.amount | "mol" | amount of substance | ca_sub.c_const * ca_sub.vol |
naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | na_in / naca.k_1n_i |
naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | ca_ex / naca.k_c_o |
naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | na_ex / naca.k_1n_o |
naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_ex, naca.k_3n_o) |
naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_in, naca.k_3n_i) |
v_sub | "m3" | 1.0 | |
naca.trans.n | "1" | stoichiometric ratio of ion transport | naca.n_ca |
naca.trans.z | valence of ion | 2 | |
naca.con.c_const | "mol/m3" | fixed concentration | ca_ex |
naca.con.vol | "m3" | volume of the compartment | 1.0 |
naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
naca.current_name | "I_NaCa" | ||
naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 125.0 * l2.c |
naca.FoRT | helper variable to simplify equations | 11604.52214706721 / temp | |
temp | "K" | cell medium temperature | 288.15 |
l2.c | "F" | membrane capacitance | 3.2e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
na_in | "mol/m3" | intracellular sodium concentration | 10.0 |
na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 |
ca_sub.vol | "m3" | volume of the compartment | v_sub |
v_start | "V" | starting voltage | -0.1 |
InaMo.Examples.ComponentTests.SodiumCalciumExchangerLinMatsuoka
To recreate Figure 19 of Matsuoka 1992, plot the following variables against a1.vc.v.
- Figure 19A: a1.naca.i, a2.naca.i, a3.naca.i
- Figure 19B: b1.naca.i, b2.naca.i, b3.naca.i
- Figure 19C: c1.naca.i, c2.naca.i, c3.naca.i
- Figure 19D: d1.naca.i, d2.naca.i, d3.naca.i
The values for the concentration parameters are chosen as follows:
- Figure 19A
- sodium.c_ex = 0 (according to Figure 15A)
- sodium.c_in = 25
- calcium.c_ex = 8 (according to Figure 15A)
- ca_sub.c_const = [0, 0.016, 0.234]
- Figure 19B
- sodium.c_ex = 0 (according to Figure 15A and p. 983, paragraph about Figure 16A)
- sodium.c_in = 100
- calcium.c_ex = 8 (according to Figure 15A and p. 983, paragraph about Figure 16A)
- ca_sub.c_const = [0, 0.064, 1.08]
- Figure 19C
- sodium.c_ex = 150 (according to Figure 17A)
- sodium.c_in = [0, 25, 50]
- calcium.c_ex = 0 (according to Figure 17A)
- ca_sub.c_const = 0.003
- Figure 19D
- sodium.c_ex = 150 (according to Figure 17B)
- sodium.c_in = [0, 25, 100]
- calcium.c_ex = 0 (according to Figure 17B)
- ca_sub.c_const = 1.08
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -140 to +140 mV
- Tolerance: left at default value because derivatives are not relevant
- Interval: enough for a smooth plot
- l2.C: left at default value for AN cell because it is not relevant for the plot
- naca.k_NaCa: chosen arbitrarily to fit order of magnitude for individual subplots of Figure 19 of Matsuoka 1992 (see note below)
- temp: according to Matsuoka 1992, p. 993 (2 * RT/F = 53 mV <=> temp = 307.52 °K
For more details of parameter and simulation settings see the documentation of InaMo.Examples.SodiumCalciumExchangerLin.
NOTE: Matsuoka et al. never give a value for l2.C, because when the voltage is fixed with a voltage clamp, the capacitance of the cell has no influence on the resulting current. We therefore leave l2.C arbitrarily at the default value for AN cells.
NOTE: The subplots in Figure 19 of Matsuoka 1992 do not show the absolute value of the current, but it can be inferred from Figures 15--17. However, an agreement with thes absolute values cannot be reproduced with a single value for naca.k_NaCa. This is hinted at on page 993 of Matsuoka 1992, where the authors state that "each experiment was fitted with a scaler variable". Unfortunately the values of these variables are not given in the paper. We therefore chose arbitrary values between 0.25 and 1 nA to roughly fit the order of magnitude of the experimental data. This still leaves some differences open, which may be explained if Matsuoka et all used a different scaling variable for each indivitual line in the plot.
model SodiumCalciumExchangerLinMatsuoka "bundles all experiments required to reproduce Figure 19 of Matsuoka 1992"
extends Modelica.Icons.Example;
model BundleBase = SodiumCalciumExchangerLin(naca(k_NaCa = 1e-9), temp = 307.52, v_start = -140e-3);
BundleBase a1(na_in = 25, na_ex = 0, ca_sub(c_const = 0), ca_ex = 8, naca(k_NaCa = 0.95e-9));
BundleBase a2(na_in = 25, na_ex = 0, ca_sub(c_const = 0.016), ca_ex = 8, naca(k_NaCa = 0.95e-9));
BundleBase a3(na_in = 25, na_ex = 0, ca_sub(c_const = 0.234), ca_ex = 8, naca(k_NaCa = 0.95e-9));
BundleBase b1(na_in = 100, na_ex = 0, ca_sub(c_const = 0), ca_ex = 8, naca(k_NaCa = 0.25e-9));
BundleBase b2(na_in = 100, na_ex = 0, ca_sub(c_const = 0.064), ca_ex = 8, naca(k_NaCa = 0.25e-9));
BundleBase b3(na_in = 100, na_ex = 0, ca_sub(c_const = 1.08), ca_ex = 8, naca(k_NaCa = 0.25e-9));
BundleBase c1(na_in = 0, na_ex = 150, ca_sub(c_const = 0.003), ca_ex = 0, naca(k_NaCa = 0.36e-9));
BundleBase c2(na_in = 25, na_ex = 150, ca_sub(c_const = 0.003), ca_ex = 0, naca(k_NaCa = 0.36e-9));
BundleBase c3(na_in = 50, na_ex = 150, ca_sub(c_const = 0.003), ca_ex = 0, naca(k_NaCa = 0.36e-9));
BundleBase d1(na_in = 0, na_ex = 150, ca_sub(c_const = 1.08), ca_ex = 0, naca(k_NaCa = 0.56e-9));
BundleBase d2(na_in = 25, na_ex = 150, ca_sub(c_const = 1.08), ca_ex = 0, naca(k_NaCa = 0.56e-9));
BundleBase d3(na_in = 100, na_ex = 150, ca_sub(c_const = 1.08), ca_ex = 0, naca(k_NaCa = 0.56e-9));
annotation(
experiment(StartTime = 0, StopTime = 280, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "[a-d][1-3]\\.(naca\\.i|vc\\.v)"),
Documentation(info = "
<html>
<p>To recreate Figure 19 of Matsuoka 1992, plot the following variables
against a1.vc.v.<p>
<ul>
<li>Figure 19A: a1.naca.i, a2.naca.i, a3.naca.i</li>
<li>Figure 19B: b1.naca.i, b2.naca.i, b3.naca.i</li>
<li>Figure 19C: c1.naca.i, c2.naca.i, c3.naca.i</li>
<li>Figure 19D: d1.naca.i, d2.naca.i, d3.naca.i</li>
</ul>
<p>The values for the concentration parameters are chosen as follows:</p>
<ul>
<li>Figure 19A
<ul>
<li>sodium.c_ex = 0 <i>(according to Figure 15A)</i></li>
<li>sodium.c_in = 25</li>
<li>calcium.c_ex = 8 <i>(according to Figure 15A)</i></li>
<li>ca_sub.c_const = [0, 0.016, 0.234]</li>
</ul>
</li>
<li>Figure 19B
<ul>
<li>sodium.c_ex = 0 <i>(according to Figure 15A and p. 983, paragraph about Figure 16A)</i></li>
<li>sodium.c_in = 100</li>
<li>calcium.c_ex = 8 <i>(according to Figure 15A and p. 983, paragraph about Figure 16A)</i></li>
<li>ca_sub.c_const = [0, 0.064, 1.08]</li>
</ul>
</li>
<li>Figure 19C
<ul>
<li>sodium.c_ex = 150 <i>(according to Figure 17A)</i></li>
<li>sodium.c_in = [0, 25, 50]</li>
<li>calcium.c_ex = 0 <i>(according to Figure 17A)</i></li>
<li>ca_sub.c_const = 0.003</li>
</ul>
</li>
<li>Figure 19D
<ul>
<li>sodium.c_ex = 150 <i>(according to Figure 17B)</i></li>
<li>sodium.c_in = [0, 25, 100]</li>
<li>calcium.c_ex = 0 <i>(according to Figure 17B)</i></li>
<li>ca_sub.c_const = 1.08</li>
</ul>
</li>
</ul>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -140 to +140 mV</li>
<li>Tolerance: left at default value because derivatives are not
relevant</li>
<li>Interval: enough for a smooth plot</li>
<li>l2.C: left at default value for AN cell because it is not relevant
for the plot</li>
<li>naca.k_NaCa: chosen arbitrarily to fit order of magnitude for
individual subplots of Figure 19 of Matsuoka 1992 (see note below)</li>
<li>temp: according to Matsuoka 1992, p. 993 (2 * RT/F = 53 mV <=>
temp = 307.52 °K</li>
</ul>
<p>For more details of parameter and simulation settings see the
documentation of InaMo.Examples.SodiumCalciumExchangerLin.</p>
<p>NOTE: Matsuoka et al. never give a value for l2.C, because when the
voltage is fixed with a voltage clamp, the capacitance of the cell
has no influence on the resulting current. We therefore leave l2.C
arbitrarily at the default value for AN cells.</p>
<p>NOTE: The subplots in Figure 19 of Matsuoka 1992 do not show the
absolute value of the current, but it can be inferred from Figures
15--17. However, an agreement with thes absolute values cannot be
reproduced with a single value for naca.k_NaCa. This is hinted at on
page 993 of Matsuoka 1992, where the authors state that "each
experiment was fitted with a scaler variable". Unfortunately the
values of these variables are not given in the paper. We therefore
chose arbitrary values between 0.25 and 1 nA to roughly fit the order
of magnitude of the experimental data.
This still leaves some differences open, which may be explained if
Matsuoka et all used a different scaling variable for each indivitual
<i>line</i> in the plot.</p>
</html>
"));
end SodiumCalciumExchangerLinMatsuoka;
- Within group a1 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group a2 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group a3 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group b1 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group b2 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group b3 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group c1 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group c2 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group c3 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group d1 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group d2 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
- Within group d3 (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
name | unit | label | value |
---|---|---|---|
a1.vc.i | "A" | measured membrane current | |
a1.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
a1.vc.g.p.i | "A" | Current flowing into the pin | |
a1.vc.n.i | "A" | Current flowing into the pin | |
a1.l2.i | "A" | Current flowing from pin p to pin n | |
a1.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
a1.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
a1.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
a1.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
a1.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
a1.naca.x4 | "1" | relative frequancy of E4 states | |
a1.naca.x3 | "1" | relative frequency of E3 states | |
a1.naca.x2 | "1" | relative frequency of E2 states | |
a1.naca.x1 | "1" | relative frequency of E1 states | |
a1.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
a1.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
a1.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
a1.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
a1.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
a1.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
a1.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
a1.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
a1.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
a1.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
a1.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
a1.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
a1.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
a1.naca.trans.rate | "mol/s" | rate of change in substance amount | |
a2.vc.i | "A" | measured membrane current | |
a2.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
a2.vc.g.p.i | "A" | Current flowing into the pin | |
a2.vc.n.i | "A" | Current flowing into the pin | |
a2.l2.i | "A" | Current flowing from pin p to pin n | |
a2.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
a2.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
a2.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
a2.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
a2.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
a2.naca.x4 | "1" | relative frequancy of E4 states | |
a2.naca.x3 | "1" | relative frequency of E3 states | |
a2.naca.x2 | "1" | relative frequency of E2 states | |
a2.naca.x1 | "1" | relative frequency of E1 states | |
a2.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
a2.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
a2.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
a2.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
a2.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
a2.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
a2.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
a2.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
a2.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
a2.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
a2.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
a2.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
a2.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
a2.naca.trans.rate | "mol/s" | rate of change in substance amount | |
a3.vc.i | "A" | measured membrane current | |
a3.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
a3.vc.g.p.i | "A" | Current flowing into the pin | |
a3.vc.n.i | "A" | Current flowing into the pin | |
a3.l2.i | "A" | Current flowing from pin p to pin n | |
a3.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
a3.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
a3.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
a3.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
a3.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
a3.naca.x4 | "1" | relative frequancy of E4 states | |
a3.naca.x3 | "1" | relative frequency of E3 states | |
a3.naca.x2 | "1" | relative frequency of E2 states | |
a3.naca.x1 | "1" | relative frequency of E1 states | |
a3.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
a3.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
a3.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
a3.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
a3.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
a3.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
a3.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
a3.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
a3.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
a3.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
a3.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
a3.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
a3.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
a3.naca.trans.rate | "mol/s" | rate of change in substance amount | |
b1.vc.i | "A" | measured membrane current | |
b1.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
b1.vc.g.p.i | "A" | Current flowing into the pin | |
b1.vc.n.i | "A" | Current flowing into the pin | |
b1.l2.i | "A" | Current flowing from pin p to pin n | |
b1.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
b1.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
b1.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
b1.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
b1.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
b1.naca.x4 | "1" | relative frequancy of E4 states | |
b1.naca.x3 | "1" | relative frequency of E3 states | |
b1.naca.x2 | "1" | relative frequency of E2 states | |
b1.naca.x1 | "1" | relative frequency of E1 states | |
b1.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
b1.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
b1.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
b1.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
b1.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
b1.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
b1.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
b1.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
b1.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
b1.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
b1.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
b1.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
b1.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
b1.naca.trans.rate | "mol/s" | rate of change in substance amount | |
b2.vc.i | "A" | measured membrane current | |
b2.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
b2.vc.g.p.i | "A" | Current flowing into the pin | |
b2.vc.n.i | "A" | Current flowing into the pin | |
b2.l2.i | "A" | Current flowing from pin p to pin n | |
b2.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
b2.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
b2.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
b2.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
b2.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
b2.naca.x4 | "1" | relative frequancy of E4 states | |
b2.naca.x3 | "1" | relative frequency of E3 states | |
b2.naca.x2 | "1" | relative frequency of E2 states | |
b2.naca.x1 | "1" | relative frequency of E1 states | |
b2.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
b2.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
b2.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
b2.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
b2.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
b2.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
b2.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
b2.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
b2.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
b2.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
b2.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
b2.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
b2.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
b2.naca.trans.rate | "mol/s" | rate of change in substance amount | |
b3.vc.i | "A" | measured membrane current | |
b3.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
b3.vc.g.p.i | "A" | Current flowing into the pin | |
b3.vc.n.i | "A" | Current flowing into the pin | |
b3.l2.i | "A" | Current flowing from pin p to pin n | |
b3.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
b3.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
b3.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
b3.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
b3.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
b3.naca.x4 | "1" | relative frequancy of E4 states | |
b3.naca.x3 | "1" | relative frequency of E3 states | |
b3.naca.x2 | "1" | relative frequency of E2 states | |
b3.naca.x1 | "1" | relative frequency of E1 states | |
b3.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
b3.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
b3.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
b3.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
b3.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
b3.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
b3.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
b3.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
b3.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
b3.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
b3.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
b3.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
b3.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
b3.naca.trans.rate | "mol/s" | rate of change in substance amount | |
c1.vc.i | "A" | measured membrane current | |
c1.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
c1.vc.g.p.i | "A" | Current flowing into the pin | |
c1.vc.n.i | "A" | Current flowing into the pin | |
c1.l2.i | "A" | Current flowing from pin p to pin n | |
c1.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
c1.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
c1.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
c1.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
c1.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
c1.naca.x4 | "1" | relative frequancy of E4 states | |
c1.naca.x3 | "1" | relative frequency of E3 states | |
c1.naca.x2 | "1" | relative frequency of E2 states | |
c1.naca.x1 | "1" | relative frequency of E1 states | |
c1.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
c1.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
c1.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
c1.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
c1.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
c1.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
c1.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
c1.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
c1.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
c1.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
c1.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
c1.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
c1.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
c1.naca.trans.rate | "mol/s" | rate of change in substance amount | |
c2.vc.i | "A" | measured membrane current | |
c2.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
c2.vc.g.p.i | "A" | Current flowing into the pin | |
c2.vc.n.i | "A" | Current flowing into the pin | |
c2.l2.i | "A" | Current flowing from pin p to pin n | |
c2.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
c2.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
c2.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
c2.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
c2.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
c2.naca.x4 | "1" | relative frequancy of E4 states | |
c2.naca.x3 | "1" | relative frequency of E3 states | |
c2.naca.x2 | "1" | relative frequency of E2 states | |
c2.naca.x1 | "1" | relative frequency of E1 states | |
c2.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
c2.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
c2.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
c2.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
c2.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
c2.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
c2.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
c2.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
c2.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
c2.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
c2.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
c2.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
c2.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
c2.naca.trans.rate | "mol/s" | rate of change in substance amount | |
c3.vc.i | "A" | measured membrane current | |
c3.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
c3.vc.g.p.i | "A" | Current flowing into the pin | |
c3.vc.n.i | "A" | Current flowing into the pin | |
c3.l2.i | "A" | Current flowing from pin p to pin n | |
c3.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
c3.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
c3.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
c3.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
c3.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
c3.naca.x4 | "1" | relative frequancy of E4 states | |
c3.naca.x3 | "1" | relative frequency of E3 states | |
c3.naca.x2 | "1" | relative frequency of E2 states | |
c3.naca.x1 | "1" | relative frequency of E1 states | |
c3.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
c3.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
c3.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
c3.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
c3.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
c3.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
c3.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
c3.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
c3.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
c3.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
c3.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
c3.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
c3.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
c3.naca.trans.rate | "mol/s" | rate of change in substance amount | |
d1.vc.i | "A" | measured membrane current | |
d1.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
d1.vc.g.p.i | "A" | Current flowing into the pin | |
d1.vc.n.i | "A" | Current flowing into the pin | |
d1.l2.i | "A" | Current flowing from pin p to pin n | |
d1.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
d1.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
d1.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
d1.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
d1.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
d1.naca.x4 | "1" | relative frequancy of E4 states | |
d1.naca.x3 | "1" | relative frequency of E3 states | |
d1.naca.x2 | "1" | relative frequency of E2 states | |
d1.naca.x1 | "1" | relative frequency of E1 states | |
d1.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
d1.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
d1.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
d1.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
d1.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
d1.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
d1.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
d1.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
d1.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
d1.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
d1.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
d1.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
d1.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
d1.naca.trans.rate | "mol/s" | rate of change in substance amount | |
d2.vc.i | "A" | measured membrane current | |
d2.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
d2.vc.g.p.i | "A" | Current flowing into the pin | |
d2.vc.n.i | "A" | Current flowing into the pin | |
d2.l2.i | "A" | Current flowing from pin p to pin n | |
d2.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
d2.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
d2.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
d2.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
d2.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
d2.naca.x4 | "1" | relative frequancy of E4 states | |
d2.naca.x3 | "1" | relative frequency of E3 states | |
d2.naca.x2 | "1" | relative frequency of E2 states | |
d2.naca.x1 | "1" | relative frequency of E1 states | |
d2.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
d2.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
d2.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
d2.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
d2.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
d2.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
d2.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
d2.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
d2.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
d2.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
d2.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
d2.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
d2.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
d2.naca.trans.rate | "mol/s" | rate of change in substance amount | |
d3.vc.i | "A" | measured membrane current | |
d3.vc.v_stim | "V" | input voltage (needs to be defined externally) | |
d3.vc.g.p.i | "A" | Current flowing into the pin | |
d3.vc.n.i | "A" | Current flowing into the pin | |
d3.l2.i | "A" | Current flowing from pin p to pin n | |
d3.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
d3.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
d3.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
d3.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
d3.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
d3.naca.x4 | "1" | relative frequancy of E4 states | |
d3.naca.x3 | "1" | relative frequency of E3 states | |
d3.naca.x2 | "1" | relative frequency of E2 states | |
d3.naca.x1 | "1" | relative frequency of E1 states | |
d3.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
d3.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
d3.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
d3.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
d3.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
d3.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
d3.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
d3.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
d3.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
d3.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
d3.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
d3.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
d3.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
d3.naca.trans.rate | "mol/s" | rate of change in substance amount | |
a1.naca.con.substance.amount | "mol" | amount of substance | a1.naca.con.c_const * a1.naca.con.vol |
a2.naca.con.substance.amount | "mol" | amount of substance | a2.naca.con.c_const * a2.naca.con.vol |
a3.naca.con.substance.amount | "mol" | amount of substance | a3.naca.con.c_const * a3.naca.con.vol |
b1.naca.con.substance.amount | "mol" | amount of substance | b1.naca.con.c_const * b1.naca.con.vol |
b2.naca.con.substance.amount | "mol" | amount of substance | b2.naca.con.c_const * b2.naca.con.vol |
b3.naca.con.substance.amount | "mol" | amount of substance | b3.naca.con.c_const * b3.naca.con.vol |
c1.naca.con.substance.amount | "mol" | amount of substance | c1.naca.con.c_const * c1.naca.con.vol |
c2.naca.con.substance.amount | "mol" | amount of substance | c2.naca.con.c_const * c2.naca.con.vol |
c3.naca.con.substance.amount | "mol" | amount of substance | c3.naca.con.c_const * c3.naca.con.vol |
d1.naca.con.substance.amount | "mol" | amount of substance | d1.naca.con.c_const * d1.naca.con.vol |
d2.naca.con.substance.amount | "mol" | amount of substance | d2.naca.con.c_const * d2.naca.con.vol |
d3.naca.con.substance.amount | "mol" | amount of substance | d3.naca.con.c_const * d3.naca.con.vol |
a1.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | a1.naca.di_c * a1.na_in / a1.naca.k_cn_i |
a1.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | a1.naca.di_2n * a1.na_in / a1.naca.k_3n_i |
a1.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | a1.naca.do_2n * a1.na_ex / a1.naca.k_3n_o |
a1.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | a1.naca.do_1n * a1.na_ex / a1.naca.k_2n_o |
a1.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | a1.naca.di_1n * a1.na_in / a1.naca.k_2n_i |
a1.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | a1.ca_sub.substance.amount / (a1.naca.k_c_i * a1.v_sub) |
a1.vc.g.p.v | "V" | Potential at the pin | 0.0 |
a1.ca_sub.substance.amount | "mol" | amount of substance | a1.ca_sub.c_const * a1.ca_sub.vol |
a1.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | a1.na_in / a1.naca.k_1n_i |
a1.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | a1.ca_ex / a1.naca.k_c_o |
a1.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | a1.na_ex / a1.naca.k_1n_o |
a1.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a1.na_ex, a1.naca.k_3n_o) |
a1.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a1.na_in, a1.naca.k_3n_i) |
a2.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | a2.naca.di_c * a2.na_in / a2.naca.k_cn_i |
a2.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | a2.naca.di_2n * a2.na_in / a2.naca.k_3n_i |
a2.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | a2.naca.do_2n * a2.na_ex / a2.naca.k_3n_o |
a2.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | a2.naca.do_1n * a2.na_ex / a2.naca.k_2n_o |
a2.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | a2.naca.di_1n * a2.na_in / a2.naca.k_2n_i |
a2.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | a2.ca_sub.substance.amount / (a2.naca.k_c_i * a2.v_sub) |
a2.vc.g.p.v | "V" | Potential at the pin | 0.0 |
a2.ca_sub.substance.amount | "mol" | amount of substance | a2.ca_sub.c_const * a2.ca_sub.vol |
a2.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | a2.na_in / a2.naca.k_1n_i |
a2.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | a2.ca_ex / a2.naca.k_c_o |
a2.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | a2.na_ex / a2.naca.k_1n_o |
a2.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a2.na_ex, a2.naca.k_3n_o) |
a2.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a2.na_in, a2.naca.k_3n_i) |
a3.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | a3.naca.di_c * a3.na_in / a3.naca.k_cn_i |
a3.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | a3.naca.di_2n * a3.na_in / a3.naca.k_3n_i |
a3.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | a3.naca.do_2n * a3.na_ex / a3.naca.k_3n_o |
a3.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | a3.naca.do_1n * a3.na_ex / a3.naca.k_2n_o |
a3.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | a3.naca.di_1n * a3.na_in / a3.naca.k_2n_i |
a3.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | a3.ca_sub.substance.amount / (a3.naca.k_c_i * a3.v_sub) |
a3.vc.g.p.v | "V" | Potential at the pin | 0.0 |
a3.ca_sub.substance.amount | "mol" | amount of substance | a3.ca_sub.c_const * a3.ca_sub.vol |
a3.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | a3.na_in / a3.naca.k_1n_i |
a3.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | a3.ca_ex / a3.naca.k_c_o |
a3.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | a3.na_ex / a3.naca.k_1n_o |
a3.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a3.na_ex, a3.naca.k_3n_o) |
a3.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(a3.na_in, a3.naca.k_3n_i) |
b1.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | b1.naca.di_c * b1.na_in / b1.naca.k_cn_i |
b1.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | b1.naca.di_2n * b1.na_in / b1.naca.k_3n_i |
b1.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | b1.naca.do_2n * b1.na_ex / b1.naca.k_3n_o |
b1.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | b1.naca.do_1n * b1.na_ex / b1.naca.k_2n_o |
b1.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | b1.naca.di_1n * b1.na_in / b1.naca.k_2n_i |
b1.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | b1.ca_sub.substance.amount / (b1.naca.k_c_i * b1.v_sub) |
b1.vc.g.p.v | "V" | Potential at the pin | 0.0 |
b1.ca_sub.substance.amount | "mol" | amount of substance | b1.ca_sub.c_const * b1.ca_sub.vol |
b1.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | b1.na_in / b1.naca.k_1n_i |
b1.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | b1.ca_ex / b1.naca.k_c_o |
b1.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | b1.na_ex / b1.naca.k_1n_o |
b1.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b1.na_ex, b1.naca.k_3n_o) |
b1.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b1.na_in, b1.naca.k_3n_i) |
b2.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | b2.naca.di_c * b2.na_in / b2.naca.k_cn_i |
b2.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | b2.naca.di_2n * b2.na_in / b2.naca.k_3n_i |
b2.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | b2.naca.do_2n * b2.na_ex / b2.naca.k_3n_o |
b2.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | b2.naca.do_1n * b2.na_ex / b2.naca.k_2n_o |
b2.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | b2.naca.di_1n * b2.na_in / b2.naca.k_2n_i |
b2.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | b2.ca_sub.substance.amount / (b2.naca.k_c_i * b2.v_sub) |
b2.vc.g.p.v | "V" | Potential at the pin | 0.0 |
b2.ca_sub.substance.amount | "mol" | amount of substance | b2.ca_sub.c_const * b2.ca_sub.vol |
b2.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | b2.na_in / b2.naca.k_1n_i |
b2.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | b2.ca_ex / b2.naca.k_c_o |
b2.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | b2.na_ex / b2.naca.k_1n_o |
b2.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b2.na_ex, b2.naca.k_3n_o) |
b2.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b2.na_in, b2.naca.k_3n_i) |
b3.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | b3.naca.di_c * b3.na_in / b3.naca.k_cn_i |
b3.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | b3.naca.di_2n * b3.na_in / b3.naca.k_3n_i |
b3.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | b3.naca.do_2n * b3.na_ex / b3.naca.k_3n_o |
b3.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | b3.naca.do_1n * b3.na_ex / b3.naca.k_2n_o |
b3.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | b3.naca.di_1n * b3.na_in / b3.naca.k_2n_i |
b3.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | b3.ca_sub.substance.amount / (b3.naca.k_c_i * b3.v_sub) |
b3.vc.g.p.v | "V" | Potential at the pin | 0.0 |
b3.ca_sub.substance.amount | "mol" | amount of substance | b3.ca_sub.c_const * b3.ca_sub.vol |
b3.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | b3.na_in / b3.naca.k_1n_i |
b3.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | b3.ca_ex / b3.naca.k_c_o |
b3.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | b3.na_ex / b3.naca.k_1n_o |
b3.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b3.na_ex, b3.naca.k_3n_o) |
b3.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(b3.na_in, b3.naca.k_3n_i) |
c1.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | c1.naca.di_c * c1.na_in / c1.naca.k_cn_i |
c1.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | c1.naca.di_2n * c1.na_in / c1.naca.k_3n_i |
c1.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | c1.naca.do_2n * c1.na_ex / c1.naca.k_3n_o |
c1.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | c1.naca.do_1n * c1.na_ex / c1.naca.k_2n_o |
c1.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | c1.naca.di_1n * c1.na_in / c1.naca.k_2n_i |
c1.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | c1.ca_sub.substance.amount / (c1.naca.k_c_i * c1.v_sub) |
c1.vc.g.p.v | "V" | Potential at the pin | 0.0 |
c1.ca_sub.substance.amount | "mol" | amount of substance | c1.ca_sub.c_const * c1.ca_sub.vol |
c1.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | c1.na_in / c1.naca.k_1n_i |
c1.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | c1.ca_ex / c1.naca.k_c_o |
c1.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | c1.na_ex / c1.naca.k_1n_o |
c1.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c1.na_ex, c1.naca.k_3n_o) |
c1.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c1.na_in, c1.naca.k_3n_i) |
c2.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | c2.naca.di_c * c2.na_in / c2.naca.k_cn_i |
c2.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | c2.naca.di_2n * c2.na_in / c2.naca.k_3n_i |
c2.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | c2.naca.do_2n * c2.na_ex / c2.naca.k_3n_o |
c2.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | c2.naca.do_1n * c2.na_ex / c2.naca.k_2n_o |
c2.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | c2.naca.di_1n * c2.na_in / c2.naca.k_2n_i |
c2.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | c2.ca_sub.substance.amount / (c2.naca.k_c_i * c2.v_sub) |
c2.vc.g.p.v | "V" | Potential at the pin | 0.0 |
c2.ca_sub.substance.amount | "mol" | amount of substance | c2.ca_sub.c_const * c2.ca_sub.vol |
c2.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | c2.na_in / c2.naca.k_1n_i |
c2.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | c2.ca_ex / c2.naca.k_c_o |
c2.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | c2.na_ex / c2.naca.k_1n_o |
c2.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c2.na_ex, c2.naca.k_3n_o) |
c2.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c2.na_in, c2.naca.k_3n_i) |
c3.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | c3.naca.di_c * c3.na_in / c3.naca.k_cn_i |
c3.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | c3.naca.di_2n * c3.na_in / c3.naca.k_3n_i |
c3.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | c3.naca.do_2n * c3.na_ex / c3.naca.k_3n_o |
c3.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | c3.naca.do_1n * c3.na_ex / c3.naca.k_2n_o |
c3.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | c3.naca.di_1n * c3.na_in / c3.naca.k_2n_i |
c3.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | c3.ca_sub.substance.amount / (c3.naca.k_c_i * c3.v_sub) |
c3.vc.g.p.v | "V" | Potential at the pin | 0.0 |
c3.ca_sub.substance.amount | "mol" | amount of substance | c3.ca_sub.c_const * c3.ca_sub.vol |
c3.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | c3.na_in / c3.naca.k_1n_i |
c3.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | c3.ca_ex / c3.naca.k_c_o |
c3.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | c3.na_ex / c3.naca.k_1n_o |
c3.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c3.na_ex, c3.naca.k_3n_o) |
c3.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(c3.na_in, c3.naca.k_3n_i) |
d1.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | d1.naca.di_c * d1.na_in / d1.naca.k_cn_i |
d1.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | d1.naca.di_2n * d1.na_in / d1.naca.k_3n_i |
d1.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | d1.naca.do_2n * d1.na_ex / d1.naca.k_3n_o |
d1.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | d1.naca.do_1n * d1.na_ex / d1.naca.k_2n_o |
d1.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | d1.naca.di_1n * d1.na_in / d1.naca.k_2n_i |
d1.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | d1.ca_sub.substance.amount / (d1.naca.k_c_i * d1.v_sub) |
d1.vc.g.p.v | "V" | Potential at the pin | 0.0 |
d1.ca_sub.substance.amount | "mol" | amount of substance | d1.ca_sub.c_const * d1.ca_sub.vol |
d1.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | d1.na_in / d1.naca.k_1n_i |
d1.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | d1.ca_ex / d1.naca.k_c_o |
d1.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | d1.na_ex / d1.naca.k_1n_o |
d1.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d1.na_ex, d1.naca.k_3n_o) |
d1.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d1.na_in, d1.naca.k_3n_i) |
d2.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | d2.naca.di_c * d2.na_in / d2.naca.k_cn_i |
d2.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | d2.naca.di_2n * d2.na_in / d2.naca.k_3n_i |
d2.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | d2.naca.do_2n * d2.na_ex / d2.naca.k_3n_o |
d2.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | d2.naca.do_1n * d2.na_ex / d2.naca.k_2n_o |
d2.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | d2.naca.di_1n * d2.na_in / d2.naca.k_2n_i |
d2.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | d2.ca_sub.substance.amount / (d2.naca.k_c_i * d2.v_sub) |
d2.vc.g.p.v | "V" | Potential at the pin | 0.0 |
d2.ca_sub.substance.amount | "mol" | amount of substance | d2.ca_sub.c_const * d2.ca_sub.vol |
d2.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | d2.na_in / d2.naca.k_1n_i |
d2.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | d2.ca_ex / d2.naca.k_c_o |
d2.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | d2.na_ex / d2.naca.k_1n_o |
d2.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d2.na_ex, d2.naca.k_3n_o) |
d2.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d2.na_in, d2.naca.k_3n_i) |
d3.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | d3.naca.di_c * d3.na_in / d3.naca.k_cn_i |
d3.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | d3.naca.di_2n * d3.na_in / d3.naca.k_3n_i |
d3.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | d3.naca.do_2n * d3.na_ex / d3.naca.k_3n_o |
d3.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | d3.naca.do_1n * d3.na_ex / d3.naca.k_2n_o |
d3.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | d3.naca.di_1n * d3.na_in / d3.naca.k_2n_i |
d3.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | d3.ca_sub.substance.amount / (d3.naca.k_c_i * d3.v_sub) |
d3.vc.g.p.v | "V" | Potential at the pin | 0.0 |
d3.ca_sub.substance.amount | "mol" | amount of substance | d3.ca_sub.c_const * d3.ca_sub.vol |
d3.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | d3.na_in / d3.naca.k_1n_i |
d3.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | d3.ca_ex / d3.naca.k_c_o |
d3.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | d3.na_ex / d3.naca.k_1n_o |
d3.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d3.na_ex, d3.naca.k_3n_o) |
d3.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(d3.na_in, d3.naca.k_3n_i) |
a1.v_sub | "m3" | 1.0 | |
a1.naca.trans.n | "1" | stoichiometric ratio of ion transport | a1.naca.n_ca |
a1.naca.trans.z | valence of ion | 2 | |
a1.naca.con.c_const | "mol/m3" | fixed concentration | a1.ca_ex |
a1.naca.con.vol | "m3" | volume of the compartment | 1.0 |
a1.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
a1.naca.current_name | "I_NaCa" | ||
a1.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
a1.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
a1.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
a1.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
a1.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
a1.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
a1.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
a1.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
a1.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
a1.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
a1.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
a1.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
a1.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 9.5e-10 |
a1.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / a1.temp | |
a1.temp | "K" | cell medium temperature | 288.15 |
a1.l2.c | "F" | membrane capacitance | 4e-11 |
a1.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
a1.l2.use_init | determines whether initial value for v is used | false | |
a1.na_in | "mol/m3" | intracellular sodium concentration | 25.0 |
a1.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 |
a1.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 |
a1.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0 |
a1.ca_sub.vol | "m3" | volume of the compartment | a1.v_sub |
a1.v_start | "V" | starting voltage | -0.14 |
a2.v_sub | "m3" | 1.0 | |
a2.naca.trans.n | "1" | stoichiometric ratio of ion transport | a2.naca.n_ca |
a2.naca.trans.z | valence of ion | 2 | |
a2.naca.con.c_const | "mol/m3" | fixed concentration | a2.ca_ex |
a2.naca.con.vol | "m3" | volume of the compartment | 1.0 |
a2.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
a2.naca.current_name | "I_NaCa" | ||
a2.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
a2.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
a2.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
a2.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
a2.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
a2.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
a2.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
a2.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
a2.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
a2.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
a2.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
a2.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
a2.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 9.5e-10 |
a2.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / a2.temp | |
a2.temp | "K" | cell medium temperature | 288.15 |
a2.l2.c | "F" | membrane capacitance | 4e-11 |
a2.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
a2.l2.use_init | determines whether initial value for v is used | false | |
a2.na_in | "mol/m3" | intracellular sodium concentration | 25.0 |
a2.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 |
a2.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 |
a2.ca_sub.c_const | "mol/m3" | fixed concentration | 0.016 |
a2.ca_sub.vol | "m3" | volume of the compartment | a2.v_sub |
a2.v_start | "V" | starting voltage | -0.14 |
a3.v_sub | "m3" | 1.0 | |
a3.naca.trans.n | "1" | stoichiometric ratio of ion transport | a3.naca.n_ca |
a3.naca.trans.z | valence of ion | 2 | |
a3.naca.con.c_const | "mol/m3" | fixed concentration | a3.ca_ex |
a3.naca.con.vol | "m3" | volume of the compartment | 1.0 |
a3.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
a3.naca.current_name | "I_NaCa" | ||
a3.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
a3.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
a3.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
a3.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
a3.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
a3.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
a3.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
a3.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
a3.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
a3.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
a3.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
a3.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
a3.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 9.5e-10 |
a3.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / a3.temp | |
a3.temp | "K" | cell medium temperature | 288.15 |
a3.l2.c | "F" | membrane capacitance | 4e-11 |
a3.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
a3.l2.use_init | determines whether initial value for v is used | false | |
a3.na_in | "mol/m3" | intracellular sodium concentration | 25.0 |
a3.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 |
a3.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 |
a3.ca_sub.c_const | "mol/m3" | fixed concentration | 0.234 |
a3.ca_sub.vol | "m3" | volume of the compartment | a3.v_sub |
a3.v_start | "V" | starting voltage | -0.14 |
b1.v_sub | "m3" | 1.0 | |
b1.naca.trans.n | "1" | stoichiometric ratio of ion transport | b1.naca.n_ca |
b1.naca.trans.z | valence of ion | 2 | |
b1.naca.con.c_const | "mol/m3" | fixed concentration | b1.ca_ex |
b1.naca.con.vol | "m3" | volume of the compartment | 1.0 |
b1.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
b1.naca.current_name | "I_NaCa" | ||
b1.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
b1.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
b1.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
b1.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
b1.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
b1.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
b1.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
b1.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
b1.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
b1.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
b1.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
b1.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
b1.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.5e-10 |
b1.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / b1.temp | |
b1.temp | "K" | cell medium temperature | 288.15 |
b1.l2.c | "F" | membrane capacitance | 4e-11 |
b1.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
b1.l2.use_init | determines whether initial value for v is used | false | |
b1.na_in | "mol/m3" | intracellular sodium concentration | 100.0 |
b1.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 |
b1.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 |
b1.ca_sub.c_const | "mol/m3" | fixed concentration | 0.0 |
b1.ca_sub.vol | "m3" | volume of the compartment | b1.v_sub |
b1.v_start | "V" | starting voltage | -0.14 |
b2.v_sub | "m3" | 1.0 | |
b2.naca.trans.n | "1" | stoichiometric ratio of ion transport | b2.naca.n_ca |
b2.naca.trans.z | valence of ion | 2 | |
b2.naca.con.c_const | "mol/m3" | fixed concentration | b2.ca_ex |
b2.naca.con.vol | "m3" | volume of the compartment | 1.0 |
b2.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
b2.naca.current_name | "I_NaCa" | ||
b2.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
b2.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
b2.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
b2.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
b2.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
b2.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
b2.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
b2.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
b2.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
b2.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
b2.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
b2.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
b2.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.5e-10 |
b2.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / b2.temp | |
b2.temp | "K" | cell medium temperature | 288.15 |
b2.l2.c | "F" | membrane capacitance | 4e-11 |
b2.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
b2.l2.use_init | determines whether initial value for v is used | false | |
b2.na_in | "mol/m3" | intracellular sodium concentration | 100.0 |
b2.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 |
b2.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 |
b2.ca_sub.c_const | "mol/m3" | fixed concentration | 0.064 |
b2.ca_sub.vol | "m3" | volume of the compartment | b2.v_sub |
b2.v_start | "V" | starting voltage | -0.14 |
b3.v_sub | "m3" | 1.0 | |
b3.naca.trans.n | "1" | stoichiometric ratio of ion transport | b3.naca.n_ca |
b3.naca.trans.z | valence of ion | 2 | |
b3.naca.con.c_const | "mol/m3" | fixed concentration | b3.ca_ex |
b3.naca.con.vol | "m3" | volume of the compartment | 1.0 |
b3.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
b3.naca.current_name | "I_NaCa" | ||
b3.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
b3.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
b3.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
b3.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
b3.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
b3.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
b3.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
b3.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
b3.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
b3.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
b3.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
b3.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
b3.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.5e-10 |
b3.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / b3.temp | |
b3.temp | "K" | cell medium temperature | 288.15 |
b3.l2.c | "F" | membrane capacitance | 4e-11 |
b3.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
b3.l2.use_init | determines whether initial value for v is used | false | |
b3.na_in | "mol/m3" | intracellular sodium concentration | 100.0 |
b3.na_ex | "mol/m3" | extracellular sodium concentration | 0.0 |
b3.ca_ex | "mol/m3" | extracellular calcium concentration | 8.0 |
b3.ca_sub.c_const | "mol/m3" | fixed concentration | 1.08 |
b3.ca_sub.vol | "m3" | volume of the compartment | b3.v_sub |
b3.v_start | "V" | starting voltage | -0.14 |
c1.v_sub | "m3" | 1.0 | |
c1.naca.trans.n | "1" | stoichiometric ratio of ion transport | c1.naca.n_ca |
c1.naca.trans.z | valence of ion | 2 | |
c1.naca.con.c_const | "mol/m3" | fixed concentration | c1.ca_ex |
c1.naca.con.vol | "m3" | volume of the compartment | 1.0 |
c1.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
c1.naca.current_name | "I_NaCa" | ||
c1.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
c1.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
c1.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
c1.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
c1.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
c1.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
c1.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
c1.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
c1.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
c1.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
c1.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
c1.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
c1.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 3.6e-10 |
c1.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / c1.temp | |
c1.temp | "K" | cell medium temperature | 288.15 |
c1.l2.c | "F" | membrane capacitance | 4e-11 |
c1.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
c1.l2.use_init | determines whether initial value for v is used | false | |
c1.na_in | "mol/m3" | intracellular sodium concentration | 0.0 |
c1.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 |
c1.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 |
c1.ca_sub.c_const | "mol/m3" | fixed concentration | 0.003 |
c1.ca_sub.vol | "m3" | volume of the compartment | c1.v_sub |
c1.v_start | "V" | starting voltage | -0.14 |
c2.v_sub | "m3" | 1.0 | |
c2.naca.trans.n | "1" | stoichiometric ratio of ion transport | c2.naca.n_ca |
c2.naca.trans.z | valence of ion | 2 | |
c2.naca.con.c_const | "mol/m3" | fixed concentration | c2.ca_ex |
c2.naca.con.vol | "m3" | volume of the compartment | 1.0 |
c2.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
c2.naca.current_name | "I_NaCa" | ||
c2.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
c2.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
c2.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
c2.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
c2.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
c2.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
c2.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
c2.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
c2.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
c2.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
c2.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
c2.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
c2.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 3.6e-10 |
c2.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / c2.temp | |
c2.temp | "K" | cell medium temperature | 288.15 |
c2.l2.c | "F" | membrane capacitance | 4e-11 |
c2.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
c2.l2.use_init | determines whether initial value for v is used | false | |
c2.na_in | "mol/m3" | intracellular sodium concentration | 25.0 |
c2.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 |
c2.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 |
c2.ca_sub.c_const | "mol/m3" | fixed concentration | 0.003 |
c2.ca_sub.vol | "m3" | volume of the compartment | c2.v_sub |
c2.v_start | "V" | starting voltage | -0.14 |
c3.v_sub | "m3" | 1.0 | |
c3.naca.trans.n | "1" | stoichiometric ratio of ion transport | c3.naca.n_ca |
c3.naca.trans.z | valence of ion | 2 | |
c3.naca.con.c_const | "mol/m3" | fixed concentration | c3.ca_ex |
c3.naca.con.vol | "m3" | volume of the compartment | 1.0 |
c3.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
c3.naca.current_name | "I_NaCa" | ||
c3.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
c3.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
c3.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
c3.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
c3.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
c3.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
c3.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
c3.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
c3.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
c3.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
c3.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
c3.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
c3.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 3.6e-10 |
c3.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / c3.temp | |
c3.temp | "K" | cell medium temperature | 288.15 |
c3.l2.c | "F" | membrane capacitance | 4e-11 |
c3.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
c3.l2.use_init | determines whether initial value for v is used | false | |
c3.na_in | "mol/m3" | intracellular sodium concentration | 50.0 |
c3.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 |
c3.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 |
c3.ca_sub.c_const | "mol/m3" | fixed concentration | 0.003 |
c3.ca_sub.vol | "m3" | volume of the compartment | c3.v_sub |
c3.v_start | "V" | starting voltage | -0.14 |
d1.v_sub | "m3" | 1.0 | |
d1.naca.trans.n | "1" | stoichiometric ratio of ion transport | d1.naca.n_ca |
d1.naca.trans.z | valence of ion | 2 | |
d1.naca.con.c_const | "mol/m3" | fixed concentration | d1.ca_ex |
d1.naca.con.vol | "m3" | volume of the compartment | 1.0 |
d1.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
d1.naca.current_name | "I_NaCa" | ||
d1.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
d1.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
d1.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
d1.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
d1.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
d1.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
d1.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
d1.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
d1.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
d1.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
d1.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
d1.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
d1.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.6e-10 |
d1.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / d1.temp | |
d1.temp | "K" | cell medium temperature | 288.15 |
d1.l2.c | "F" | membrane capacitance | 4e-11 |
d1.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
d1.l2.use_init | determines whether initial value for v is used | false | |
d1.na_in | "mol/m3" | intracellular sodium concentration | 0.0 |
d1.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 |
d1.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 |
d1.ca_sub.c_const | "mol/m3" | fixed concentration | 1.08 |
d1.ca_sub.vol | "m3" | volume of the compartment | d1.v_sub |
d1.v_start | "V" | starting voltage | -0.14 |
d2.v_sub | "m3" | 1.0 | |
d2.naca.trans.n | "1" | stoichiometric ratio of ion transport | d2.naca.n_ca |
d2.naca.trans.z | valence of ion | 2 | |
d2.naca.con.c_const | "mol/m3" | fixed concentration | d2.ca_ex |
d2.naca.con.vol | "m3" | volume of the compartment | 1.0 |
d2.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
d2.naca.current_name | "I_NaCa" | ||
d2.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
d2.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
d2.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
d2.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
d2.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
d2.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
d2.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
d2.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
d2.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
d2.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
d2.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
d2.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
d2.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.6e-10 |
d2.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / d2.temp | |
d2.temp | "K" | cell medium temperature | 288.15 |
d2.l2.c | "F" | membrane capacitance | 4e-11 |
d2.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
d2.l2.use_init | determines whether initial value for v is used | false | |
d2.na_in | "mol/m3" | intracellular sodium concentration | 25.0 |
d2.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 |
d2.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 |
d2.ca_sub.c_const | "mol/m3" | fixed concentration | 1.08 |
d2.ca_sub.vol | "m3" | volume of the compartment | d2.v_sub |
d2.v_start | "V" | starting voltage | -0.14 |
d3.v_sub | "m3" | 1.0 | |
d3.naca.trans.n | "1" | stoichiometric ratio of ion transport | d3.naca.n_ca |
d3.naca.trans.z | valence of ion | 2 | |
d3.naca.con.c_const | "mol/m3" | fixed concentration | d3.ca_ex |
d3.naca.con.vol | "m3" | volume of the compartment | 1.0 |
d3.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
d3.naca.current_name | "I_NaCa" | ||
d3.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
d3.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
d3.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
d3.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
d3.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
d3.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
d3.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
d3.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
d3.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
d3.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
d3.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
d3.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
d3.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.6e-10 |
d3.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / d3.temp | |
d3.temp | "K" | cell medium temperature | 288.15 |
d3.l2.c | "F" | membrane capacitance | 4e-11 |
d3.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
d3.l2.use_init | determines whether initial value for v is used | false | |
d3.na_in | "mol/m3" | intracellular sodium concentration | 100.0 |
d3.na_ex | "mol/m3" | extracellular sodium concentration | 150.0 |
d3.ca_ex | "mol/m3" | extracellular calcium concentration | 0.0 |
d3.ca_sub.c_const | "mol/m3" | fixed concentration | 1.08 |
d3.ca_sub.vol | "m3" | volume of the compartment | d3.v_sub |
d3.v_start | "V" | starting voltage | -0.14 |
InaMo.Examples.ComponentTests.SodiumCalciumExchangerRamp
This example constitutes the base setup for the voltage ramp experiment performed by Convery 2000 whose data is used by Inada 2009 for Figure S6. This model has to be simulated twice with different parameters for the AN and NH cell model and for the N cell model. This is done in SodiumCalciumExchangerRampInada.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow to see the whole 300 ms ramp in the plot
- Tolerance: left at default value because derivatives are not relevant
- Interval: enough for a smooth plot
- t_ramp_start: according to Figure 4D of Convery 2000
- ramp_duration: according to Convery 2000, p. 379
- ramp_start: according to Convery 2000, p. 397
- ramp_end: according to Convery 2000, p. 397
- v_hold: according to Figure 4D of Convery 2000
model SodiumCalciumExchangerRamp "I_NaCa during voltage clamp ramp, simulation setup from Convery 2000 for Figure S6 of Inada 2009"
extends Modelica.Icons.Example;
extends InaMo.Concentrations.Interfaces.CaConst;
InaMo.Currents.Atrioventricular.SodiumCalciumExchanger naca "I_NaCa" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Membrane.LipidBilayer l2(c = 40e-12, use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
inner parameter SI.Temperature temp = 310 "cell medium temperature";
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
inner parameter SI.Concentration na_in = 8 "intracellular sodium concentration";
inner parameter SI.Concentration na_ex = 140 "extracellular sodium concentration";
inner parameter SI.Concentration ca_ex = 2 "extracellular calcium concentration";
InaMo.Concentrations.Basic.ConstantConcentration ca_sub(c_const = 0.1e-3, vol = v_sub) "Ca2+ in \"fuzzy\" subspace" annotation(
Placement(transformation(extent = {{-51, -80}, {-17, -46}})));
parameter SI.Time t_ramp_start = 50e-3 "time at which ramp starts";
parameter SI.Duration ramp_duration = 250e-3 "duration of ramp";
parameter SI.Voltage ramp_start = 60e-3 "voltage at start of ramp";
parameter SI.Voltage ramp_end = -80e-3 "voltage at end of ramp";
parameter SI.Voltage v_hold = -40e-3 "holding potential outside of ramp";
Boolean ramp = time > t_ramp_start and time < t_ramp_start + ramp_duration "true during ramp";
protected
parameter Real ramp_rate = (ramp_end - ramp_start) / ramp_duration "steepness of ramp";
equation
if ramp then
vc.v_stim = (time - t_ramp_start) * ramp_rate + ramp_start;
else
vc.v_stim = v_hold;
end if;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, naca.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, naca.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
connect(ca_sub.substance, naca.ca) annotation(
Line(points = {{-34, -80}, {-14, -80}, {-14, -30}, {-28, -30}, {-28, -16}, {-28, -16}}));
annotation(
experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-6, Interval = 1e-3),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
Documentation(info = "
<html>
<p>This example constitutes the base setup for the voltage ramp
experiment performed by Convery 2000 whose data is used by Inada 2009
for Figure S6. This model has to be simulated twice with different
parameters for the AN and NH cell model and for the N cell model.
This is done in SodiumCalciumExchangerRampInada.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow to see the whole 300 ms ramp in the plot</li>
<li>Tolerance: left at default value because derivatives are not
relevant</li>
<li>Interval: enough for a smooth plot</li>
<li>t_ramp_start: according to Figure 4D of Convery 2000</li>
<li>ramp_duration: according to Convery 2000, p. 379</li>
<li>ramp_start: according to Convery 2000, p. 397</li>
<li>ramp_end: according to Convery 2000, p. 397</li>
<li>v_hold: according to Figure 4D of Convery 2000</li>
</ul>
</html>
"));
end SodiumCalciumExchangerRamp;
- Within group naca (prefix _ indicates shortened variable name)
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
name | unit | label | value |
---|---|---|---|
ramp | true during ramp | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
naca.x4 | "1" | relative frequancy of E4 states | |
naca.x3 | "1" | relative frequency of E3 states | |
naca.x2 | "1" | relative frequency of E2 states | |
naca.x1 | "1" | relative frequency of E1 states | |
naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
naca.i_ion | "A" | current used for TransmembraneCaFlow | |
naca.trans.rate | "mol/s" | rate of change in substance amount | |
naca.con.substance.amount | "mol" | amount of substance | naca.con.c_const * naca.con.vol |
naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | naca.di_c * na_in / naca.k_cn_i |
naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | naca.di_2n * na_in / naca.k_3n_i |
naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | naca.do_2n * na_ex / naca.k_3n_o |
naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | naca.do_1n * na_ex / naca.k_2n_o |
naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | naca.di_1n * na_in / naca.k_2n_i |
naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | ca_sub.substance.amount / (naca.k_c_i * v_sub) |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
ca_sub.substance.amount | "mol" | amount of substance | ca_sub.c_const * ca_sub.vol |
naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | na_in / naca.k_1n_i |
naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | ca_ex / naca.k_c_o |
naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | na_ex / naca.k_1n_o |
naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_ex, naca.k_3n_o) |
naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(na_in, naca.k_3n_i) |
v_sub | "m3" | 1.0 | |
naca.trans.n | "1" | stoichiometric ratio of ion transport | naca.n_ca |
naca.trans.z | valence of ion | 2 | |
naca.con.c_const | "mol/m3" | fixed concentration | ca_ex |
naca.con.vol | "m3" | volume of the compartment | 1.0 |
naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
naca.current_name | "I_NaCa" | ||
naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 |
naca.FoRT | helper variable to simplify equations | 11604.52214706721 / temp | |
l2.c | "F" | membrane capacitance | 4e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
temp | "K" | cell medium temperature | 288.15 |
na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
ca_ex | "mol/m3" | extracellular calcium concentration | 2.0 |
ca_sub.c_const | "mol/m3" | fixed concentration | 0.0001 |
ca_sub.vol | "m3" | volume of the compartment | v_sub |
t_ramp_start | "s" | time at which ramp starts | 0.05 |
ramp_duration | "s" | duration of ramp | 0.25 |
ramp_start | "V" | voltage at start of ramp | 0.06 |
ramp_end | "V" | voltage at end of ramp | -0.08 |
v_hold | "V" | holding potential outside of ramp | -0.04 |
ramp_rate | "km2.s-4.A-1.g" | steepness of ramp | (ramp_end - ramp_start) / ramp_duration |
InaMo.Examples.ComponentTests.SodiumCalciumExchangerRampInada
To recreate Figure S6A of Inada 2009, plot an_nh.naca.i / an_nh.l2.C against an_nh.vc.v and n.naca.i / n.l2.C against n.vc.v.
To recreate Figure S6B of Inada 2009, plot an_nh.naca.i against an_nh.vc.v and n.naca.i against n.vc.v, choosing only the data from 50 ms <= t < 300 ms.
This example is based on InaMo.Examples.SodiumCalciumExchangerRamp. For details of the experiment setup see this base model.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow to see the whole 300 ms ramp in the plot
- Tolerance: left at default value because derivatives are not relevant
- Interval: enough for a smooth plot
- BaseExample.sodium.c_in: according to Table S15 of Inada 2009
- BaseExample.sodium.c_ex: according to Table S15 of Inada 2009
- BaseExample.calcium.c_ex: according to Convery 2000, p. 394 (Tyrode's solution)
- BaseExample.ca_sub.c_const: found by manually changing value until plot matched Figure S6B of Inada 2009
NOTE: Inada et al. do not state whether calcium concentration was held constant for the experiment and if so, which value was assumed for [Ca2+]_sub. Since they used Data from Convery 2000 in Figure S6, we assume that the calcium and sodium concentrations should be similar to those used in this experiment ([Na+]_i = 10 mM, [Na+]_o = 140 mM, [Ca2+]_o = 2.5 mM). However, Convery 2000 do not give a value for [Ca2+]_sub and both using all values from Table S15 of Inada 2009 and using all values from Convery 2000 does not reproduce the absolute values observed in Figure S6. We therefore used a mix of settings from both sources and manually changed [Ca2+]_sub until a good fit with the plot was achieved. The remaining differences disappear when the current densities are multiplied by a factor of 1.18.
model SodiumCalciumExchangerRampInada "IV relationship of I_NaCa, recreates Figure S6 from Inada 2009"
extends Modelica.Icons.Example;
model BaseExample = SodiumCalciumExchangerRamp(na_in = 8, na_ex = 140, ca_ex = 2.5, ca_sub(c_const = 0.15e-3), temp = 310);
BaseExample an_nh(naca(k_NaCa = 5.92e-9), l2(c = 40e-12));
BaseExample n(naca(k_NaCa = 2.14e-9), l2(c = 29e-12));
//FIXME variableFilter behaves weird (also catches some F1_ variables)
annotation(
experiment(StartTime = 0, StopTime = 0.5, Tolerance = 1e-6, Interval = 1e-3),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "(n|an_nh)\\.(vc\\.v|naca\\.(i|e[1-4]|k_[1-4][1-4]))"),
Documentation(info = "
<html>
<p>To recreate Figure S6A of Inada 2009, plot an_nh.naca.i / an_nh.l2.C
against an_nh.vc.v and n.naca.i / n.l2.C against n.vc.v.</p>
<p>To recreate Figure S6B of Inada 2009, plot an_nh.naca.i against
an_nh.vc.v and n.naca.i against n.vc.v, choosing only the data from
50 ms <= t < 300 ms.</p>
<p>This example is based on InaMo.Examples.SodiumCalciumExchangerRamp.
For details of the experiment setup see this base model.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow to see the whole 300 ms ramp in the plot</li>
<li>Tolerance: left at default value because derivatives are not
relevant</li>
<li>Interval: enough for a smooth plot</li>
<li>BaseExample.sodium.c_in: according to Table S15 of Inada 2009</li>
<li>BaseExample.sodium.c_ex: according to Table S15 of Inada 2009</li>
<li>BaseExample.calcium.c_ex: according to Convery 2000, p. 394
(Tyrode's solution)</li>
<li>BaseExample.ca_sub.c_const: found by manually changing value until
plot matched Figure S6B of Inada 2009</li>
</ul>
<p>NOTE: Inada et al. do not state whether calcium concentration was held
constant for the experiment and if so, which value was assumed for
[Ca2+]_sub. Since they used Data from Convery 2000 in Figure S6, we
assume that the calcium and sodium concentrations should be similar to
those used in this experiment ([Na+]_i = 10 mM, [Na+]_o = 140 mM,
[Ca2+]_o = 2.5 mM). However, Convery 2000 do not give a value for
[Ca2+]_sub and both using all values from Table S15 of Inada 2009 and
using all values from Convery 2000 does not reproduce the absolute values
observed in Figure S6. We therefore used a mix of settings from both
sources and manually changed [Ca2+]_sub until a good fit with the plot
was achieved.
The remaining differences disappear when the current densities are
multiplied by a factor of 1.18.</p>
</html>
"));
end SodiumCalciumExchangerRampInada;
- Within group an_nh (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
- Within group n (prefix _ indicates shortened variable name)
- Within group naca (prefix _ indicates shortened variable name)
Functions:
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
name | unit | label | value |
---|---|---|---|
an_nh.ramp | true during ramp | ||
an_nh.vc.i | "A" | measured membrane current | |
an_nh.vc.g.p.i | "A" | Current flowing into the pin | |
an_nh.vc.n.i | "A" | Current flowing into the pin | |
an_nh.l2.i | "A" | Current flowing from pin p to pin n | |
an_nh.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
an_nh.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
an_nh.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
an_nh.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
an_nh.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
an_nh.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
an_nh.naca.x4 | "1" | relative frequancy of E4 states | |
an_nh.naca.x3 | "1" | relative frequency of E3 states | |
an_nh.naca.x2 | "1" | relative frequency of E2 states | |
an_nh.naca.x1 | "1" | relative frequency of E1 states | |
an_nh.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
an_nh.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
an_nh.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
an_nh.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
an_nh.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
an_nh.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
an_nh.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
an_nh.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
an_nh.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
an_nh.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
an_nh.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
an_nh.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
an_nh.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
an_nh.naca.trans.rate | "mol/s" | rate of change in substance amount | |
n.ramp | true during ramp | ||
n.vc.i | "A" | measured membrane current | |
n.vc.g.p.i | "A" | Current flowing into the pin | |
n.vc.n.i | "A" | Current flowing into the pin | |
n.l2.i | "A" | Current flowing from pin p to pin n | |
n.l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
n.naca.e4 | "1" | ratio of exchanger molecules in state e4 | |
n.naca.e3 | "1" | ratio of exchanger molecules in state e3 | |
n.naca.e2 | "1" | ratio of exchanger molecules in state e2 | |
n.naca.e1 | "1" | ratio of exchanger molecules in state e1 | |
n.naca.d | "1" | common denominator to turn relative frequencies into actual ratios between 0 and 1 | |
n.naca.x4 | "1" | relative frequancy of E4 states | |
n.naca.x3 | "1" | relative frequency of E3 states | |
n.naca.x2 | "1" | relative frequency of E2 states | |
n.naca.x1 | "1" | relative frequency of E1 states | |
n.naca.k_14 | "1" | rate constant for transition from E1 to E4 | |
n.naca.k_41 | "1" | rate constant for transition from E4 to E1 | |
n.naca.k_32 | "1" | rate constant for transition from E3 to E2 | |
n.naca.k_23 | "1" | rate constant for transition from E2 to E3 | |
n.naca.k_21 | "1" | rate constant for transition from E2 to E1 | |
n.naca.k_12 | "1" | rate constant for transition from E1 to E2 | |
n.naca.f1_2n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | |
n.naca.f1_2n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | |
n.naca.do | "1" | common denominator summing relative frequencies for all E2 substates | |
n.naca.do_cv | "1" | relative frequency of E2 states that are occupied by Ca2+ and occluded | |
n.naca.di | "1" | common denominator summing relative frequencies for all E1 substates | |
n.naca.di_cv | "1" | relative frequency of E1 states that are occupied by Ca2+ and occluded | |
n.naca.i_ion | "A" | current used for TransmembraneCaFlow | |
n.naca.trans.rate | "mol/s" | rate of change in substance amount | |
an_nh.naca.con.substance.amount | "mol" | amount of substance | an_nh.naca.con.c_const * an_nh.naca.con.vol |
n.naca.con.substance.amount | "mol" | amount of substance | n.naca.con.c_const * n.naca.con.vol |
an_nh.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | an_nh.naca.di_c * an_nh.na_in / an_nh.naca.k_cn_i |
an_nh.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | an_nh.naca.di_2n * an_nh.na_in / an_nh.naca.k_3n_i |
an_nh.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | an_nh.naca.do_2n * an_nh.na_ex / an_nh.naca.k_3n_o |
an_nh.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | an_nh.naca.do_1n * an_nh.na_ex / an_nh.naca.k_2n_o |
an_nh.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | an_nh.naca.di_1n * an_nh.na_in / an_nh.naca.k_2n_i |
an_nh.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | an_nh.ca_sub.substance.amount / (an_nh.naca.k_c_i * an_nh.v_sub) |
an_nh.vc.g.p.v | "V" | Potential at the pin | 0.0 |
an_nh.ca_sub.substance.amount | "mol" | amount of substance | an_nh.ca_sub.c_const * an_nh.ca_sub.vol |
an_nh.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | an_nh.na_in / an_nh.naca.k_1n_i |
an_nh.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | an_nh.ca_ex / an_nh.naca.k_c_o |
an_nh.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | an_nh.na_ex / an_nh.naca.k_1n_o |
an_nh.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an_nh.na_ex, an_nh.naca.k_3n_o) |
an_nh.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(an_nh.na_in, an_nh.naca.k_3n_i) |
n.naca.di_cn | "1" | relative frequency of E1 states whose first two binding sites are occupied by Ca2+ and whose last binding site is occupied by Na+ | n.naca.di_c * n.na_in / n.naca.k_cn_i |
n.naca.di_3n | "1" | relative frequency of E1 states where exactly three Na+ sites are occupied by Na+ | n.naca.di_2n * n.na_in / n.naca.k_3n_i |
n.naca.do_3n | "1" | relative frequency of E2 states where exactly three Na+ sites are occupied by Na+ | n.naca.do_2n * n.na_ex / n.naca.k_3n_o |
n.naca.do_2n | "1" | relative frequency of E2 states where exactly the first two Na+ sites are occupied by Na+ | n.naca.do_1n * n.na_ex / n.naca.k_2n_o |
n.naca.di_2n | "1" | relative frequency of E1 states where exactly the first two Na+ sites are occupied by Na+ | n.naca.di_1n * n.na_in / n.naca.k_2n_i |
n.naca.di_c | "1" | relative frequency of E1 states that are occupied by Ca2+ and not occluded | n.ca_sub.substance.amount / (n.naca.k_c_i * n.v_sub) |
n.vc.g.p.v | "V" | Potential at the pin | 0.0 |
n.ca_sub.substance.amount | "mol" | amount of substance | n.ca_sub.c_const * n.ca_sub.vol |
n.naca.di_1n | "1" | relative frequency of E1 states where only the first Na+ site is occupied by Na+ | n.na_in / n.naca.k_1n_i |
n.naca.do_c | "1" | relative frequency of E2 states that are occupied by Ca2+ and not occluded | n.ca_ex / n.naca.k_c_o |
n.naca.do_1n | "1" | relative frequency of E2 states where only the first Na+ site is occupied by Na+ | n.na_ex / n.naca.k_1n_o |
n.naca.f1_3n_o | "1" | fraction of E2 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.na_ex, n.naca.k_3n_o) |
n.naca.f1_3n_i | "1" | fraction of E1 states whose first two Na+ sites are occupied by Na+ | InaMo.Functions.Biochemical.michaelisMenten(n.na_in, n.naca.k_3n_i) |
an_nh.v_sub | "m3" | 1.0 | |
an_nh.naca.trans.n | "1" | stoichiometric ratio of ion transport | an_nh.naca.n_ca |
an_nh.naca.trans.z | valence of ion | 2 | |
an_nh.naca.con.c_const | "mol/m3" | fixed concentration | an_nh.ca_ex |
an_nh.naca.con.vol | "m3" | volume of the compartment | 1.0 |
an_nh.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
an_nh.naca.current_name | "I_NaCa" | ||
an_nh.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
an_nh.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
an_nh.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
an_nh.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
an_nh.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
an_nh.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
an_nh.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
an_nh.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
an_nh.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
an_nh.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
an_nh.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
an_nh.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
an_nh.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 5.92e-09 |
an_nh.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / an_nh.temp | |
an_nh.l2.c | "F" | membrane capacitance | 4e-11 |
an_nh.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
an_nh.l2.use_init | determines whether initial value for v is used | false | |
an_nh.temp | "K" | cell medium temperature | 288.15 |
an_nh.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
an_nh.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
an_nh.ca_ex | "mol/m3" | extracellular calcium concentration | 2.5 |
an_nh.ca_sub.c_const | "mol/m3" | fixed concentration | 0.00015 |
an_nh.ca_sub.vol | "m3" | volume of the compartment | an_nh.v_sub |
an_nh.t_ramp_start | "s" | time at which ramp starts | 0.05 |
an_nh.ramp_duration | "s" | duration of ramp | 0.25 |
an_nh.ramp_start | "V" | voltage at start of ramp | 0.06 |
an_nh.ramp_end | "V" | voltage at end of ramp | -0.08 |
an_nh.v_hold | "V" | holding potential outside of ramp | -0.04 |
an_nh.ramp_rate | "km2.s-4.A-1.g" | steepness of ramp | (an_nh.ramp_end - an_nh.ramp_start) / an_nh.ramp_duration |
n.v_sub | "m3" | 1.0 | |
n.naca.trans.n | "1" | stoichiometric ratio of ion transport | n.naca.n_ca |
n.naca.trans.z | valence of ion | 2 | |
n.naca.con.c_const | "mol/m3" | fixed concentration | n.ca_ex |
n.naca.con.vol | "m3" | volume of the compartment | 1.0 |
n.naca.n_ca | "1" | stoichiometric ratio of transport | -2.0 |
n.naca.current_name | "I_NaCa" | ||
n.naca.k_c_i | "mol/m3" | dissociation constant for channel with Ca++ bound on inside | 0.0207 |
n.naca.k_cn_i | "mol/m3" | dissociation constant for channel with Ca++ and one Na+ bound on inside | 26.44 |
n.naca.k_1n_i | "mol/m3" | dissociation constant for channel with one Na+ bound on inside | 395.3 |
n.naca.k_2n_i | "mol/m3" | dissociation constant for channel with two Na+ bound on inside | 2.289 |
n.naca.k_3n_i | "mol/m3" | dissociation constant for channel with three Na+ bound on inside | 26.44 |
n.naca.k_c_o | "mol/m3" | dissociation constant for channel with Ca++ bound on outside | 3.663 |
n.naca.k_1n_o | "mol/m3" | dissociation constant for channel with one Na+ bound on outside | 1628.0 |
n.naca.k_2n_o | "mol/m3" | dissociation constant for channel with two Na+ bound on outside | 561.4 |
n.naca.k_3n_o | "mol/m3" | dissociation constant for channel with three Na+ bound on outside | 4.663 |
n.naca.q_ci | fractional charge movement during intracellular Ca++ occlusion reaction | 0.1369 | |
n.naca.q_co | fractional charge movement during extracellular Ca++ occlusion reaction | 0.0 | |
n.naca.q_n | fractional charge movement during Na+ occlusion reactions | 0.4315 | |
n.naca.k_NaCa | "A" | scaling factor for Na+/Ca++ exchanger current | 2.14e-09 |
n.naca.FoRT | helper variable to simplify equations | 11604.52214706721 / n.temp | |
n.l2.c | "F" | membrane capacitance | 2.9e-11 |
n.l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
n.l2.use_init | determines whether initial value for v is used | false | |
n.temp | "K" | cell medium temperature | 288.15 |
n.na_in | "mol/m3" | intracellular sodium concentration | 8.0 |
n.na_ex | "mol/m3" | extracellular sodium concentration | 140.0 |
n.ca_ex | "mol/m3" | extracellular calcium concentration | 2.5 |
n.ca_sub.c_const | "mol/m3" | fixed concentration | 0.00015 |
n.ca_sub.vol | "m3" | volume of the compartment | n.v_sub |
n.t_ramp_start | "s" | time at which ramp starts | 0.05 |
n.ramp_duration | "s" | duration of ramp | 0.25 |
n.ramp_start | "V" | voltage at start of ramp | 0.06 |
n.ramp_end | "V" | voltage at end of ramp | -0.08 |
n.v_hold | "V" | holding potential outside of ramp | -0.04 |
n.ramp_rate | "km2.s-4.A-1.g" | steepness of ramp | (n.ramp_end - n.ramp_start) / n.ramp_duration |
Tests for $I_{Na}$
InaMo.Examples.ComponentTests.SodiumChannelIV
To reproduce Figure 2B from Lindblad 1996, plot cd against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because cd captures the current density from the previous pulse.
Note that results will not be exact as Lindblad 1996 used the full model to generate the plots.
Simulation parameters are chosen with the following rationale:
- StopTime: allow a plot from -100 mV to 70 mV
Tolerance: default value
Interval: roughly show time course of current (Noble 1962 remarks that 0.1 ms is the smallest step size needed for RK4.)Other parameter settings can be found in Lindblad 1996 on the following pages:
- na_in: H1673 (Table 15, initial value)
- na_ex: H1674 (Fig. 2)
- na_p: H1672 (Table 14) + H1673 (top right) + Inada 2009 Supporting material, 27
- temp: H1674 (Fig 2.)
- l2.C: H1672 (Table 14)
- vc.v_hold: H1674 (Fig. 2)
- vc.d_hold: H1674 (Fig. 2) -> Wendt 1992, C1235 (bottom left)
- vc.d_pulse: H1674 (Fig. 2) -> Wendt 1992, C1235 (bottom left)
NOTE: na_p is the only parameter whose value is not directly taken from Lindblad 1996. Lindblad et al. use 1.4 nl while Inada et al. use 1.4 pl which gives currents in the order of nA instead of μa and therefore seems more reasonable (and is more in accordance with the plots of Lindblad et al.).
model SodiumChannelIV "IV relationship of I_Na, recreates Figure 2 B from Lindblad 1996"
extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.09, d_hold = 2, d_pulse = 0.05), v_start = -0.1);
extends Modelica.Icons.Example;
InaMo.Currents.Atrioventricular.SodiumChannel na "I_Na" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Membrane.LipidBilayer l2(use_init = false, c = 50e-12) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
inner parameter SI.Temperature temp = SI.Conversions.from_degC(35) "cell medium temperature";
// Note: uses Lindblad parameters instead of Inada parameters
// For Inada2009 we would use na_in = 8, na_ex = 140 and na_p = 1.4e-15 at 310K
// Note: pl/s -> m³/s by setting p *= 1e-15
inner parameter SI.Concentration na_in = 8.4 "intracellular sodium concentration";
inner parameter SI.Concentration na_ex = 75 "extracellular sodium concentration";
inner parameter PermeabilityFM na_p = 1.4e-15 * 1.5 "cell membrane permeability for Na+ ions";
discrete Real cd(unit = "A/F") "current density";
initial equation
cd = vc.is_peak / l2.c;
equation
when change(vc.is_peak) then
cd = vc.is_peak / l2.c;
end when;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, na.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, na.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 75.8, Tolerance = 1e-6, Interval = 1e-3),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "vc\\.(vs_peak|v|v_pulse)|cd"),
Documentation(info = "
<html>
<p>To reproduce Figure 2B from Lindblad 1996, plot cd against
vc.vs_peak.
It is necessary to use vc.vs_peak instead of vc.v_pulse, because cd
captures the current density from the <i>previous</i> pulse.</p>
<p>Note that results will not be exact as Lindblad 1996 used the full
model to generate the plots.</p>
<p>Simulation parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -100 mV to 70 mV</li>
<p>Tolerance: default value</p
<li>Interval: roughly show time course of current (Noble 1962 remarks
that 0.1 ms is the smallest step size needed for RK4.)</li>
</ul>
<p>Other parameter settings can be found in Lindblad 1996 on the
following pages:</p>
<ul>
<li>na_in: H1673 (Table 15, initial value)</li>
<li>na_ex: H1674 (Fig. 2)</li>
<li>na_p: H1672 (Table 14) + H1673 (top right) + Inada 2009 Supporting material, 27</li>
<li>temp: H1674 (Fig 2.)</li>
<li>l2.C: H1672 (Table 14)</li>
<li>vc.v_hold: H1674 (Fig. 2)</li>
<li>vc.d_hold: H1674 (Fig. 2) -> Wendt 1992, C1235 (bottom left)</li>
<li>vc.d_pulse: H1674 (Fig. 2) -> Wendt 1992, C1235 (bottom left)</li>
</ul>
<p>NOTE: na_p is the only parameter whose value is not directly taken
from Lindblad 1996. Lindblad et al. use 1.4 nl while Inada et al. use
1.4 pl which gives currents in the order of nA instead of μa and
therefore seems more reasonable (and is more in accordance with the
plots of Lindblad et al.).</p>
</html>
"));
end SodiumChannelIV;
- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function falpha
input Real x "input value";
input Real x0 = -0.0444 "offset for x (fitting parameter)";
input Real sy = 5829.58 "scaling factor for y (fitting parameter)";
input Real sx = -78.90791446382072 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end falpha;
function fsteady.fbeta
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1491.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0946 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 77.51937984496124 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 323.3 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady.fbeta;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function fsteady
input Real x "input value";
output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
y := act.fbeta(x, -0.0669, -1000.0 / 5.57, 44.9) / (act.fbeta(x, -0.0669, -1000.0 / 5.57, 44.9) + fsteady.fbeta(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end fsteady;
function absmax "returns input whose absolute value is larger, preserving the sign"
input Real a "first input";
input Real b "second input";
output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
m := if abs(a) > abs(b) then a else b;
end absmax;
function ghkFlux "ghk flux equation for a single ion"
input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
input Integer ion_z "ion valence";
output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
protected Real g_max(quantity = "Conductance", unit = "S");
protected Real v_eq(quantity = "ElectricPotential", unit = "V");
protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
v_eq := nernst(ion_in, ion_ex, ion_z, temp);
if abs(v) < 1e-06 then
i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
else
i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
end if;
end ghkFlux;
function act.fbeta
input Real x "input value";
input Real x0 = -0.0444 "x-value where y = 1 (fitting parameter)";
input Real sx = -78.90791446382072 "scaling factor for x axis (fitting parameter)";
input Real sy = 18400.0 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end act.fbeta;
name | unit | label | value |
---|---|---|---|
cd | "A/F" | current density | |
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
na.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
na.inact_slow.n | ratio of molecules in open conformation | 2.217110758230417e-07 | |
na.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
na.inact_fast.steady | value that n would reach if v_gate was held constant | ||
na.inact_fast.n | ratio of molecules in open conformation | 2.217110758230417e-07 | |
na.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
na.act.steady | "1" | steady state achieved if current voltage is held constant | |
na.act.beta | "1" | rate of transfer from open to closed conformation | |
na.act.alpha | "1" | rate of transfer from closed to open conformation | |
na.act.n | ratio of molecules in open conformation | 0.9743799231069017 | |
na.i_open | i if open_ratio = 1 | ||
na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
na.i_ion | "A" | current used for ion flux | |
vc.after_pulse | true after pulse has passed | ||
vc.within_pulse | true during pulse | ||
vc.vp_last | "V" | voltage of last pulse | 0.0 |
vc.tp_last | "s" | time stamp of start of last pulse | 0.0 |
vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
vc.tail_i | "A" | peak current after pulse | 0.0 |
vc.peak_i | "A" | peak current during pulse | 0.0 |
vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 |
vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 |
vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 |
vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 |
vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 |
vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 |
vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
vc.pulse_end | signals end of pulse | ||
vc.pulse_start | signals start of pulse | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
$whenCondition1 | vc.pulse_end | ||
$whenCondition2 | vc.is_peak <> pre(vc.is_peak) | ||
$whenCondition3 | vc.pulse_start | ||
$whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
$whenCondition5 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
vc.g.p.v | "V" | Potential at the pin | 0.0 |
vc.d_hold | "s" | holding period | 2.0 |
vc.d_pulse | "s" | pulse period | 0.05 |
vc.v_hold | "V" | voltage during holding period | -0.09 |
v_start | "V" | start value for pulse amplitude | -0.1 |
v_inc | "V" | increment for pulse amplitude | 0.005 |
na.ion_ex | "mol/m3" | extracellular concentration of ion | na_ex |
na.ion_p | "m3/(s.m2)" | permeability of ion | na_p |
na.ion_z | valence of ion | 1 | |
na.current_name | "I_Na" | ||
l2.c | "F" | membrane capacitance | 5e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
temp | "K" | cell medium temperature | 288.15 |
na_in | "mol/m3" | intracellular sodium concentration | 8.4 |
na_ex | "mol/m3" | extracellular sodium concentration | 75.0 |
na_p | "m3/(s.m2)" | cell membrane permeability for Na+ ions | 2.1e-15 |
na.ion_in | "mol/m3" | intracellular concentration of ion | na_in |
InaMo.Examples.ComponentTests.SodiumChannelSteady
To reproduce Figure 2A from Lindblad 1996, plot m3 against (vc.v_stim - v_step) and h_total against vc.v_stim.
To reproduce Figure 2C-E, plot tau_m, tau_h1, and tau_h2 respectively against vc.v_stim.
Results should be fully accurate.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -100 mV to 100 mV
- Tolerance: default value
- Interval: enough to get correct peak values, but to follow time course of current at least an interval of 1e-4 s is needed
NOTE: This model could be much simpler if we would only calculate the steady states. However, this setup allows to actually inspect the time course of the variables to see when they will reach their steady state. Since the parameter n of the activation gate has a very low time constant (10-65 μs), the default experiment setup will only let you see the point in time where the steady state is almost reached. If you want more detail, you will have to decrease the simulation interval at least to 1e-4 (i.e. 100 μs).
model SodiumChannelSteady "steady state of I_Na, recreates Figures 2A, 2C, 2D and 2E from Lindblad 1996"
extends Modelica.Icons.Example;
InaMo.Currents.Atrioventricular.SodiumChannel na "I_Na" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
// Note: uses Lindblad parameters instead of Inada parameters (8, 140, 1.4e-9, 1), 310K
inner parameter SI.Temperature temp = SI.Conversions.from_degC(35) "cell medium temperature";
inner parameter SI.Concentration na_in = 8.4 "intracellular sodium concentration";
inner parameter SI.Concentration na_ex = 75 "extracellular sodium concentration";
inner parameter PermeabilityFM na_p = 1.4e-9 * 1.5 "cell membrane permeability for Na+ ions";
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc(v_stim(start = -0.1, fixed = true)) "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
parameter SI.Duration d_step = 2 "duration for which voltage is held constant between steps";
parameter SI.Voltage v_step = 0.005 "size of voltage step";
discrete Real m3(start = 0, fixed = true) "total activation of channel (m^3)";
discrete Real h_total(start = 0, fixed = true) "total inactivation of channel";
Real m_steady = na.act.alpha / (na.act.alpha + na.act.beta) "steady state for activation gate";
Real m3_steady = m_steady ^ 3 "steady state of total activation";
Real h_steady = na.inact_fast.steady "steady state of inactivation gate";
SI.Duration tau_m = na.act.tau "time constant of activation gate";
SI.Duration tau_m_measured(start = 0, fixed = true) "measured time until difference between na.act.n and m_stead is < 1e-6";
SI.Duration tau_h1 = na.inact_fast.tau "time constant of fast inactivation gate";
SI.Duration tau_h2 = na.inact_slow.tau "time constant of slow inactivation gate";
SI.Time t_tau_m(start = 0, fixed = true) "time stamp of last voltage step";
Real v_na = nernst(na_in, na_ex, 1, temp) "equilibrium potential for Na+ ions";
equation
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, na.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, na.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
when abs(m_steady - na.act.n) < 1e-6 then
tau_m_measured = time - pre(t_tau_m);
end when "forces event when steady state is almost reached";
when sample(0, d_step) then
// reset stimulation voltage
reinit(vc.v_stim, pre(vc.v_stim) + v_step);
// record values from last cycle
m3 = pre(na.act.n) ^ 3;
h_total = pre(na.inact_total);
t_tau_m = time;
end when;
der(vc.v_stim) = 0 "hold v_stim constant";
annotation(
experiment(StartTime = 0, StopTime = 82, Tolerance = 1e-6, Interval = 1e-2),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "m3_steady|h_steady|m3|vc\\.(v_sim|v)|v_step|h_total|tau_(m|h1|h2)"),
Documentation(info = "
<html>
<p>To reproduce Figure 2A from Lindblad 1996, plot m3 against
(vc.v_stim - v_step) and h_total against vc.v_stim.</p>
<p>To reproduce Figure 2C-E, plot tau_m, tau_h1, and tau_h2
respectively against vc.v_stim.</p>
<p>Results should be fully accurate.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -100 mV to 100 mV</li>
<li>Tolerance: default value</li>
<li>Interval: enough to get correct peak values, but to follow time
course of current at least an interval of 1e-4 s is needed</li>
</ul>
<p>NOTE: This model could be much simpler if we would only
calculate the steady states. However, this setup allows to actually
inspect the time course of the variables to see when they will reach
their steady state. Since the parameter n of the activation gate has a
very low time constant (10-65 μs), the default experiment setup will
only let you see the point in time where the steady state is almost
reached. If you want more detail, you will have to decrease the
simulation interval at least to 1e-4 (i.e. 100 μs).</p>
</html>
"));
end SodiumChannelSteady;
- Within group na (prefix _ indicates shortened variable name)
- Within group act (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function falpha
input Real x "input value";
input Real x0 = -0.0444 "offset for x (fitting parameter)";
input Real sy = 5829.58 "scaling factor for y (fitting parameter)";
input Real sx = -78.90791446382072 "scaling factor for x (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
if abs(x - x0) < 1e-06 then
y := sy;
else
y := sy * x_adj / (exp(x_adj) - 1.0);
end if;
end falpha;
function fsteady.fbeta
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1491.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0946 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 77.51937984496124 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 323.3 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady.fbeta;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function fsteady
input Real x "input value";
output Real y "result of applying the HH-style equation steady = alpha/(alpha + beta)";
algorithm
y := act.fbeta(x, -0.0669, -1000.0 / 5.57, 44.9) / (act.fbeta(x, -0.0669, -1000.0 / 5.57, 44.9) + fsteady.fbeta(x, 0.0, 1491.0, -0.0946, 1000.0 / 12.9, 323.3, 1.0, 1.0));
end fsteady;
function ghkFlux "ghk flux equation for a single ion"
input Real v(quantity = "ElectricPotential", unit = "V") "membrane potential";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Real ion_p(quantity = "Permeability (fluid mechanics)", unit = "m3/(s.m2)") "permeability of cell membrane to Na+ cations";
input Integer ion_z "ion valence";
output Real i(quantity = "CurrentDensity", unit = "A/m2") "current density resulting from ion flux through membrane";
protected Real g_max(quantity = "Conductance", unit = "S");
protected Real v_eq(quantity = "ElectricPotential", unit = "V");
protected Real FoRT(unit = "1/V") = 96485.33289000001 / (8.3144598 * temp);
algorithm
g_max := ion_p * ion_ex * FoRT * 96485.33289000001 * /*Real*/(ion_z) ^ 2.0;
v_eq := nernst(ion_in, ion_ex, ion_z, temp);
if abs(v) < 1e-06 then
i := g_max / FoRT / /*Real*/(ion_z) * (exp(-v_eq * FoRT * /*Real*/(ion_z)) - 1.0);
else
i := g_max * v * (exp((v - v_eq) * FoRT * /*Real*/(ion_z)) - 1.0) / (exp(v * FoRT * /*Real*/(ion_z)) - 1.0);
end if;
end ghkFlux;
function act.fbeta
input Real x "input value";
input Real x0 = -0.0444 "x-value where y = 1 (fitting parameter)";
input Real sx = -78.90791446382072 "scaling factor for x axis (fitting parameter)";
input Real sy = 18400.0 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end act.fbeta;
name | unit | label | value |
---|---|---|---|
t_tau_m | "s" | time stamp of last voltage step | 0.0 |
tau_h2 | "s" | time constant of slow inactivation gate | |
tau_h1 | "s" | time constant of fast inactivation gate | |
tau_m_measured | "s" | measured time until difference between na.act.n and m_stead is < 1e-6 | 0.0 |
tau_m | "s" | time constant of activation gate | |
h_steady | steady state of inactivation gate | ||
m3_steady | steady state of total activation | ||
m_steady | "1" | steady state for activation gate | |
h_total | total inactivation of channel | 0.0 | |
m3 | total activation of channel (m^3) | 0.0 | |
vc.i | "A" | measured membrane current | |
vc.v_stim | "V" | input voltage (needs to be defined externally) | -0.1 |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
na.inact_total | total inactivation resulting from fast and slow inactivation terms | ||
na.inact_slow.steady | value that n would reach if v_gate was held constant | ||
na.inact_slow.n | ratio of molecules in open conformation | 2.217110758230417e-07 | |
na.inact_fast.n | ratio of molecules in open conformation | 2.217110758230417e-07 | |
na.act.beta | "1" | rate of transfer from open to closed conformation | |
na.act.alpha | "1" | rate of transfer from closed to open conformation | |
na.act.n | ratio of molecules in open conformation | 0.9743799231069017 | |
na.i_open | i if open_ratio = 1 | ||
na.open_ratio | ratio between 0 (fully closed) and 1 (fully open) | ||
na.i_ion | "A" | current used for ion flux | |
$whenCondition1 | sample(1, 0.0, d_step) | ||
$whenCondition2 | abs(m_steady - na.act.n) < 1e-06 | ||
v_na | "V" | equilibrium potential for Na+ ions | InaMo.Functions.Biochemical.nernst(na_in, na_ex, 1, temp) |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
na.ion_ex | "mol/m3" | extracellular concentration of ion | na_ex |
na.ion_p | "m3/(s.m2)" | permeability of ion | na_p |
na.ion_z | valence of ion | 1 | |
na.current_name | "I_Na" | ||
l2.c | "F" | membrane capacitance | 0.01 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
temp | "K" | cell medium temperature | 288.15 |
na_in | "mol/m3" | intracellular sodium concentration | 8.4 |
na_ex | "mol/m3" | extracellular sodium concentration | 75.0 |
na_p | "m3/(s.m2)" | cell membrane permeability for Na+ ions | 2.1e-09 |
d_step | "s" | duration for which voltage is held constant between steps | 2.0 |
v_step | "V" | size of voltage step | 0.005 |
na.ion_in | "mol/m3" | intracellular concentration of ion | na_in |
Tests for $I_p$
InaMo.Examples.ComponentTests.SodiumPotassiumPumpLin
To recreate Figure 12 of Demir 1994, plot p.i against vc.v.
This example uses a linear input current, because I_p is modeled as an immediate current without activation or inactivation kinetics.
The results are not fully accurate, because Demir 1994 only report the current-voltage relationship of the sum of I_p and the three background currents included in their model.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -60 to +40 mV
- Tolerance: left at default, because derivatives are not relevant
- Interval: enough for a smooth plot
- l2.C: according to Table A9 from Demir 1994
- sodium.c_in: according to Table A13 from Demir 1994 (mean)
- sodium.c_ex: according to Table A13 from Demir 1994 (mean)
- potassium.c_in: according to Table A13 from Demir 1994 (mean)
- potassium.c_ex: according to Table A13 from Demir 1994 (mean)
- p.i_max: according to Table A9 from Demir 1994
- p.k_m_K: according to Table A9 from Demir 1994
- p.k_m_Na: according to Table A9 from Demir 1994 and Table 10 from Zhang 2000 (identical)
NOTE: Inada et al. give no parameter values for p.k_m_K and p.k_m_Na. These parameters have to be taken from Zhang 2000 or Demir 1994. Fortunately, both papers agree for the value of p.k_m_K. For p.k_m_Na there seems to be a flipped digit since Demir 1994 gives the value 5.46 and Zhang 2000 gives the value 5.64. Since we want to replicate Demir 1994 in this example, we chose to use this value. For p.i_max, there exists one value in Table A9 from Demir 1994 and two different values for peripheral and central SA node cells in Zhang 2000. We assume that the "peripheral" value should be used for AN cells and the "central" value should be used for the N cell. As for the NH cell we currently have no good guess. The CellML implementation gives values for p.i_max that do not correspond to either Zhang 2000 or Demir 1994. It might be that the authors had the code of Inada et al. as reference, but we cannot be sure of that.
model SodiumPotassiumPumpLin "IV relationship of I_p, recreates Figure 12 of Demir 1994"
extends Modelica.Icons.Example;
InaMo.Membrane.LipidBilayer l2(c = 55e-12, use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
inner parameter SI.Concentration na_in = 9.67 "intracellular sodium concentration";
inner parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
InaMo.Currents.Atrioventricular.SodiumPotassiumPump p(i_max = 0.2192e-9, k_m_Na = 5.46) "cell membrane permeability for Na+ ions" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
parameter SI.Voltage v_start = -0.06 "starting value for voltage";
initial equation
vc.v_stim = v_start;
equation
der(vc.v_stim) = 0.001;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, p.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, p.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 100, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "p\\.i|vc\\.v"),
Documentation(info = "
<html>
<p>To recreate Figure 12 of Demir 1994, plot p.i against vc.v.</p>
<p>This example uses a linear input current, because I_p is modeled
as an immediate current without activation or inactivation kinetics.</p>
<p>The results are not fully accurate, because Demir 1994 only report
the current-voltage relationship of the <i>sum</i> of I_p and the
three background currents included in their model.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -60 to +40 mV</li>
<li>Tolerance: left at default, because derivatives are not relevant
</li>
<li>Interval: enough for a smooth plot</li>
<li>l2.C: according to Table A9 from Demir 1994</li>
<li>sodium.c_in: according to Table A13 from Demir 1994 (mean)</li>
<li>sodium.c_ex: according to Table A13 from Demir 1994 (mean)</li>
<li>potassium.c_in: according to Table A13 from Demir 1994 (mean)</li>
<li>potassium.c_ex: according to Table A13 from Demir 1994 (mean)</li>
<li>p.i_max: according to Table A9 from Demir 1994</li>
<li>p.k_m_K: according to Table A9 from Demir 1994</li>
<li>p.k_m_Na: according to Table A9 from Demir 1994 and
Table 10 from Zhang 2000 (identical)</li>
</ul>
<p>NOTE: Inada et al. give no parameter values for p.k_m_K and p.k_m_Na.
These parameters have to be taken from Zhang 2000 or Demir 1994.
Fortunately, both papers agree for the value of p.k_m_K. For p.k_m_Na
there seems to be a flipped digit since Demir 1994 gives the value 5.46
and Zhang 2000 gives the value 5.64. Since we want to replicate Demir
1994 in this example, we chose to use this value.
For p.i_max, there exists one value in Table A9 from Demir 1994
and two different values for peripheral and central SA node cells in
Zhang 2000. We assume that the "peripheral" value should be
used for AN cells and the "central" value should be used for
the N cell. As for the NH cell we currently have no good guess. The
CellML implementation gives values for p.i_max that do not correspond to
either Zhang 2000 or Demir 1994. It might be that the authors had the
code of Inada et al. as reference, but we cannot be sure of that.</p>
</html>
"));
end SodiumPotassiumPumpLin;
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function genLogistic "generalized logistic function for fitting sigmoidal curves"
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = 0.0 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 1.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end genLogistic;
function michaelisMenten "equation for enzymatic reactions following Michaelis-Menten kinetics"
input Real s(quantity = "Concentration", unit = "mol/m3") "substrate concentration";
input Real k(quantity = "Concentration", unit = "mol/m3") "concentration producing half-maximum reaction rate (michaelis constant)";
output Real rate(unit = "1") "reaction rate";
algorithm
rate := s / (s + k);
end michaelisMenten;
name | unit | label | value |
---|---|---|---|
p.i | "A" | Current flowing from pin p to pin n | |
vc.i | "A" | measured membrane current | |
vc.v_stim | "V" | input voltage (needs to be defined externally) | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
l2.c | "F" | membrane capacitance | 5.5e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
na_in | "mol/m3" | intracellular sodium concentration | 9.67 |
k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
p.current_name | "I_NaK" | ||
p.i_max | "A" | maximum current (actual maximum is 1.6 * i_max) | 2.192e-10 |
p.k_m_Na | "mol/m3" | Michaelis constant for Na+ binding | 5.46 |
p.k_m_K | "mol/m3" | Michaelis constant for K+ binding | 0.621 |
v_start | "V" | starting value for voltage | -0.06 |
Tests for $I_{st}$
InaMo.Examples.ComponentTests.SustainedInwardIV
To reproduce Figure S5B from Inada 2009, plot vc.i against time starting 50 ms before and ending 100 ms after the pulses with amplitude -80 to 60 mV (in 10 mV increments).
To reproduce Figure S5C from Inada 2009, plot vc.is_peak against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the current from the previous pulse.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -80 mV to 60 mV
- Tolerance: default value
- d_pulse: according to description of Figure S5 in Inada 2009
- d_hold: approximately 5 * max(inact.tau)
- v_hold: according to description of Figure S5 in Inada 2009
- l2.C: according to Table S15 in Inada 2009 (N cell model)
- st.g_max: manually adjusted, because it gives better agreement with both Figures S5B and S5C (see note below)
NOTE: The value for g_max had to be adjusted to obtain current densities that are comparable to those in Figure S5B and S5C in Inada 2009. This is probably because Inada et al. fitted the model to experimental data without stating this in the figure description.
model SustainedInwardIV "IV relationship of I_st, recreates Figure S5B and S5C of Inada 2009"
extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.08, d_hold = 15, d_pulse = 0.5), v_start = -0.08, v_inc = 0.005);
extends Modelica.Icons.Example;
InaMo.Currents.Atrioventricular.SustainedInwardChannel st(g_max = 0.27e-9) "I_st" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
InaMo.Membrane.LipidBilayer l2(use_init = false, c = 29e-12) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, st.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, st.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 480, Tolerance = 1e-6, Interval = 1e-2),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "vc\\.(is_peak|vs_peak|i|v|v_pulse)"),
Documentation(info = "
<html>
<p>To reproduce Figure S5B from Inada 2009, plot vc.i against time
starting 50 ms before and ending 100 ms after the pulses with amplitude
-80 to 60 mV (in 10 mV increments).</p>
<p>To reproduce Figure S5C from Inada 2009, plot vc.is_peak against
vc.vs_peak.
It is necessary to use vc.vs_peak instead of vc.v_pulse,
because vc.is_peak captures the current from the <i>previous</i> pulse.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -80 mV to 60 mV</li>
<li>Tolerance: default value</li>
<li>d_pulse: according to description of Figure S5 in Inada 2009</li>
<li>d_hold: approximately 5 * max(inact.tau)</li>
<li>v_hold: according to description of Figure S5 in Inada 2009</li>
<li>l2.C: according to Table S15 in Inada 2009 (N cell model)</li>
<li>st.g_max: manually adjusted, because it gives better agreement
with both Figures S5B and S5C (see note below)</li>
</ul>
<p>NOTE: The value for g_max had to be adjusted to obtain
current densities that are comparable to those in Figure S5B and S5C in
Inada 2009.
This is probably because Inada et al. fitted the model to experimental
data without stating this in the figure description.</p>
</html>
"));
end SustainedInwardIV;
- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fa
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + fa.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fa;
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0491 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 111.358574610245 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function inact.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + fa.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;
function ftau.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + fa.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end ftau.falpha;
function absmax "returns input whose absolute value is larger, preserving the sign"
input Real a "first input";
input Real b "second input";
output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
m := if abs(a) > abs(b) then a else b;
end absmax;
function ftau.fbeta
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + fa.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;
function fa.falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = -100.0 "scaling factor for x axis (fitting parameter)";
input Real sy = 0.6316489361702128 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end fa.falpha;
function ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end ftau;
function inact.fbeta
input Real x "input value";
output Real y "output value";
algorithm
y := fa(x, 0.0) + fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;
name | unit | label | value |
---|---|---|---|
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
st.inact.beta | "1" | rate of transfer from open to closed conformation | |
st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
st.inact.n | ratio of molecules in open conformation | 0.03322275838167021 | |
st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
st.act.steady | value that n would reach if v_gate was held constant | ||
st.act.n | ratio of molecules in open conformation | 0.9957968373875523 | |
st.g | "S" | ion conductance | |
st.i_open | "A" | i if open_ratio = 1 | |
st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
st.i_ion | "A" | current used for ion flux | |
vc.after_pulse | true after pulse has passed | ||
vc.within_pulse | true during pulse | ||
vc.vp_last | "V" | voltage of last pulse | 0.0 |
vc.tp_last | "s" | time stamp of start of last pulse | 0.0 |
vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
vc.tail_i | "A" | peak current after pulse | 0.0 |
vc.peak_i | "A" | peak current during pulse | 0.0 |
vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 |
vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 |
vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 |
vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 |
vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 |
vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 |
vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
vc.pulse_end | signals end of pulse | ||
vc.pulse_start | signals start of pulse | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
$whenCondition1 | vc.pulse_end | ||
$whenCondition2 | vc.pulse_start | ||
$whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
$whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
vc.g.p.v | "V" | Potential at the pin | 0.0 |
vc.d_hold | "s" | holding period | 15.0 |
vc.d_pulse | "s" | pulse period | 0.5 |
vc.v_hold | "V" | voltage during holding period | -0.08 |
v_start | "V" | start value for pulse amplitude | -0.08 |
v_inc | "V" | increment for pulse amplitude | 0.005 |
st.v_eq | "V" | equilibrium potential | 0.0374 |
st.g_max | "S" | maximum conductance | 2.7e-10 |
st.current_name | "I_st" | ||
l2.c | "F" | membrane capacitance | 2.9e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false |
InaMo.Examples.ComponentTests.SustainedInwardIVKurata
This example is identical to SustainedInwardIV with the exception that the equation for the steady state of the activation and the parameter values for g_max and C are taken from Kurata 2002.
To reproduce Figure 4 bottom left from Kurata 2002, plot vc.i against time starting 50 ms before and ending 100 ms after the pulses with amplitude -70 to 50 mV (in 10 mV increments).
To reproduce Figure 4 bottom right from Kurata 2002, plot vc.is_peak / C against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the current from the previous pulse.
Simulation protocol and parameters are chosen with the same rationale as in SustainedInwardIV.
model SustainedInwardIVKurata "IV relationship of I_st, reproduces Figure 4 from Kurata 2002 (bottom left + bottom right)"
// FIXME redeclare breaks icon inheritance
extends SustainedInwardIV(st(act(redeclare function fsteady = genLogistic(x0 = -57e-3, sx = 1000 / 5)), g_max = 0.48e-9), l2(c = 32e-12));
annotation(
experiment(StartTime = 0, StopTime = 480, Tolerance = 1e-6, Interval = 1e-2),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "vc\\.(i|is_peak|vs_peak|v|v_pulse)"),
Documentation(info = "
<html>
<p>This example is identical to SustainedInwardIV with the exception that
the equation for the steady state of the activation and the parameter
values for g_max and C are taken from Kurata 2002.</p>
<p>To reproduce Figure 4 bottom left from Kurata 2002, plot vc.i against
time starting 50 ms before and ending 100 ms after the pulses with amplitude
-70 to 50 mV (in 10 mV increments).</p>
<p>To reproduce Figure 4 bottom right from Kurata 2002, plot vc.is_peak / C
against vc.vs_peak.
It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak
captures the current from the <i>previous</i> pulse.</p>
<p>Simulation protocol and parameters are chosen with the same rationale
as in SustainedInwardIV.</p>
</html>
"));
end SustainedInwardIVKurata;
- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.057 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 200.0 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function fa
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + fa.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fa;
function ftau.fbeta
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + fa.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;
function inact.fbeta
input Real x "input value";
output Real y "output value";
algorithm
y := fa(x, 0.0) + fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;
function absmax "returns input whose absolute value is larger, preserving the sign"
input Real a "first input";
input Real b "second input";
output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
m := if abs(a) > abs(b) then a else b;
end absmax;
function inact.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + fa.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;
function ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end ftau;
function fa.falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = -100.0 "scaling factor for x axis (fitting parameter)";
input Real sy = 0.6316489361702128 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end fa.falpha;
function ftau.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + fa.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end ftau.falpha;
name | unit | label | value |
---|---|---|---|
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
st.inact.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
st.inact.beta | "1" | rate of transfer from open to closed conformation | |
st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
st.inact.n | ratio of molecules in open conformation | 0.03322275838167021 | |
st.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
st.act.steady | value that n would reach if v_gate was held constant | ||
st.act.n | ratio of molecules in open conformation | 0.999988804640495 | |
st.g | "S" | ion conductance | |
st.i_open | "A" | i if open_ratio = 1 | |
st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
st.i_ion | "A" | current used for ion flux | |
vc.after_pulse | true after pulse has passed | ||
vc.within_pulse | true during pulse | ||
vc.vp_last | "V" | voltage of last pulse | 0.0 |
vc.tp_last | "s" | time stamp of start of last pulse | 0.0 |
vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
vc.tail_i | "A" | peak current after pulse | 0.0 |
vc.peak_i | "A" | peak current during pulse | 0.0 |
vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 |
vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 |
vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 |
vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 |
vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 |
vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 |
vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
vc.pulse_end | signals end of pulse | ||
vc.pulse_start | signals start of pulse | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
$whenCondition1 | vc.pulse_end | ||
$whenCondition2 | vc.pulse_start | ||
$whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
$whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
vc.g.p.v | "V" | Potential at the pin | 0.0 |
vc.d_hold | "s" | holding period | 15.0 |
vc.d_pulse | "s" | pulse period | 0.5 |
vc.v_hold | "V" | voltage during holding period | -0.08 |
v_start | "V" | start value for pulse amplitude | -0.08 |
v_inc | "V" | increment for pulse amplitude | 0.005 |
st.v_eq | "V" | equilibrium potential | 0.0374 |
st.g_max | "S" | maximum conductance | 4.8e-10 |
st.current_name | "I_st" | ||
l2.c | "F" | membrane capacitance | 3.2e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false |
InaMo.Examples.ComponentTests.SustainedInwardSteady
To reproduce Figure S5A from Inada 2009, plot act_steady against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -80 to 60 mV
- Tolerance: left at default value, since derivatives are not relevant
- Interval: enough for a smooth plot
model SustainedInwardSteady "steady state of I_st, recreates Figure S5A from Inada 2009"
extends Modelica.Icons.Example;
InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
InaMo.Currents.Atrioventricular.SustainedInwardChannel st "I_st" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
Real act_steady = st.act.steady "steady state of activation gate";
SI.Duration act_tau = st.act.tau "time constant of activation gate";
Real inact_steady = inact_tau * st.inact.alpha "steady state of inactivation gate";
SI.Duration inact_tau = 1 / (st.inact.alpha + st.inact.beta) "time constant of inactivation gate";
SI.Voltage v(start = -0.08, fixed = true) "input voltage";
function qa "direct copy of activation steady state from Kurata 2002"
input Real x;
output Real y;
algorithm
y := 1 / (1 + exp(-(x + 57) / 5));
end qa;
function qi "direct copy of inactivation steady state from Kurata 2002"
input Real x;
output Real y;
protected
Real alpha;
Real beta;
algorithm
alpha := 0.1504 / (3100 * exp(x / 13) + 700 * exp(x / 70));
beta := 0.1504 / (95 * exp(-x / 10) + 50 * exp(-x / 700)) + 0.000229 / (1 + exp(-x / 5));
y := alpha / (alpha + beta);
end qi;
function tau_qa "direct copy of activation time constant from Kurata 2002"
input Real x;
output Real y;
protected
Real alpha;
Real beta;
algorithm
alpha := 1 / (0.15 * exp(-x / 11) + 0.2 * exp(-x / 700));
beta := 1 / (16 * exp(x / 8) + 15 * exp(x / 50));
y := 1 / (alpha + beta);
end tau_qa;
function tau_qi "direct copy of inactivation time constant from Kurata 2002"
input Real x;
output Real y;
protected
Real alpha;
Real beta;
algorithm
alpha := 0.1504 / (3100 * exp(x / 13) + 700 * exp(x / 70));
beta := 0.1504 / (95 * exp(-x / 10) + 50 * exp(-x / 700)) + 0.000229 / (1 + exp(-x / 5));
y := 1 / (alpha + beta);
end tau_qi;
Real act_steady2 = qa(1000 * v) "steady state of activation gate (Kurata 2002)";
Real inact_steady2 = qi(1000 * v) "steady state of inactivation gate (Kurata 2002)";
Real act_tau2 = 0.001 * tau_qa(1000 * v) "time constant of activation gate (Kurata 2002)";
Real inact_tau2 = 0.001 * tau_qi(1000 * v) "steady state of inactivation gate (Kurata 2002)";
equation
vc.v_stim = v;
der(v) = 0.001;
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, st.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, st.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 140, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "(act_steady|act_tau|inact_steady|inact_tau)2?|v|vc.v"),
Documentation(info = "
<html>
<p>To reproduce Figure S5A from Inada 2009, plot act_steady
against v.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -80 to 60 mV</li>
<li>Tolerance: left at default value, since derivatives are not
relevant</li>
<li>Interval: enough for a smooth plot</li>
</ul>
</html>
"));
end SustainedInwardSteady;
- Within group st (prefix _ indicates shortened variable name)
- Within group inact (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function tau_qi "direct copy of inactivation time constant from Kurata 2002"
input Real x;
output Real y;
protected Real alpha;
protected Real beta;
algorithm
alpha := 0.1504 / (3100.0 * exp(x / 13.0) + 700.0 * exp(x / 70.0));
beta := 0.1504 / (95.0 * exp(-x / 10.0) + 50.0 * exp(-x / 700.0)) + 0.000229 / (1.0 + exp(-x / 5.0));
y := 1.0 / (alpha + beta);
end tau_qi;
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = -0.0491 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 111.358574610245 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function fa.falpha
input Real x "input value";
input Real x0 = 0.0 "x-value where y = 1 (fitting parameter)";
input Real sx = -100.0 "scaling factor for x axis (fitting parameter)";
input Real sy = 0.6316489361702128 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end fa.falpha;
function fa
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 10.0, 95.0 / 150.4) + fa.falpha(x, 0.0, -1000.0 / 700.0, 50.0 / 150.4)) + off;
end fa;
function inact.fbeta
input Real x "input value";
output Real y "output value";
algorithm
y := fa(x, 0.0) + fsteady(x, 0.0, 0.229, 0.0, 1000.0 / 5.0, 1.0, 1.0, 1.0);
end inact.fbeta;
function qa "direct copy of activation steady state from Kurata 2002"
input Real x;
output Real y;
algorithm
y := 1.0 / (1.0 + exp(-(x + 57.0) / 5.0));
end qa;
function ftau.fbeta
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 8.0, 0.016) + fa.falpha(x, 0.0, 1000.0 / 50.0, 0.015)) + off;
end ftau.fbeta;
function ftau
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (ftau.falpha(x, 0.0) + ftau.fbeta(x, 0.0)) + off;
end ftau;
function qi "direct copy of inactivation steady state from Kurata 2002"
input Real x;
output Real y;
protected Real alpha;
protected Real beta;
algorithm
alpha := 0.1504 / (3100.0 * exp(x / 13.0) + 700.0 * exp(x / 70.0));
beta := 0.1504 / (95.0 * exp(-x / 10.0) + 50.0 * exp(-x / 700.0)) + 0.000229 / (1.0 + exp(-x / 5.0));
y := alpha / (alpha + beta);
end qi;
function inact.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, 1000.0 / 13.0, 3100.0 / 150.4) + fa.falpha(x, 0.0, 1000.0 / 70.0, 700.0 / 150.4)) + off;
end inact.falpha;
function ftau.falpha
input Real x "input value";
input Real off = 0.0 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (fa.falpha(x, 0.0, -1000.0 / 11.0, 0.00015) + fa.falpha(x, 0.0, -1000.0 / 700.0, 0.0002)) + off;
end ftau.falpha;
function tau_qa "direct copy of activation time constant from Kurata 2002"
input Real x;
output Real y;
protected Real alpha;
protected Real beta;
algorithm
alpha := 1.0 / (0.15 * exp(-x / 11.0) + 0.2 * exp(-x / 700.0));
beta := 1.0 / (16.0 * exp(x / 8.0) + 15.0 * exp(x / 50.0));
y := 1.0 / (alpha + beta);
end tau_qa;
name | unit | label | value |
---|---|---|---|
inact_tau2 | steady state of inactivation gate (Kurata 2002) | ||
act_tau2 | time constant of activation gate (Kurata 2002) | ||
inact_steady2 | steady state of inactivation gate (Kurata 2002) | ||
act_steady2 | steady state of activation gate (Kurata 2002) | ||
inact_tau | "s" | time constant of inactivation gate | |
inact_steady | "s" | steady state of inactivation gate | |
act_tau | "s" | time constant of activation gate | |
act_steady | steady state of activation gate | ||
st.inact.steady | "1" | steady state achieved if current voltage is held constant | |
st.inact.beta | "1" | rate of transfer from open to closed conformation | |
st.inact.alpha | "1" | rate of transfer from closed to open conformation | |
st.inact.n | ratio of molecules in open conformation | 0.03322275838167021 | |
st.act.n | ratio of molecules in open conformation | 0.9957968373875523 | |
st.g | "S" | ion conductance | |
st.i_open | "A" | i if open_ratio = 1 | |
st.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
st.i_ion | "A" | current used for ion flux | |
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.08 |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
l2.c | "F" | membrane capacitance | 0.01 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
st.v_eq | "V" | equilibrium potential | 0.0374 |
st.g_max | "S" | maximum conductance | 1e-10 |
st.current_name | "I_st" |
Tests for $I_{to}$
InaMo.Examples.ComponentTests.TransientOutwardIV
To reproduce Figure S2E from Inada 2009, plot vc.i against time for 500 ms after the pulses with amplitude -10, 0, 20 and 40 mV.
To reproduce Figure S2F from Inada 2009, plot vc.is_peak/max(vc.is_peak) against vc.vs_peak. It is necessary to use vc.vs_peak instead of vc.v_pulse, because vc.is_peak captures the current from the previous pulse.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -60 mV to 60 mV (NOTE: It is important to choose StopTime such that the pulse for 65 mV is not part of the simulation, because otherwise the normalized current would change, since the maximum current is achieved during the last pulse)
- Tolerance: default value
- Interval: enough to roughly plot time course of current
- d_pulse: according to description of Figure S2 in Inada 2009
- d_hold: approximately 5 * max(inact_slow.tau)
- v_hold: according to description of Figure S2 in Inada 2009
- l2.C: according to Table S15 in Inada 2009 (NH cell model)
- to.g_max: according to Table S15 in Inada 2009 (NH cell model)
NOTE: Although Inada et al. state that they used the AN cell model for Figure S2E and S2F, the absolute values of the current make it seem more likely, that the NH cell model was used instead. However, with these parameters the model still shows too high absolute values for the current. We see two possible explanations for this difference: Either Inada et al. used differnet parameter settings for the plots without documenting them or they chose d_hold too small, so that recovery to the steady state at holding potential was not completed before the next pulse. The difference disappears when the current is multiplied by a factor of 0.75 (e.g. by adjusting g_max).
model TransientOutwardIV "IV relationship of I_to, recreates Figures S2E and S2F from Inada 2009"
extends Modelica.Icons.Example;
extends InaMo.Examples.Interfaces.IVBase(vc(v_hold = -0.08, d_hold = 20, d_pulse = 0.5), v_start = -0.06, v_inc = 0.005);
parameter SI.Concentration k_in = 140 "intracellular potassium concentration";
parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
parameter SI.Temperature temp = 310 "cell medium temperature";
parameter SI.Voltage v_k = nernst(k_in, k_ex, 1, temp) "equilibrium potential for K+ ions";
InaMo.Currents.Atrioventricular.TransientOutwardChannel to(g_max = 14e-9, v_eq = v_k) "I_to (parameter values for NH cell)" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
// use g_max of NH model
InaMo.Membrane.LipidBilayer l2(use_init = false, c = 40e-12) "cell membrane" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
equation
connect(l2.p, vc.p) annotation(
Line(points = {{34, 18}, {34, 18}, {34, 40}, {0, 40}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(vc.p, to.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 40}, {-34, 40}, {-34, 18}, {-34, 18}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{34, -16}, {34, -16}, {34, -40}, {0, -40}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(vc.n, to.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -40}, {-34, -40}, {-34, -16}, {-34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 532.5, Tolerance = 1e-6, Interval = 1e-2),
__MoST_experiment(variableFilter = "vc\\.(i|is_peak|vs_peak|v|v_pulse)"),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
Documentation(info = "
<html>
<p>To reproduce Figure S2E from Inada 2009, plot vc.i against time for
500 ms after the pulses with amplitude -10, 0, 20 and 40 mV.</p>
<p>To reproduce Figure S2F from Inada 2009, plot vc.is_peak/max(vc.is_peak)
against vc.vs_peak.
It is necessary to use vc.vs_peak instead of vc.v_pulse,
because vc.is_peak captures the current from the <i>previous</i> pulse.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -60 mV to 60 mV (NOTE: It is important
to choose StopTime such that the pulse for 65 mV is not part of the
simulation, because otherwise the normalized current would change, since
the maximum current is achieved during the last pulse)</li>
<li>Tolerance: default value</li>
<li>Interval: enough to roughly plot time course of current</li>
<li>d_pulse: according to description of Figure S2 in Inada 2009</li>
<li>d_hold: approximately 5 * max(inact_slow.tau)</li>
<li>v_hold: according to description of Figure S2 in Inada 2009</li>
<li>l2.C: according to Table S15 in Inada 2009 (NH cell model)</li>
<li>to.g_max: according to Table S15 in Inada 2009 (NH cell model)</li>
</ul>
<p>NOTE: Although Inada et al. state that they used the AN cell model for
Figure S2E and S2F, the absolute values of the current make it seem more
likely, that the NH cell model was used instead.
However, with these parameters the model still shows too high absolute
values for the current.
We see two possible explanations for this difference: Either Inada et al.
used differnet parameter settings for the plots without documenting them
or they chose d_hold too small, so that recovery to the steady state at
holding potential was not completed before the next pulse.
The difference disappears when the current is multiplied by a factor of
0.75 (e.g. by adjusting g_max).</p>
</html>
"));
end TransientOutwardIV;
- Within group to (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = 0.00744 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 60.97560975609757 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function absmax "returns input whose absolute value is larger, preserving the sign"
input Real a "first input";
input Real b "second input";
output Real m "a if abs(a) > abs(b), otherwise b";
algorithm
m := if abs(a) > abs(b) then a else b;
end absmax;
function act.ftau
input Real x "input value";
input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end act.ftau;
function falpha
input Real x "input value";
input Real x0 = -0.03061 "x-value where y = 1 (fitting parameter)";
input Real sx = 90.0 "scaling factor for x axis (fitting parameter)";
input Real sy = 325.2823086574655 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end falpha;
function inact_slow.ftau
input Real x "input value";
input Real y_min = 0.1 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 4.1 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.065 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.0158113883008419 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_slow.ftau;
name | unit | label | value |
---|---|---|---|
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | |
to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
to.inact_fast.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
to.inact_fast.n | ratio of molecules in open conformation | 0.003978453093609672 | |
to.inact_slow.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
to.inact_slow.steady | value that n would reach if v_gate was held constant | ||
to.inact_slow.n | ratio of molecules in open conformation | 0.003978453093609672 | |
to.act.tau | "s" | time constant for obtaining steady state (i.e. time until difference between n and steady has reduced by a factor of 1/e) | |
to.act.steady | value that n would reach if v_gate was held constant | ||
to.act.n | ratio of molecules in open conformation | 0.3884912691202426 | |
to.g | "S" | ion conductance | |
to.i_open | "A" | i if open_ratio = 1 | |
to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
to.i_ion | "A" | current used for ion flux | |
vc.after_pulse | true after pulse has passed | ||
vc.within_pulse | true during pulse | ||
vc.vp_last | "V" | voltage of last pulse | 0.0 |
vc.tp_last | "s" | time stamp of start of last pulse | 0.0 |
vc.peak_indicator | forces event at peak (factor of 1e12 is required to detect zero crossing) | false | |
vc.tail_i | "A" | peak current after pulse | 0.0 |
vc.peak_i | "A" | peak current during pulse | 0.0 |
vc.vs_tail | "V" | steady step function of pulse associated with is_tail | 0.0 |
vc.vs_end | "V" | steady step function of pulse associated with is_end | 0.0 |
vc.vs_peak | "V" | steady step function of pulse associated with is_peak | 0.0 |
vc.is_end | "A" | steady step function of current at end of last pulse | 0.0 |
vc.is_tail | "A" | steady step function of peak tail current after last pulse | 0.0 |
vc.is_peak | "A" | steady step function of peak current during last pulse | 0.0 |
vc.v_pulse | "V" | voltage during pulse (must be defined externally) | |
vc.pulse_signal | 0 during holding period, 1 during pulse | 0 | |
vc.pulse_end | signals end of pulse | ||
vc.pulse_start | signals start of pulse | ||
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
$whenCondition1 | vc.pulse_end | ||
$whenCondition2 | vc.pulse_start | ||
$whenCondition3 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.after_pulse or vc.pulse_end | ||
$whenCondition4 | vc.peak_indicator <> pre(vc.peak_indicator) and vc.within_pulse or vc.pulse_end | ||
vc.g.p.v | "V" | Potential at the pin | 0.0 |
vc.d_hold | "s" | holding period | 20.0 |
vc.d_pulse | "s" | pulse period | 0.5 |
vc.v_hold | "V" | voltage during holding period | -0.08 |
v_start | "V" | start value for pulse amplitude | -0.06 |
v_inc | "V" | increment for pulse amplitude | 0.005 |
k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
temp | "K" | cell medium temperature | 288.15 |
v_k | "V" | equilibrium potential for K+ ions | InaMo.Functions.Biochemical.nernst(k_in, k_ex, 1, temp) |
to.v_eq | "V" | equilibrium potential | v_k |
to.g_max | "S" | maximum conductance | 1.4e-08 |
to.current_name | "I_to" | ||
l2.c | "F" | membrane capacitance | 4e-11 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false |
InaMo.Examples.ComponentTests.TransientOutwardSteady
To reproduce Figure S2A-S2D from Inada 2009, plot act_steady, inact_steady, inact_tau_fast and inact_tau_slow against v.
Simulation protocol and parameters are chosen with the following rationale:
- StopTime: allow a plot from -120 to 80 mV
- Tolerance: left at default value, since derivatives are not relevant
- Interval: enough to give a smooth plot
NOTE: Figure S2D shows a higher minimum for inact_slow.ftau.y_min (0.2 s instead of 0.1 s), but the formulas both in Inada 2009 and in the C++ code use the value of 0.1 s, which is why we keep it.
model TransientOutwardSteady "steady state of I_to, recreates Figures S2A-S2D from Inada 2009"
extends Modelica.Icons.Example;
InaMo.Membrane.LipidBilayer l2(use_init = false) "cell membrane" annotation(
Placement(transformation(extent = {{-17, -17}, {17, 17}})));
InaMo.ExperimentalMethods.VoltageClamp.VoltageClamp vc "voltage clamp" annotation(
Placement(transformation(extent = {{17, -17}, {51, 17}})));
InaMo.Currents.Atrioventricular.TransientOutwardChannel to(v_eq = v_k) "I_to" annotation(
Placement(transformation(extent = {{-51, -17}, {-17, 17}})));
parameter SI.Concentration k_in = 140 "intracellular potassium concentration";
parameter SI.Concentration k_ex = 5.4 "extracellular potassium concentration";
parameter SI.Temperature temp = 310 "cell medium temperature";
parameter SI.Voltage v_k = nernst(k_in, k_ex, 1, temp) "equilibrium potential for K+ ions";
Real act_steady = to.act.steady "steady state of activation gate";
SI.Duration act_tau = to.act.tau "time constant of activation gate";
Real inact_steady = to.inact_slow.steady "steady state of inactivation gates";
SI.Duration inact_tau_fast = to.inact_fast.tau "time constant of fast inactivation gate";
SI.Duration inact_tau_slow = to.inact_slow.tau "time constant of slow inactivation gate";
SI.Voltage v(start = -0.12, fixed = true);
equation
vc.v_stim = v;
der(v) = 0.001;
connect(to.p, l2.p) annotation(
Line(points = {{-34, 18}, {-34, 18}, {-34, 28}, {0, 28}, {0, 18}, {0, 18}}, color = {0, 0, 255}));
connect(l2.p, vc.p) annotation(
Line(points = {{0, 18}, {0, 18}, {0, 28}, {34, 28}, {34, 18}, {34, 18}}, color = {0, 0, 255}));
connect(to.n, l2.n) annotation(
Line(points = {{-34, -16}, {-34, -16}, {-34, -28}, {0, -28}, {0, -16}, {0, -16}}, color = {0, 0, 255}));
connect(l2.n, vc.n) annotation(
Line(points = {{0, -16}, {0, -16}, {0, -28}, {34, -28}, {34, -16}, {34, -16}}, color = {0, 0, 255}));
annotation(
experiment(StartTime = 0, StopTime = 200, Tolerance = 1e-6, Interval = 1),
__OpenModelica_simulationFlags(lv = "LOG_STATS", s = "dassl"),
__MoST_experiment(variableFilter = "act_tau|act_steady|inact_steady|inact_tau_fast|inact_tau_slow|v|vc\\.v"),
Documentation(info = "
<html>
<p>To reproduce Figure S2A-S2D from Inada 2009, plot act_steady,
inact_steady, inact_tau_fast and inact_tau_slow against v.</p>
<p>Simulation protocol and parameters are chosen with the following
rationale:</p>
<ul>
<li>StopTime: allow a plot from -120 to 80 mV</li>
<li>Tolerance: left at default value, since derivatives are not
relevant</li>
<li>Interval: enough to give a smooth plot</li>
</ul>
<p>NOTE: Figure S2D shows a higher minimum for inact_slow.ftau.y_min
(0.2 s instead of 0.1 s), but the formulas both in Inada 2009 and in
the C++ code use the value of 0.1 s, which is why we keep it.</p>
</html>
"));
end TransientOutwardSteady;
- Within group to (prefix _ indicates shortened variable name)
- Within group vc (prefix _ indicates shortened variable name)
Functions:
function fsteady
input Real x "input value";
input Real y_min = 0.0 "lower asymptote (fitting parameter)";
input Real y_max = 1.0 "upper asmyptote when d_off=1 and nu=1 (fititng parameter)";
input Real x0 = 0.00744 "x-value of sigmoid midpoint when d_off=1 and nu=1 (fitting parameter)";
input Real sx = 60.97560975609757 "scaling factor for x axis (i.e. steepness, fitting parameter)";
input Real se = 1.0 "scaling factor for exponential part (fitting parameter)";
input Real d_off = 1.0 "offset in denominator (affects upper asymptote, fitting parameter)";
input Real nu = 1.0 "reciprocal of exponent of denominator (affects upper asymptote, fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and scaling factor";
algorithm
x_adj := sx * (x - x0);
y := y_min + (y_max - y_min) / (se * exp(-x_adj) + d_off) ^ (1.0 / nu);
end fsteady;
function nernst "Nernst equation to find the equlibrium potential for a single ion"
input Real ion_in(quantity = "Concentration", unit = "mol/m3") "intracellular ion concentration";
input Real ion_ex(quantity = "Concentration", unit = "mol/m3") "extracellular ion concentration";
input Integer ion_z "valence of ion";
input Real temp(quantity = "ThermodynamicTemperature", unit = "K", displayUnit = "degC", min = 0.0, start = 288.15, nominal = 300.0) "cell medium temperature";
output Real v_eq(quantity = "ElectricPotential", unit = "V") "equlibirium potential";
algorithm
v_eq := 8.3144598 * temp / /*Real*/(ion_z) / 96485.33289000001 * log(ion_ex / ion_in);
end nernst;
function act.ftau
input Real x "input value";
input Real off = 0.000596 "offset added to result to increase minimum (fitting parameter)";
output Real y "result of applying the HH-style equation tau = 1/(alpha + beta)";
algorithm
y := 1.0 / (falpha(x, -0.03061, 90.0, 1.037 / 0.003188) + falpha(x, -0.02384, -120.0, 0.396 / 0.003188)) + off;
end act.ftau;
function falpha
input Real x "input value";
input Real x0 = -0.03061 "x-value where y = 1 (fitting parameter)";
input Real sx = 90.0 "scaling factor for x axis (fitting parameter)";
input Real sy = 325.2823086574655 "scaling factor for y axis (fitting parameter)";
output Real y "result";
algorithm
y := sy * exp(sx * (x - x0));
end falpha;
function inact_slow.ftau
input Real x "input value";
input Real y_min = 0.1 "minimum value achieved at edges (fitting parameter)";
input Real y_max = 4.1 "maximum value achieved at peak (fititng parameter)";
input Real x0 = -0.065 "x-value of bell curve midpoint (fitting parameter)";
input Real sigma = 0.0158113883008419 "standard deviation determining the width of the bell curve (fitting parameter)";
output Real y "result";
protected Real x_adj "adjusted x with offset and standard deviation";
algorithm
x_adj := (x - x0) / sigma;
y := y_min + (y_max - y_min) * exp(-0.5 * x_adj ^ 2.0);
end inact_slow.ftau;
name | unit | label | value |
---|---|---|---|
inact_tau_slow | "s" | time constant of slow inactivation gate | |
inact_tau_fast | "s" | time constant of fast inactivation gate | |
inact_steady | steady state of inactivation gates | ||
act_tau | "s" | time constant of activation gate | |
act_steady | steady state of activation gate | ||
to.inact_total | total inactivation resulting from fast and slow inactivation gates | ||
to.inact_fast.steady | value that n would reach if v_gate was held constant | ||
to.inact_fast.n | ratio of molecules in open conformation | 0.003978453093609672 | |
to.inact_slow.n | ratio of molecules in open conformation | 0.003978453093609672 | |
to.act.n | ratio of molecules in open conformation | 0.3884912691202426 | |
to.g | "S" | ion conductance | |
to.i_open | "A" | i if open_ratio = 1 | |
to.open_ratio | "1" | ratio between 0 (fully closed) and 1 (fully open) | |
to.i_ion | "A" | current used for ion flux | |
vc.i | "A" | measured membrane current | |
vc.g.p.i | "A" | Current flowing into the pin | |
vc.n.i | "A" | Current flowing into the pin | |
l2.i | "A" | Current flowing from pin p to pin n | |
l2.v | "V" | Voltage drop of the two pins (= p.v - n.v) | -0.12 |
vc.g.p.v | "V" | Potential at the pin | 0.0 |
l2.c | "F" | membrane capacitance | 0.01 |
l2.v_init | "V" | initial potential (from short initial stimulation) | -0.09 |
l2.use_init | determines whether initial value for v is used | false | |
to.v_eq | "V" | equilibrium potential | v_k |
to.g_max | "S" | maximum conductance | 2e-08 |
to.current_name | "I_to" | ||
k_in | "mol/m3" | intracellular potassium concentration | 140.0 |
k_ex | "mol/m3" | extracellular potassium concentration | 5.4 |
temp | "K" | cell medium temperature | 288.15 |
v_k | "V" | equilibrium potential for K+ ions | InaMo.Functions.Biochemical.nernst(k_in, k_ex, 1, temp) |