Network with two cells and graded synapses

Moderator: wwlytton

Post Reply
noorubm
Posts: 6
Joined: Thu Feb 04, 2010 6:39 pm

Network with two cells and graded synapses

Post by noorubm » Tue Jul 27, 2010 4:04 pm

Hello Again,

I've built a network model of two neurons. I would like to insert two graded synapses that have identical parameters and then optimize the model. I wrote a code to set the parameters of the two graded synapses, syn1 and syn2, equal. When I run the program, it doesn't give me any error, however, the parameters of syn1 and syn2 do not change if I change any of the parameters, i.e. pmaxg, pmtaufall. So, I'm hoping if anybody could look at the code.

Code: Select all

pmaxg = 1
pmtaufall = 1
pmtaurise = 1
phtaufall = 1
phtaurise = 1
pkm = 10
plm = 10
pkh = 10
plh = 10

proc init() {
	syn1 {
		maxg = pmaxg
	     	mtaufall = pmtaufall
	    	mtaurise = pmtaurise
	     	htaufall = phtaufall
	    	htaurise = phtaurise
	     	km = pkm
	     	lm = plm
	     	kh = pkh
	     	lh = plh
		}

	syn2 {
		maxg = pmaxg
	     	mtaufall = pmtaufall
	    	mtaurise = pmtaurise
	     	htaufall = phtaufall
	    	htaurise = phtaurise
	     	km = pkm
	     	lm = plm
	     	kh = pkh
	     	lh = plh
		}
            
	finitialize(v_init)

        if (cvode.active()) {
                cvode.re_init()
                } else {
			fcurrent()
                        }
        frecord_init()
}
Thanks,

Yamin

ted
Site Admin
Posts: 5570
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Network with two cells and graded synapses

Post by ted » Tue Jul 27, 2010 10:40 pm

Presumably the synaptic mechanisms are implemented as point processes. Point processes are instances of object classes, therefore objects, and dot notation is used to refer to their properties. For example, suppose you had a synaptic mechanism class called SuperSyn and this class has a parameter called tau. Then

Code: Select all

objref foo
soma foo = new SuperSyn(0.5) // attaches a new instance of SuperSyn class to soma(0.5)
  // and calls it foo
foo.tau = 10 // set foo's time constant to 10
Dot notation also works for the properties of sections.
soma.L = 25
soma.diam = 0.1

However, the code example you provide tries to use "section stack notation" to specify the properties of the synaptic mechanisms. Section stack notation looks like this

Code: Select all

soma { // name of section, then "open curly bracket"
  // inside the paired curly bradkets the properties of soma can be referred to
  // without repeating the name "soma"
  L = 25 // this L belongs to soma
  diam = 0.1 // so does this diam
} // finally "close curly bracket"
Unfortunately, if you try something similar to set the properties of a point process or any other object, e.g.

Code: Select all

objref foo
soma foo = new SuperSyn(0.5)
foo {
  tau = 10
  e = 0
}
NEURON won't understand. You have to use dot notation to do this.

A lot of this stuff is discussed in chapters 5 and 6 of The NEURON Book, which you should (re)read if you haven't already done so. If you don't have the book, then please read
Hines, M.L. and Carnevale, N.T.
The NEURON simulation environment.
Neural Computation 9:1179-1209, 1997
(preprint available from http://www.neuron.yale.edu/neuron/nrnpubs).

Post Reply