ModelDB is moving. Check out our new site at The corresponding page is

Ribbon Synapse (Sikora et al 2005)

 Download zip file 
Help downloading and running models
A model of the ribbon synapse was developed to replicate both pre- and postsynaptic functions of this glutamatergic juncture. The presynaptic portion of the model is rich in anatomical and physiological detail and includes multiple release sites for each ribbon based on anatomical studies of presynaptic terminals, presynaptic voltage at the terminal, the activation of voltage-gated calcium channels and a calcium-dependent release mechanism whose rate varies as a function of the calcium concentration that is monitored at two different sites which control both an ultrafast, docked pool of vesicles and a release ready pool of tethered vesicles. See paper for more and details.
1 . Sikora MA, Gottesman J, Miller RF (2005) A computational model of the ribbon synapse. J Neurosci Methods 145:47-61 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Synapse;
Brain Region(s)/Organism:
Cell Type(s): Retina ganglion GLU cell; Retina bipolar GLU cell;
Channel(s): I L high threshold;
Gap Junctions:
Receptor(s): AMPA; NMDA;
Transmitter(s): Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Intrinsic plasticity; Calcium dynamics;
Implementer(s): Sikora, Michael [Sikora at];
Search NeuronDB for information about:  Retina ganglion GLU cell; Retina bipolar GLU cell; AMPA; NMDA; I L high threshold; Glutamate;

objref concentrations
concentrations = new Vector()
concentrations.append(0.02, 0.05, 0.1, 0.2)

save_steps_per_ms = steps_per_ms
save_dt = dt

strdef tmpstr
objref fig7graphs, fig7top, fig7bottom, fig7graph[4], another_scene_vec
objref tmpxvec, tmpyvec
tmpxvec=new Vector()	// holds quantites to be graphed
tmpyvec=new Vector()	// holds quantites to be graphed


proc graphmaker() {
// ($1 graphnumber, $2 tstop, $3 steps_per_ms, $4 dt, $5 startx, $6 stopx, $7 starty, $8 stopy)
fig7graph[$1] = new Graph()
fig7graph[$1].size($5, $6, $7, $8)
caconc[0].DC_Level = concentrations.x[$1]

{tstop =$2 steps_per_ms=$3 dt=$4 init() run()}
tmpyvec.line(fig7graph[$1], tmpxvec)
sprint(tmpstr,"[Ca] = %5.3f mM",caconc[0].DC_Level)


fig7graphs = new VBox()

// top graphs 

  fig7top = new HBox()

// graphmaker arguments:
// ($1 graphnumber, $2 tstop, $3 steps_per_ms, $4 dt, $5 startx, $6 stopx, $7 starty, $8 stopy)
    graphmaker(0,        750,               1,     1,      -100,      900,         0, 5500)
    graphmaker(1,         50,               1,     1,       -10,       60,         0, 5500)


// bottom graphs 

  fig7bottom = new HBox()

    graphmaker(2,         50,              10,    .1,       -10,       60,         0, 5500)
    graphmaker(3,         50,              10,    .1,       -10,       60,         0, 5500)



print " Note: the integration time step, dt, was made larger (less accurate)"
print " for the figure 7 multiple plot window demo. dt has been changed back so "
print " subsequent runs will be with the higher accuracy as found in the paper."
steps_per_ms = save_steps_per_ms
dt = save_dt

Loading data, please wait...