You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.5 KiB
65 lines
1.5 KiB
2 years ago
|
COMMENT
|
||
|
|
||
|
Iclamp2.mod: Electrode current injection, revised for our own use
|
||
|
I specifically needed more step changes in a single waveform than
|
||
|
were provided by the default code. This routine gives us 5 levels:
|
||
|
holding, 3 steps, and a final (holding?) level.
|
||
|
|
||
|
This version generates a pulse of duration at amplitude I for
|
||
|
onset times in the vector onset[STEP] and durations in dur[STEP]
|
||
|
Each pulse is independent and pulses _could_ overlap.
|
||
|
|
||
|
Since this is an electrode current, positive values of I depolarize the cell
|
||
|
and in the presence of the extracellular mechanism there will be a change
|
||
|
in vext since I is not a transmembrane current but a current injected
|
||
|
directly to the inside of the cell.
|
||
|
|
||
|
(modified and borrowed extensively from other Neuron code,
|
||
|
2001-2002. Paul B. Manis)
|
||
|
|
||
|
ENDCOMMENT
|
||
|
|
||
|
INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
|
||
|
|
||
|
DEFINE NSTEP 5 : maximum number of steps supported in this mechanism
|
||
|
|
||
|
NEURON {
|
||
|
POINT_PROCESS IClamp2
|
||
|
RANGE onset, dur, amp, i
|
||
|
ELECTRODE_CURRENT i
|
||
|
}
|
||
|
UNITS {
|
||
|
(nA) = (nanoamp)
|
||
|
}
|
||
|
PARAMETER {
|
||
|
}
|
||
|
|
||
|
ASSIGNED {
|
||
|
i (nA)
|
||
|
index
|
||
|
onset[NSTEP] (ms)
|
||
|
dur[NSTEP] (ms)
|
||
|
amp[NSTEP] (nA)
|
||
|
pu
|
||
|
}
|
||
|
|
||
|
INITIAL {
|
||
|
i = 0 (nA)
|
||
|
index = 0
|
||
|
pu = 0
|
||
|
}
|
||
|
:
|
||
|
: at each onset time, a pulse of duration dur is generated.
|
||
|
:
|
||
|
|
||
|
BREAKPOINT {
|
||
|
i = 0
|
||
|
FROM index = 0 TO NSTEP-1 {
|
||
|
if(t > onset[index]) {
|
||
|
if(t < (dur[index]+onset[index])) {
|
||
|
i = i + amp[index] : allows overlap
|
||
|
} : end of if condition
|
||
|
} :end of second if condition
|
||
|
} : end of "FROM" (for) loop
|
||
|
} : end of breakpoint
|