I'm trying to implement in NEURON some calcium dependent plasticity using the alpha function synapse. I know that I need to declare all the equations that control the weight change inside the NET_RECEIVE block but in these case the equations are cai dependent not explicit dependent of time. There are no error messages but the synapse is working like an regular alpha synapse e doesn't show any kind of plasticity. There is anything wrong at the NET_RECEIVE block?
Code: Select all
BREAKPOINT {
SOLVE state METHOD cnexp
g = (B - A)
i = g*(v - e)
}
DERIVATIVE state {
A' = -A/tau1
B' = -B/tau2
}
NET_RECEIVE(weight (umho),dw, eta, omega, cai0 (mM)) {
INITIAL { dw = 0 cai0 = cai }
eta = ((p1*(((cai-cai0)+p4))^p3)/((((cai-cai0)+p4)^p3)+(p2)^p3))
omega = (((exp(b2*((cai-cai0)-a2)))/(1+exp(b2*((cai-cai0)-a2))))-0.5*((exp(b2*((cai-cai0)-a2)))/(1+exp(b2*((cai-cai0)-a2)))))
cai0 = cai
dw = (eta*omega)
state_discontinuity(A, A + weight*dw)
state_discontinuity(B, B + weight*dw)
:printf("\t%g\t%g\n", omega, eta)
}