Hi, now I’m trying to implement one of the simplest simulation of gap junction according to example in Brian2.
https://brian2.readthedocs.io/en/stable/examples/synapses.gapjunctions.html
What I want to do is that, there are two neuron and one gap junction from pre to post neuron.
The tried program is below, and it seems my description of synapse equation and/or definition of unit is a bit wrong?
from brian2 import *
# Parameters
# Neuron Parameters
N1 = 1
N2 = 1
Cm = 289.5*pF
gL = 28.95*nS
EL = -70*mV
Vt = -57*mV
Vr = -70*mV
tau_ref = 5*ms
w = 4*mV
# I = 1*nA
# Neuron model
neuron_eqs = '''
dv/dt = (gL*(EL-v) + I +Igap)/Cm : volt
I : amp
Igap : amp
'''
neurons_pre = NeuronGroup(N1, neuron_eqs, threshold='v>Vt', reset='v = Vr', refractory=5*ms,
method='exact')
neurons_pre.v = EL
neurons_pre.I = 1*nA
neurons_post = NeuronGroup(N2, neuron_eqs, threshold='v>Vt', reset='v = Vr', refractory=5*ms,
method='exact')
neurons_post.v = EL
neurons_post.I = 0*nA
S = Synapses(neurons_pre, neurons_post, '''
w : 1 # gap junction conductance
Igap_syn = w * (v_pre - v_post) : volt
''')
S.connect(i=[0,1],j=0)
neuron_pre_mon = SpikeMonitor(neurons_pre)
neuron_post_mon = SpikeMonitor(neurons_post)
neuron_pre_state = StateMonitor(neurons_pre, 'v', record=True)
neuron_post_state = StateMonitor(neurons_post, 'v', record=True)
run(20 * ms)
subplot(411)
plot(neuron_pre_mon.t/ms, neuron_pre_mon.i,',k')
xlim(0,20)
subplot(412)
plot(neuron_pre_state.t/ms, neuron_pre_state.v[0]/mV)
xlim(0,20)
xlabel('t (ms)')
ylabel('v (mV)')
subplot(413)
plot(neuron_post_mon.t/ms, neuron_post_mon.i,',k')
xlim(0,20)
subplot(414)
plot(neuron_post_state.t/ms, neuron_post_state.v[0]/mV)
xlim(0,20)
xlabel('t (ms)')
ylabel('v (mV)')
show()
I want to see, like actual gap junction, pre-neuron also gets voltage change from post-neuron. That’s bidirectional transmission of response through electric synapse.
If somebody can advice me, or share some information, I’m really glad to solve the problems!!
Ysj