I want to implement the following postsynaptic current:
Code: Select all
Isyn=gmax*s*(V-Vsyn)
Vsyn=-70 mv for the GABA (inhibitory)
Where s is the gating variable modeled as an instantaneus jump of magnitude 1 when a spike occours in the presynaptic neuron followed by an exponential decay with time constant of 2ms for the AMPA and 1ms for the GABAa.
So I read the NMODL chapter and I came with this base code:
Code: Select all
NEURON {
POINT_PROCESS AlphaSyn
RANGE tau, e, i
NONSPECIFIC_CURRENT i
}
UNITS {
(nA) = (nanoamp)
(mV) = (millivolt)
(nS) = (nanosiemens)
}
PARAMETER {
tau = 0.1 (ms) <1e>
e = 0 (mV)
}
ASSIGNED {
v (mV)
i (nA)
}
STATE {
a (uS)
g (uS)
}
INITIAL {
g=0
}
BREAKPOINT {
SOLVE state METHOD sparse
i = g*(v - e)
}
KINETIC state
{
~ a (arrow left arrow right) g (1/tau,0)
~ g (arrow right) (1/tau)
}
NET_RECEIVE(weight (uS)) {
state_discontinuity(a, a + weight*exp(1))
}
Is it right?
I was trying to test the synapse conductance in this way:
Code: Select all
{load_file("nrngui.hoc")}
objref syn
syn=new AlphaSyn()
syn{
tau=10
e=0
}
objref expsyn
expsyn=new ExpSyn()
objref input,netcon
input=new NetStim()
input{
s=1
number=100
start=10
}
tend=300
netcon=new NetCon(input,syn,0,0,1)
So I have to create firsta a section and then insert the synapse?AlphaSyn[0] point process not located in a section
For the NMDA channel is much more complex (for me of course).
Code: Select all
Isyn=gmax*g*s*(V-Vsyn)
Code: Select all
g=1/(1+[Mg2plus])*exp(-0.062*Vm)/3.57) with [Mg2plus]=1.0mM and Vm the membrane potential
but the gating variable s are
Code: Select all
ds/dt=(-1/taus)*s+alphas*x*(1-s)
and
dx/dt=(-1/taux)*x+sum_over_i(delta(t-ti))
where ti=presynaptic spile times
alphas, taus, taux are constant
Is there some template that do similar things?
Thanks.
Code: Select all