Insert point processes in a Starburst Cell model

Managing anatomically complex model cells with the CellBuilder. Importing morphometric data with NEURON's Import3D tool or Robert Cannon's CVAPP. Where to find detailed morphometric data.
Post Reply
ssalgado
Posts: 6
Joined: Mon Apr 28, 2014 11:48 am

Insert point processes in a Starburst Cell model

Post by ssalgado »

I'm trying to model a Starburst Amacrine Cell receiving inputs from bipolar cells. I've done this before in a simplified model of a neuron with 4 perpendicular dendrites. I create a circular grid of bipolar inputs and then, based on the distance and angle, I determine over which dendrites the inputs falls. However, now I'm trying to use a morphological detailed model like this http://neuromorpho.org/neuroMorpho/Keyw ... =starburst.
The model consist on a detailed morphology coded by a long list of pt3dadd calls.
Does anybody have an idea about how to connect the bipolar inputs to the corresponding dendrite?
For clarity, I'll provide the code I use in the simplified model.

Code: Select all

//Initial values for the bipolar inputs
xmin = -ldend
xmax = ldend
ymin = -ldend
ymax = ldend
y = ymin
fila = 0
n_is = 0

//Synaptic inputs location
while (y<=ymax) {
    x = xmin + (1+(-1)^fila)*d_is/4
    while (x<=xmax) {
        a = r1.repick()
        b = r2.repick()
        if (sqrt((x+a*cos(b))^2+(y+a*sin(b))^2)<ldend) { //Circular array
            xaux.append(x+a*cos(b))
            yaux.append(y+a*sin(b))
            n_is += 1
        }
    x += d_is
    }
y += d_is*sin(PI/3)
fila += 1
}

//Synaptic input to dendrite connection
objref numdend, raux
numdend = new Vector(n_is)  //Dendrite number
raux = new Vector(n_is)     //Distance from the soma

for k = 0, n_is-1 {
    angle = atan2(yaux.x[k], xaux.x[k]) //Determines the angle
    if (angle < 0) {                    
        angle += 2*PI
    }
    numdend.x[k] = int(angle*ndend/(2*PI)+0.5) //Determines the corresponding dendrite
    if (numdend.x[k]==ndend) {                      
        numdend.x[k]=0                              
    }                                               
    raux.x[k]=sqrt(xaux.x[k]^2+yaux.x[k]^2)/ldend   //Normalised distance to the soma
}
After this, I just insert the inputs on dendrite(raux).
However, this approach doesn't work with this more sophisticated model.
I've thought about getting the pt3 coordinates somehow, but the documentation hasn't been helpful.

Any ideas will be really appreciated.
Thanks!
ted
Site Admin
Posts: 6289
Joined: Wed May 18, 2005 4:50 pm
Location: Yale University School of Medicine
Contact:

Re: Insert point processes in a Starburst Cell model

Post by ted »

Just to make sure we're starting on the same page, have you read this
http://www.neuron.yale.edu/neuron/stati ... f-geometry
or 5.5.2 3-D specification in the NEURON Book?

In principle, you can

Code: Select all

REPEAT
  generate a new point xs,ys
  for each neurite in your model cell
    for each adjacent pair of morphometric data points in this neurite
      calculate the minimum distance between xs,ys and the line segment
        that is defined by the adjacent morphometric data points
    identify the line segment that is closest to xs,ys
    if the minimum distance from xs,ys to this line segment is small enough
      calculate the normalized distance from the 0 end of the neurite that contains this line segment
      to the point on the line segment that is closest to xs,ys
      place a synaptic mechanism at that location on the section that represents the neurite
UNTIL all synapses have been attached
Post Reply