I have a question related to NMODL syntax. I would like the expression for the GABA current to change at the onset of a patch clamp simulation.
The patch clamp is not defined in the NMODL file but in my python script. In the mod file, I have set that if my voltage goes beyond a certain value, then the expression for the GABA current should switch as per the script below, and last for a specific duration before it flips back to the original formula. In the script below, I have attempted to set the expression for the GABA current to change at a specific point in time, considering that I know the onset of my patch clamp. Is the below piece of code correct? In principle, I want the GABA current formula to change at the onset of patch clamp (i.e when v>-10) and last for a given duration before switching back to my original formula. What is the syntax to accomplish the latter goal, namely set the time the formula switches to be voltage-dependent?
Code: Select all
:INDEPENDENT {t FROM 0 TO 1 WITH 1 (ms)}
UNITS {
(nA) = (nanoamp)
(mV) = (millivolt)
(umho) = (micromho)
(mS) = (millisiemens)
(molar) = (/liter)
(mM) = (millimolar)
(uM) = (micromolar)
(uS) = (microsiemens)
}
NEURON {
POINT_PROCESS GABAa_simple_fit
POINTER vpre :, vpost : vpost is given as v
RANGE VA : , IGABA_A
NONSPECIFIC_CURRENT i
}
PARAMETER {
gA_bar = -0.3 (uS) :GABA peak conductance, it was 0.3
VA = -80 (mV) : GABA reversal potential
dur = 2300 (ms) : DSI duration + depolarization time
del = 4000 (ms) : start of clamp
}
ASSIGNED {
v (mV) : equivalent to vpost since this is the voltage at the cell containing the synpase
vpre (mV)
i (nA)
}
STATE {
gA :conductance
}
INITIAL {
gA = 0.1
}
BREAKPOINT {
:SOLVE state METHOD cnexp
: IGABA_A = gA_bar*gA*(vpost - VA)
at_time(del)
at_time(del+dur)
if (v > -10) {
if (t < del + dur && t > del) {
i = gA_bar*gA*(v - VA)
gA = 0.4829*t^4-9.123*t^3+53.65*t^2-86.88*t+41.08
} else {
i = gA_bar*(v - VA)
}
} else {
i = gA_bar*(v - VA)
}
}
NET_RECEIVE(weight (uS)) {
gA_bar = weight
}
Alexandra