## Multiple Gap Junctions on a Single Neuron

The basics of how to develop, test, and use models.
Priti Gupta
Posts: 5
Joined: Mon Jul 02, 2012 5:15 am

### Multiple Gap Junctions on a Single Neuron

Hello,

I am trying to connect a Neuron with 2 other neurons by gap junctions using the pointer method but my code doesn't seem to work. Is it possible to have more than 1 Gap Junction on a single neuron? If yes, is there anything in particular regarding distance between the 2 Gap Junctions etc that I need to keep in mind?

Code: Select all

``````       func lambda(){local i
if(numarg()==0){
print "Calculate decay length(um) with"
print "  Ra(ohm-cm), Rm(ohm-cm^2), diameter(um)"
return 0
}
i=50*sqrt(\$2*\$3/\$1)
return i
}
//-------------------------------------------------------------------------------
// Build up a model with three neurons which own Na and K channels acting as
// Hodgkin-Huxley model

create neuron
// create standard hh neurons
proc NeuronGeometry(){ local i,dlamda,n
if(numarg()!=2){
print "Create neurons with cell length(um),cell diameter(um)"
return
}
// create standard hh neurons
for(i=0; i<6; i+=1){
access neuron[i]
cm = 1
Ra = 35.4
L = \$1
diam = \$2
insert hh
ena 		= 50
ek  		= -77
gnabar_hh 	= 0.12
gkbar_hh 	= 0.036
gl_hh 		= 0.0003
el_hh  		= -54.3
dlamda = lambda(Ra,1.0/gl_hh,diam)/50
n= L/dlamda
n = int(n/2)*2+1
nseg=n
}
}

NeuronGeometry(5000,25)

//-------------------------------------------------------------------------------
//construct gap junctions between each neuron pair for 1st oscillator
objref gpre,gpost
for(i=0;i<3;i+=1){
neuron[i] 	gpre[i]  = new Gap(0.999)
neuron[(i+1)%3] 	gpost[i] = new Gap(0.001)
setpointer  gpre[i].vnb,  neuron[(i+1)%3].v(0.001)
setpointer  gpost[i].vnb, neuron[i].v(0.999)
}
proc gap_r(){local i
if(numarg()!=3){
print "provide gap_n0-n1 , gap_n1-n2, and gap_n2-n0 value(MOhm)"
return
}
for(i=1;i<=3;i+=1){
gpre[i-1].r = \$i
gpost[i-1].r= \$i
}
}
gap_r(0.9524,0.9524,0.9524)

//construct gap junctions between each neuron pair for 1st oscillator over

// create two stimuli objects(for first oscillator, neuron 0, 1 and 2)
access neuron
objref st
for(i=0;i<2;i+=1){
st[i]		= new IClamp(0.01)
st[i].del	= 0.5
st[i].dur 	= 0.05

}
proc SetST(){
if(numarg()==0){
print "Set stimulator with interval(ms),st amp,stamp"
return
}
st.del = 0.5 + \$1	st.amp=\$2	st.amp=\$3
}

SetST(2,295.5,300)

//construct gap junctions between each neuron pair for 2nd oscillator

neuron   gpre  = new Gap(0.999)
neuron   gpost = new Gap(0.001)
setpointer  gpre.vnb,  neuron.v(0.001)
setpointer  gpost.vnb, neuron.v(0.999)

neuron   gpre  = new Gap(0.999)
neuron   gpost = new Gap(0.001)
setpointer  gpre.vnb,  neuron.v(0.001)
setpointer  gpost.vnb, neuron.v(0.999)

neuron   gpre  = new Gap(0.999)
neuron   gpost = new Gap(0.001)
setpointer  gpre.vnb,  neuron.v(0.001)
setpointer  gpost.vnb, neuron.v(0.999)

proc gap_r2(){local i
if(numarg()!=3){
print "provide gap_n6-n4 , gap_n4-n5, and gap_n5-n6 value(MOhm)"
return
}

gpre.r = \$1
gpost.r= \$1
gpre.r = \$2
gpost.r= \$2
gpre.r = \$3
gpost.r= \$3

}

gap_r2(0.9524,0.9524,0.9524)
// gap_r2(.1,.1,.1)
//gap_r(.98,.98,.98)
//construct gap junctions between each neuron pair for 2nd oscillator over

// create two stimuli objects(for second oscillator, neuron 3, 4 and 5)
access neuron
objref st2
for(i=0;i<2;i+=1){
st2[i]		= new IClamp(0.01)
st2[i].del	= .5
st2[i].dur 	= 0.05

}
proc SetST2(){
if(numarg()==0){
print "Set stimulator with interval(ms),st amp,stamp"
return
}
st2.del = .5 + \$1	st2.amp=\$2	st2.amp=\$3
}

SetST2(2,295.5,300)

//Connecting neurons 2 and 3 with gap junction..

neuron gpre  = new Gap(0.980)
neuron gpost = new Gap(0.010)
setpointer gpre.vnb, neuron.v(0.010)
setpointer gpost.vnb,neuron.v(0.980)

gpre.r=.98
gpost.r=.98

dt=0.001
Dt=0.01
vinit = -65
celsius = 25

``````
In my code, there are 2 Neurons that need to have more than one gap junctions Neurons 2 and 3

Regards,
Priti
ted