19. Simulation of a HodgkinHuxley-type neuron specified through NeuroUnits
Simulation of a HodgkinHuxley-type neuron specified through NeuroUnits.
Code
import matplotlib as mpl
mpl.rcParams['font.size'] = 14
from morphforge.stdimports import *
from morphforgecontrib.stdimports import *
eqnset_txt_na = """
define_component hh_na {
i = g * (v-erev) * m**3*h
m_inf = m_alpha_rate / (m_alpha_rate + m_beta_rate)
m_tau = 1.0 / (m_alpha_rate + m_beta_rate)
m' = (m_inf-m) / m_tau
h_inf = h_alpha_rate / (h_alpha_rate + h_beta_rate)
h_tau = 1.0 / (h_alpha_rate + h_beta_rate)
h' = (h_inf-h) / h_tau
StdFormAB(V, a1, a2, a3, a4, a5) = (a1+a2*V)/(a3+std.math.exp((V+a4)/a5))
m_alpha_rate = StdFormAB(V=v, a1=m_a1, a2=m_a2, a3=m_a3, a4=m_a4, a5=m_a5)
m_beta_rate = StdFormAB(V=v, a1=m_b1, a2=m_b2, a3=m_b3, a4=m_b4, a5=m_b5)
h_alpha_rate = StdFormAB(V=v, a1=h_a1, a2=h_a2, a3=h_a3, a4=h_a4, a5=h_a5)
h_beta_rate = StdFormAB(V=v, a1=h_b1, a2=h_b2, a3=h_b3, a4=h_b4, a5=h_b5)
m_a1={-4.00 ms-1}; m_a2={-0.10 mV-1 ms-1}; m_a3={-1.00}; m_a4={40.00 mV}; m_a5={-10.00 mV};
m_b1={ 4.00 ms-1}; m_b2={ 0.00 mV-1 ms-1}; m_b3={ 0.00}; m_b4={65.00 mV}; m_b5={ 18.00 mV};
h_a1={ 0.07 ms-1}; h_a2={ 0.00 mV-1 ms-1}; h_a3={ 0.00}; h_a4={65.00 mV}; h_a5={ 20.00 mV};
h_b1={ 1.00 ms-1}; h_b2={ 0.00 mV-1 ms-1}; h_b3={ 1.00}; h_b4={35.00 mV}; h_b5={-10.00 mV};
erev = 50.0mV;
<=> PARAMETER g:(S/m2)
<=> OUTPUT i:(A/m2) METADATA {"mf":{"role":"TRANSMEMBRANECURRENT"} }
<=> INPUT v: V METADATA {"mf":{"role":"MEMBRANEVOLTAGE"} }
} """
eqnset_txt_k = """
define_component hh_k {
i = g * (v-erev) * n*n*n*n
n_inf = n_alpha_rate / (n_alpha_rate + n_beta_rate)
n_tau = 1.0 / (n_alpha_rate + n_beta_rate)
n' = (n_inf-n) / n_tau
StdFormAB(V, a1, a2, a3, a4, a5) = (a1 + a2*V)/(a3+std.math.exp((V+a4)/a5))
n_alpha_rate = StdFormAB(V=v, a1=n_a1, a2=n_a2, a3=n_a3, a4=n_a4, a5=n_a5)
n_beta_rate = StdFormAB(V=v, a1=n_b1, a2=n_b2, a3=n_b3, a4=n_b4, a5=n_b5)
n_a1={-0.55 ms-1}; n_a2={-0.01 mV-1 ms-1}; n_a3={-1.00}; n_a4={55.00 mV}; n_a5={-10.00 mV}
n_b1={0.125 ms-1}; n_b2={ 0.00 mV-1 ms-1}; n_b3={ 0.00}; n_b4={65.00 mV}; n_b5={ 80.00 mV}
g = {36.0mS/cm2}
erev = {-77.0mV}
<=> OUTPUT i:(A/m2) METADATA {"mf":{"role":"TRANSMEMBRANECURRENT"} }
<=> INPUT v: V METADATA {"mf":{"role":"MEMBRANEVOLTAGE"} }
} """
eqnset_txt_lk = """
define_component hh_lk {
i = {0.3mS/cm2} * (v- {-54.3mV})
<=> OUTPUT i:(A/m2) METADATA {"mf":{"role":"TRANSMEMBRANECURRENT"} }
<=> INPUT v: V METADATA {"mf":{"role":"MEMBRANEVOLTAGE"} }
} """
env = NEURONEnvironment()
sim = env.Simulation()
# Create a cell:
morph_dict = {'root': {'length': 18.8, 'diam': 18.8, 'id':'soma'} }
my_morph = MorphologyTree.fromDictionary(morph_dict)
cell = sim.create_cell(name="Cell1", morphology=my_morph)
#soma = cell.get_location("soma")
# Setup passive channels:
cell.set_passive( PassiveProperty.SpecificCapacitance, qty('1.0:uF/cm2'))
# Setup active channels:
na_chl = env.Channel(NeuroUnitEqnsetMechanism, name="NaChl", eqnset=eqnset_txt_na,
default_parameters={"g":qty("120:mS/cm2")}, )
k_chl = env.Channel(NeuroUnitEqnsetMechanism, name="KChl", eqnset=eqnset_txt_k, )
lk_chl = env.Channel(NeuroUnitEqnsetMechanism, name="LKChl", eqnset=eqnset_txt_lk, )
cell.apply_channel( na_chl)
cell.apply_channel( lk_chl)
cell.apply_channel( k_chl)
# Define what to record:
sim.record(cell, what=StandardTags.Voltage, name="SomaVoltage", cell_location = cell.soma)
sim.record(na_chl, what='m', cell_location=cell.soma, user_tags=[StandardTags.StateVariable])
sim.record(na_chl, what='h', cell_location=cell.soma, user_tags=[StandardTags.StateVariable])
sim.record(k_chl, what='n', cell_location=cell.soma, user_tags=[StandardTags.StateVariable])
# Create the stimulus and record the injected current:
cc = sim.create_currentclamp(name="CC1", amp=qty("100:pA"), dur=qty("100:ms"), delay=qty("100:ms"), cell_location=cell.soma)
sim.record(cc, what=StandardTags.Current)
# run the simulation
results = sim.run()
TagViewer(results, timerange=(50, 250)*units.ms, show=True)
Figures
Download Figure
Output
No handlers could be found for logger "neurounits"
Openning ScriptFlags
/auto/homes/mh735/hw/NeuroUnits/ext_deps
Loading StdLib file: /auto/homes/mh735/hw/NeuroUnits/src/neurounits/../stdlib/stdlib.eqn
CHECKING
<Parameter [id:69759184] Symbol: 'g' >
g
iii 1.0 s**3*A**2/(kg*m**4) <class 'quantities.quantity.Quantity'>
iiii 1200.0 s**3*A**2/(kg*m**4) <class 'quantities.quantity.Quantity'>
OK
Output <StateVariable [id:69746000] Symbol: 'h' >
None
Output <StateVariable [id:69745168] Symbol: 'm' >
None
Output <AssignedVariable [id:69751376] Symbol: 'h_alpha_rate' >
None
Output <AssignedVariable [id:69751184] Symbol: 'h_beta_rate' >
None
Output <AssignedVariable [id:69754256] Symbol: 'h_inf' >
None
Output <AssignedVariable [id:69743760] Symbol: 'h_tau' >
None
Output <AssignedVariable [id:69754640] Symbol: 'i' >
{u'mf': {u'role': u'TRANSMEMBRANECURRENT'}}
Output <AssignedVariable [id:69752528] Symbol: 'm_alpha_rate' >
None
Output <AssignedVariable [id:69754832] Symbol: 'm_beta_rate' >
None
Output <AssignedVariable [id:69743056] Symbol: 'm_inf' >
None
Output <AssignedVariable [id:69750992] Symbol: 'm_tau' >
None
input <SuppliedValue [id:69759632] Symbol: 'v' >
{u'mf': {u'role': u'MEMBRANEVOLTAGE'}}
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
h_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
h_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
h_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
m_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
m_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
h_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
h_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
m_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
m_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
m_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
g <class 'neurounits.ast.astobjects.Parameter'>
v <class 'neurounits.ast.astobjects.SuppliedValue'>
m <class 'neurounits.ast.astobjects.StateVariable'>
h <class 'neurounits.ast.astobjects.StateVariable'>
Writing assignment for: <EqnAssignmentByRegime [id:69751504] Symbol: h_alpha_rate >
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
Writing assignment for: <EqnAssignmentByRegime [id:69751312] Symbol: h_beta_rate >
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
Writing assignment for: <EqnAssignmentByRegime [id:69745104] Symbol: h_tau >
h_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
h_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
Writing assignment for: <EqnAssignmentByRegime [id:69752656] Symbol: m_alpha_rate >
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
Writing assignment for: <EqnAssignmentByRegime [id:69759120] Symbol: m_beta_rate >
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
Writing assignment for: <EqnAssignmentByRegime [id:69744272] Symbol: m_inf >
m_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
m_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
m_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
Writing assignment for: <EqnAssignmentByRegime [id:69754768] Symbol: i >
g <class 'neurounits.ast.astobjects.Parameter'>
v <class 'neurounits.ast.astobjects.SuppliedValue'>
m <class 'neurounits.ast.astobjects.StateVariable'>
h <class 'neurounits.ast.astobjects.StateVariable'>
Writing assignment for: <EqnAssignmentByRegime [id:69751120] Symbol: m_tau >
m_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
m_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
Writing assignment for: <EqnAssignmentByRegime [id:69754384] Symbol: h_inf >
h_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
h_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
h_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
m_inf <class 'neurounits.ast.astobjects.AssignedVariable'>
m <class 'neurounits.ast.astobjects.StateVariable'>
m_tau <class 'neurounits.ast.astobjects.AssignedVariable'>
h_inf <class 'neurounits.ast.astobjects.AssignedVariable'>
h <class 'neurounits.ast.astobjects.StateVariable'>
h_tau <class 'neurounits.ast.astobjects.AssignedVariable'>
__exp__
x <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a1 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a2 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
V <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a3 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
T [<class 'neurounits.ast.astobjects.DivOp'>]
V <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a4 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a5 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
Output <StateVariable [id:69834576] Symbol: 'n' >
None
Output <AssignedVariable [id:69835216] Symbol: 'i' >
{u'mf': {u'role': u'TRANSMEMBRANECURRENT'}}
Output <AssignedVariable [id:69833360] Symbol: 'n_alpha_rate' >
None
Output <AssignedVariable [id:70971600] Symbol: 'n_beta_rate' >
None
Output <AssignedVariable [id:69834704] Symbol: 'n_inf' >
None
Output <AssignedVariable [id:69836560] Symbol: 'n_tau' >
None
input <SuppliedValue [id:70971792] Symbol: 'v' >
{u'mf': {u'role': u'MEMBRANEVOLTAGE'}}
v <class 'neurounits.ast.astobjects.SuppliedValue'>
n <class 'neurounits.ast.astobjects.StateVariable'>
n <class 'neurounits.ast.astobjects.StateVariable'>
n <class 'neurounits.ast.astobjects.StateVariable'>
2013-10-19 15:41:35,151 - morphforge.core.logmgr - INFO - Logger Started OK
2013-10-19 15:41:35,151 - DISABLEDLOGGING - INFO - _run_spawn() [Pickling Sim]
No handlers could be found for logger "neurounits"
2013-10-19 15:41:36,829 - morphforge.core.logmgr - INFO - Logger Started OK
2013-10-19 15:41:36,829 - DISABLEDLOGGING - INFO - Ensuring Modfile is built
NEURON -- Release 7.1 (359:7f113b76a94b) 2009-10-26
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2008
See http://www.neuron.yale.edu/credits.html
Openning ScriptFlags
/auto/homes/mh735/hw/NeuroUnits/ext_deps
Loading StdLib file: /auto/homes/mh735/hw/NeuroUnits/src/neurounits/../stdlib/stdlib.eqn
Loading Bundle from: /local/scratch/mh735/tmp/morphforge/tmp/simulationresults/4b/4ba98eda843959ebd269962e96aa7375.bundle (134k) : 0.822 seconds
Executing: /opt/nrn//x86_64/bin/modlunit /local/scratch/mh735/tmp/morphforge/tmp/tmp_cd6809176d3abd247f44455d8c36c5d4.mod
/local/scratch/mh735/tmp/morphforge/tmp/modbuild_18503
Executing: /opt/nrn//x86_64/bin/nocmodl tmp_cd6809176d3abd247f44455d8c36c5d4.mod
Executing: /opt/nrn//share/nrn/libtool --mode=compile gcc -DHAVE_CONFIG_H -I"." -I".." -I"/opt/nrn//include/nrn" -I"/opt/nrn//x86_64/lib" -g -O2 -c -o tmp_cd6809176d3abd247f44455d8c36c5d4.lo tmp_cd6809176d3abd247f44455d8c36c5d4.c
Executing: /opt/nrn//share/nrn/libtool --mode=link gcc -module -g -O2 -shared -o tmp_cd6809176d3abd247f44455d8c36c5d4.la -rpath /opt/nrn//x86_64/libs tmp_cd6809176d3abd247f44455d8c36c5d4.lo -L/opt/nrn//x86_64/lib -L/opt/nrn//x86_64/lib /opt/nrn//x86_64/lib/libnrniv.la -lnrnoc -loc -lmemacs -lnrnmpi -lscopmath -lsparse13 -lreadline -lncurses -livoc -lneuron_gnu -lmeschach -lsundials -lm -ldl
OP1: libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I/opt/nrn//include/nrn -I/opt/nrn//x86_64/lib -g -O2 -c tmp_cd6809176d3abd247f44455d8c36c5d4.c -fPIC -DPIC -o .libs/tmp_cd6809176d3abd247f44455d8c36c5d4.o
OP2: libtool: link: gcc -shared .libs/tmp_cd6809176d3abd247f44455d8c36c5d4.o -Wl,-rpath -Wl,/opt/nrn/x86_64/lib -Wl,-rpath -Wl,/opt/nrn/x86_64/lib -L/opt/nrn//x86_64/lib /opt/nrn/x86_64/lib/libnrniv.so /opt/nrn/x86_64/lib/libnrnoc.so /opt/nrn/x86_64/lib/liboc.so /opt/nrn/x86_64/lib/libmemacs.so /opt/nrn/x86_64/lib/libnrnmpi.so /opt/nrn/x86_64/lib/libscopmath.so /opt/nrn/x86_64/lib/libsparse13.so -lreadline -lncurses /opt/nrn/x86_64/lib/libivoc.so /opt/nrn/x86_64/lib/libneuron_gnu.so /opt/nrn/x86_64/lib/libmeschach.so /opt/nrn/x86_64/lib/libsundials.so -lm -ldl -pthread -Wl,-soname -Wl,tmp_cd6809176d3abd247f44455d8c36c5d4.so.0 -o .libs/tmp_cd6809176d3abd247f44455d8c36c5d4.so.0.0.0
libtool: link: (cd ".libs" && rm -f "tmp_cd6809176d3abd247f44455d8c36c5d4.so.0" && ln -s "tmp_cd6809176d3abd247f44455d8c36c5d4.so.0.0.0" "tmp_cd6809176d3abd247f44455d8c36c5d4.so.0")
libtool: link: (cd ".libs" && rm -f "tmp_cd6809176d3abd247f44455d8c36c5d4.so" && ln -s "tmp_cd6809176d3abd247f44455d8c36c5d4.so.0.0.0" "tmp_cd6809176d3abd247f44455d8c36c5d4.so")
libtool: link: ( cd ".libs" && rm -f "tmp_cd6809176d3abd247f44455d8c36c5d4.la" && ln -s "../tmp_cd6809176d3abd247f44455d8c36c5d4.la" "tmp_cd6809176d3abd247f44455d8c36c5d4.la" )
loading membrane mechanisms from /local/scratch/mh735/tmp/morphforge/tmp/modout/mod_ca8dcbfc919825f99128141af208e01b.so
loading membrane mechanisms from /local/scratch/mh735/tmp/morphforge/tmp/modout/mod_b710d7b3064eaabef925f2922f85b448.so
loading membrane mechanisms from /local/scratch/mh735/tmp/morphforge/tmp/modout/mod_93d06d3f20b2d6593340a07499d4b3f7.so
1
1
0.01
0
1
50000
1
50000
1
50000
1
50000
1
50000
1
Running Simulation
Time for Extracting Data: (5 records) 0.00263094902039
Running simulation : 0.608 seconds
Post-processing : 0.022 seconds
Entire load-run-save time : 1.452 seconds
Suceeded
n <class 'neurounits.ast.astobjects.StateVariable'>
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
n_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
n_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
n_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
n_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
n_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
Writing assignment for: <EqnAssignmentByRegime [id:69833168] Symbol: n_alpha_rate >
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
Writing assignment for: <EqnAssignmentByRegime [id:70971728] Symbol: n_beta_rate >
T [<class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SymbolicConstant'>, <class 'neurounits.ast.astobjects.SuppliedValue'>]
v <class 'neurounits.ast.astobjects.SuppliedValue'>
Writing assignment for: <EqnAssignmentByRegime [id:69835152] Symbol: n_inf >
n_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
n_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
n_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
Writing assignment for: <EqnAssignmentByRegime [id:69836688] Symbol: n_tau >
n_alpha_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
n_beta_rate <class 'neurounits.ast.astobjects.AssignedVariable'>
Writing assignment for: <EqnAssignmentByRegime [id:69835344] Symbol: i >
v <class 'neurounits.ast.astobjects.SuppliedValue'>
n <class 'neurounits.ast.astobjects.StateVariable'>
n <class 'neurounits.ast.astobjects.StateVariable'>
n <class 'neurounits.ast.astobjects.StateVariable'>
n <class 'neurounits.ast.astobjects.StateVariable'>
n_inf <class 'neurounits.ast.astobjects.AssignedVariable'>
n <class 'neurounits.ast.astobjects.StateVariable'>
n_tau <class 'neurounits.ast.astobjects.AssignedVariable'>
__exp__
x <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a1 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a2 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
V <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a3 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
T [<class 'neurounits.ast.astobjects.DivOp'>]
V <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a4 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
a5 <class 'neurounits.ast.astobjects.FunctionDefParameter'>
Output <AssignedVariable [id:71014224] Symbol: 'i' >
{u'mf': {u'role': u'TRANSMEMBRANECURRENT'}}
input <SuppliedValue [id:71014096] Symbol: 'v' >
{u'mf': {u'role': u'MEMBRANEVOLTAGE'}}
v <class 'neurounits.ast.astobjects.SuppliedValue'>
Writing assignment for: <EqnAssignmentByRegime [id:71014352] Symbol: i >
v <class 'neurounits.ast.astobjects.SuppliedValue'>
PlotMnager:Saving _output/figures/poster1/{png,svg}/fig000_Autosave_figure_1.{png,svg}