Stimulator¶
-
class
managers.operatorsSimaudit.stimulator.Stimulator¶ Available methods:
Method name Method type inject_IClamp()static method inject_IRamp()static method inject_GrC_Sine()static method inject_current_NEURON()class method inject_SEClamp()static method inject_VClamp()static method inject_voltage_NEURON()class method NOTE:
inject_IClampreturns list_of_currents where each element ishocobjecth.IClampinject_IRampreturns list_of_currents where each element ishocobjecth.IRampinject_current_NEURONreturns stimuli_list where each element ishocobjecth.IClampor ``h.IRamp` depending on current type.
Notice that
h.IClampis a default object in NEURON buth.IRampandh.GrC_Sineare custom built objects. The former is built here inDummyModelof a cell which will get compiled. The later is build in theGrC2001Egidiomodel, a sinusoidal current injection for the Granule cell. However,h.IRampis for injecting ramping current of the form “/” (up ramp), “” (down ramp) or a combination (“/”).-
static
inject_GrC_Sine(parameters, injecsite)¶ Injects
GrC_Sinefor NEURONKeyword Arguments:
Keys Value type parameterslist such that each element is a dictionary [ {}, {}, {} ]
- Eg: [ {“amp”: 0.006, “dur”: 800.0, “delay”: 100.0,
“freq”: 4.0, “phase”: 0.0},
- {“amp”: 0.006, “dur”: 400.0, “delay”: 100.0+800.0,
“freq”: 8.0, “phase”: 0.0} ]
injectsiteneuronsection, for e.g.,cell.somaReturned values: list of currents where each element is a
hocobjecth.GrC_Sine.NOTE: This function is available in
~/cerebmodels/models/cells/GrC2001Dangelo/mod_files/Grc_sine.mod.
-
static
inject_IClamp(parameters, injectsite)¶ Injects IClamp for NEURON
Keyword Arguments:
Keys Value type parameters- list such that each element is a dictionary [ {}, {}, {} ]
- Eg: [ {“amp”: 0.5, “dur”: 100.0, “delay”: 10.0},
- {“amp”: 1.0, “dur”: 50.0, “delay”: 10.0+100.0} ]
injectsiteneuronsection, for e.g.,cell.somaReturned values: list of currents where each element is a
hocobjecth.IClamp.NOTE: The
h.IClampfunction is available in NEURON by default.
-
static
inject_IRamp(parameters, injectsite)¶ Injects
IRampfor NEURONKeyword Arguments:
Keys Value type parameterslist such that each element is a dictionary [ {}, {}, {} ]
- Eg: [ {“amp_initial”: 0.0, “amp_final”: 1.0, “dur”: 100.0,
“delay”: 10.0},
- {“amp_initial””: 1.0, “amp_final”: 0.0, “dur”: 100.0,
“delay”: 10.0+100.0} ]
injectsiteneuronsection, for e.g.,cell.somaReturned values: list of currents where each element is a
hocobjecth.IRamp.NOTE: The
h.IRampfunction is available in~/cerebmodels/models/cells/DummyModel/mod_files/CurrentRamp.mod.
-
static
inject_SEClamp(parameters, injectsite)¶ Injects SEClamp for NEURON
Keyword Arguments:
Keys Value type parameters- list such that each element is a dictionary [ {}, {}, {} ]
- Eg: [ {“amp1”: 0.0, “dur1”: 50.0, “rs”: 1E-6},
- {“amp2”: 10.0, “dur2”: 100.0}, {“amp3”: 20.0, “dur3”: 150.0} ]
- NOTE There is no “amp>3” (therefore no “dur>3”)
- To add the electrode/pipette resistance do it just once
with key “rs”. This should be the same for all because its the same setup, just the amplitudes differ. - Since “Clamp is on at time 0, off at time dur1+dur2+dur3”
if you don’t want to start the simulation with it just set “amp1”: 0.0
injectsiteneuronsection, for e.g.,cell.somaReturned values: list of currents where each element is a
hocobjecth.SEClamp.NOTE:
- The
h.SEClampfunction is available in NEURON as SEClamp by default. - By default the electrode resistance (Re but SEClamp attribute is
rs) is made very small1E-6. This is because the input resistance (Rin) for the voltmeter (i.e, the measuring circuit) must be very large (i.e, infinite resistance) so that the voltage drop across the voltmeter (given by the voltage divider equation, the resistance is Rin/(Rin+Re)) is as close as possible to the membrane voltage it is supposed to be clamping. By making the electrode resistance very small it is the same as infinite Rin.
-
static
inject_VClamp(parameters, injectsite)¶ Injects SEClamp for NEURON
Keyword Arguments:
} |"tau1" and "tau2", do it just once. They should be the same | | |for all because its the same setup, just the amplitude changes| | | - Since “Clamp is on at 0, off at time dur[0]+dur[1]+dur[2]” | | |if you don't want to start the simulation with it just set the| | | first “amp”: 0.0 | +—————-+————————————————————–+ |
injectsite|neuronsection, for e.g.,cell.soma| +—————-+————————————————————–+Returned values: a
hocobjecth.VClamp.NOTE:
- The
h.VClampfunction is available in NEURON as VClamp by default. - By default the electrode resistance (Re but VClamp attribute is
rstim) is made very small1E-6. This is because the input resistance (Rin) for the voltmeter (i.e, the measuring circuit) must be very large (i.e, infinite resistance) so that the voltage drop across the voltmeter (given by the voltage divider equation, the resistance is Rin/(Rin+Re)) is as close as possible to the membrane voltage it is supposed to be clamping. By making the electrode resistance very small it is the same as infinite Rin.
- The
-
inject_current_NEURON(currenttype=None, injparameters=None, neuronsection=None)¶ Sets current injection parameters to either
h.IClamp,h.IRamp,GrC_SineKeyword Arguments:
Keys Value type currenttypestring; "IClamp","IRamp", or"GrC_Sine".injparameters- list such that each element is a dictionary [ {}, {}, {} ]
- for
IClampseeinject_IClamp(). - for
IRampseeinject_IRamp(). - for
GrC_Sineseeinject_GrC_Sine().
neuronsectionneuronsection, for e.g.,cell.soma**Returned values:**Stimuli list where each element is
hocobjecth.IClamp,h.IRamporh.GrC_Sine, depending on the givencurrenttypeparameter.NOTE:
- depending on the currenttype choice
inject_IClamp(),inject_IRamp()orinject_GrC_Sine()is called h.IClampis available in NEURON by defaulth.IRampis custom available in~/cerebmodels/models/cells/DummyModel/mod_files/CurrentRamp.modh.GrC_Sineis custom available in~/cerebmodels/models/cells/GrC2001DAngela/mod_files/Grc_sine.mod
-
inject_voltage_NEURON(voltagetype=None, injparameters=None, neuronsection=None)¶ Sets voltage injection parameters to either
h.SEClamp,h.VClamp,Keyword Arguments:
Keys Value type voltagetypestring; "SEClamp"or"VClamp".injparameters- list such that each element is a dictionary [ {}, {}, {} ]
- for
SEClampseeinject_SEClamp(). - for
VClampseeinject_VClamp().
neuronsectionneuronsection, for e.g.,cell.soma**Returned values:**Stimuli list where each element is
hocobjecth.SEClamporh.VClamp, depending on the givenvoltagetypeparameter.NOTE:
- depending on the currenttype choice
inject_SEClamp()orinject_VClamp()is called h.SEClampand noth.VClampis recommended as it is almost never necessary to use VClamp- also, VClamp will not work with variable step integration (CVODE)