Model of the cerebellar granular network (Sudhakar et al 2017)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:232023
"The granular layer, which mainly consists of granule and Golgi cells, is the first stage of the cerebellar cortex and processes spatiotemporal information transmitted by mossy fiber inputs with a wide variety of firing patterns. To study its dynamics at multiple time scales in response to inputs approximating real spatiotemporal patterns, we constructed a large-scale 3D network model of the granular layer. ..."
Reference:
1 . Sudhakar SK, Hong S, Raikov I, Publio R, Lang C, Close T, Guo D, Negrello M, De Schutter E (2017) Spatiotemporal network coding of physiological mossy fiber inputs by the cerebellar granular layer. PLoS Comput Biol 13:e1005754 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Cerebellum;
Cell Type(s): Cerebellum golgi cell;
Channel(s): I A; I Calcium; I K; I K,Ca; I Na,t; I h; I Na,p; I T low threshold;
Gap Junctions: Gap junctions;
Receptor(s): AMPA; NMDA; Gaba;
Gene(s):
Transmitter(s): Glutamate; Gaba;
Simulation Environment: NEURON;
Model Concept(s): Spatio-temporal Activity Patterns; Oscillations; Synchronization; Winner-take-all;
Implementer(s): Hong, Sungho [shhong at oist.jp]; Guo, Daqing [dqguo at uestc.edu.cn]; Raikov, Ivan [ivan.g.raikov at gmail.com]; Publio, Rodrigo [publio at oist.jp]; De Schutter, Erik [erik at oist.jp];
Search NeuronDB for information about:  AMPA; NMDA; Gaba; I Na,p; I Na,t; I T low threshold; I A; I K; I h; I K,Ca; I Calcium; Gaba; Glutamate;
// Template for connections from cerebellar mossy fibers to granule cells
//
// Written by Shyam Kumar Sudhakar, Ivan Raikov, Tom Close, Rodrigo Publio, Daqing Guo, and Sungho Hong
// Computational Neuroscience Unit, Okinawa Institute of Science and Technology, Japan
// Supervisor: Erik De Schutter
//
// Correspondence: Sungho Hong (shhong@oist.jp)
//
// September 16, 2017

begintemplate MFtoGC
public NCelem,enP,nc,ncm
external GranulePop, GolgiPop, MossyPop, step_time, CV_gmax, gseed
objref  NCelem,enP,pc

proc init(){ local i,j, count, mfid localobj nc, ncm, cell,syn,r

    print "Connecting MFtoGC"
    r       = new Random(gseed)
    numGC   = GranulePop.nCells
    numMF   = MossyPop.nCells
    numGoC  = GolgiPop.nCells
    mAMPA   = 0.75*1200e-6
    mNMDA   = 0.9*0.75*18800e-6
    SDAMPA  = mAMPA*CV_gmax
    SDNMDA  = mNMDA*CV_gmax
    del     = 20
    thresh  = -10

    pc = new ParallelContext()
    objref NCelem
    NCelem = new List()

    // Connect up to 4 MF to each Granule cell according rules defined by enPassage
    for (i=pc.id; i < numGC; i +=pc.nhost) {

    cell = pc.gid2cell(i+GranulePop.startindex)

    if (cell.MFID.size()>1) { // At least 1 MF connection

        for j=0, cell.MFID.size()-1 {

          mfid    = cell.MFID.x(j)

          // if synapses are maxed out, create new synapses
          if (j==cell.ampa.count()) {
            cell.soma cell.ampa.append(new GrCAMPAplusNMDA(0.5))
            // cell.soma cell.NMDA.append(new GrCNMDAreduced(0.5))
          }
          syn = cell.ampa.object(j)
          // nmdasyn = cell.NMDA.object(j)

          wAMPA   = r.normal(mAMPA, SDAMPA*SDAMPA)
          wNMDA   = r.normal(mNMDA, SDNMDA*SDNMDA)

          // synaptic weights are in synapses
          syn.gmax_ampa = wAMPA
          syn.gmax_nmda = wNMDA

          nc   = pc.gid_connect(mfid, syn)
          //ncm  = pc.gid_connect(mfid, nmdasyn)

          // weights should be 1 - one release event
          nc.weight  = 1
          //ncm.weight = 1

          if (cell.MFdel.x(j) <= step_time) {
              nc.delay = step_time + step_time/10
          } else {
              nc.delay = cell.MFdel.x(j)
          }

          //if (cell.MFdel.x(j)<=step_time) {
          //    ncm.delay = step_time + step_time/10
          //}else{
          //    ncm.delay = cell.MFdel.x(j)
          //}

          NCelem.append(nc)
          //NCelem.append(ncm)

        }   // end for MFID
    } // end if MFID size >1
    } // end for all grc

} // end init
endtemplate MFtoGC

objref ncMFtoGC[1]
ncMFtoGC[0] = new MFtoGC()