Large scale neocortical model for PGENESIS (Crone et al 2019)

 Download zip file 
Help downloading and running models
Accession:260267
This is model code for a large scale neocortical model based on Traub et al. (2005), modified to run on PGENESIS on supercomputing resources. "In this paper (Crone et al 2019), we evaluate the computational performance of the GEneral NEural SImulation System (GENESIS) for large scale simulations of neural networks. While many benchmark studies have been performed for large scale simulations with leaky integrate-and-fire neurons or neuronal models with only a few compartments, this work focuses on higher fidelity neuronal models represented by 50–74 compartments per neuron. ..."
Reference:
1 . Crone JC, Vindiola MM, Yu AB, Boothe DL, Beeman D, Oie KS, Franaszczuk PJ (2019) Enabling Large-Scale Simulations With the GENESIS Neuronal Simulator Frontiers in Neuroinformatics 13:69
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Neocortex;
Cell Type(s): Neocortex L2/3 pyramidal GLU cell; Neocortex L5/6 pyramidal GLU cell; Thalamus reticular nucleus GABA cell; Neocortex fast spiking (FS) interneuron; Neocortex layer 2-3 interneuron; Neocortex layer 5 interneuron; Neocortex spiking low threshold (LTS) neuron; Neocortex spiny stellate cell;
Channel(s): I Sodium; I Potassium; I Calcium;
Gap Junctions:
Receptor(s): AMPA; NMDA; GabaA;
Gene(s):
Transmitter(s): Glutamate; Gaba;
Simulation Environment: PGENESIS; GENESIS;
Model Concept(s): Oscillations; Methods; Detailed Neuronal Models; Extracellular Fields;
Implementer(s): Crone, J ; Vindiola, MM ; Yu, AB ; Boothe, DL ; Beeman, Dave; Oie, KS ; Franaszczuk, PJ ; Anderson, WS ; Kudela, Pawel ; Traub, Roger D [rtraub at us.ibm.com];
Search NeuronDB for information about:  Thalamus reticular nucleus GABA cell; Neocortex L5/6 pyramidal GLU cell; Neocortex L2/3 pyramidal GLU cell; GabaA; AMPA; NMDA; I Sodium; I Calcium; I Potassium; Gaba; Glutamate;
// genesis

create xform /Neoxconn [312,0,800,480]
ce /Neoxconn

// Creating a view to look at the input pattern

//float ret_xscale = 0.7
//float ret_yscale = 0.8
//float ret_xoffset = REC_SEPX/2
//float ret_yoffset = REC_SEPX/2

//create xlabel /xconn/"Retinal cells" [2%,2%,45%,30] 

//create xdraw /xconn/draw [2%,10%,45%,300] 
//setfield     /xconn/draw \
//	     xmin {ret_xmin / ret_xscale} \
//	     xmax {ret_xmax / ret_xscale} \
//	     ymin {ret_ymin / ret_yscale} \
//	     ymax {ret_ymax / ret_yscale}


//function showprojfield(widget)
//    str widget
//    str value = {getfield {widget} value}
//    str dest
//    int index

 //   echo showing projective field for {value}

//  int syncount = {getsyncount {value}}
//  int i

//  for (i = 0; i < {syncount}; i = i + 1)
//	dest = {getsyndest {value} {i}}
//	index = {getsyndest {value} {i} -index}
//      echo {dest} synapse {index} \
//	     weight: {getfield {dest} synapse[{i}].weight} \
//	     delay:  {getfield {dest} synapse[{i}].delay}
//  end

// end



//create xview /xconn/draw/retina 
//setfield     /xconn/draw/retina \
//	     tx {ret_xoffset}   \
//	     ty {ret_yoffset}   \
//	     sizescale {REC_SEPX * 30}         \  
//	     morph_val 0                       \
//	     path /retina/recplane/rec[]/input \
//	     script "showprojfield <w>"

//// Creating a pair of views in the same draw to look at the V1 cells.

//float V1_xscale  = 0.7
//float V1_yscale  = 0.8
//float V1_xoffset = 3 * V1_SEPX
//float V1_yoffset = V1_SEPX/2

//create xlabel /xconn/"V1 cells" [52%,2%,45%,30]

//create xdraw /xconn/draw2 [52%,10%,45%,300] 
//setfield     /xconn/draw2  \
//    xmin     -0.000559    \
//    xmax      0.000457    \
//    ymin     -0.00044435  \
//    ymax      0.00044465  \
//    zmin     -0.0807691   \
//    zmax      0.08077     \
//    vx       -0.211083    \
//    vy       -0.779934    \
//    vz        0.589192    \
//    transform ortho3d     


//function showrecfield(widget)
//    str widget
//    str value = {getfield {widget} value} @ "/exc_syn"
//    str src

//    echo showing receptive field for {value}

//    int syncount = {getsyncount {value}}
//    int i

//    for (i = 0; i < {syncount}; i = i + 1)
//	src = {getsynsrc {value} {i}}
//        echo {src} weight {getfield {value} synapse[{i}].weight} \
//		   delay  {getfield {value} synapse[{i}].delay}
//        addmsg {src} /xconn/draw2/horiz VAL1 
//    end
//end


//// create labels for the xview widgets corresponding to V1 cells

//create xshape /xconn/draw2/horiz_label -text horiz  -tx -0.00028 -ty -0.0003
//create xshape /xconn/draw2/vert_label  -text vert   -tx  0.0002  -ty -0.0003

//// Creating the horiz cells to the left of the vert cells.

//create xview /xconn/draw2/horiz 
//setfield     /xconn/draw2/horiz                 \
//             tx {-V1_xoffset}                   \  
//             ty { V1_yoffset}                   \
//	     value_min[0] -0.090                \
//	     value_max[0]  0.060                \
//             sizescale {V1_SEPX * 30.0}         \
//	     morph_val 0                        \
//	     path /V1/horiz/soma[]              \
//	     script "showrecfield <w>"

//// Creating the vert cells to the right of the horiz cells 

//create xview /xconn/draw2/vert
//setfield     /xconn/draw2/vert            \
//             tx {V1_xoffset}              \
//             ty {V1_yoffset}              \
//	     value_min[0] -0.090          \
//	     value_max[0]  0.060          \
//             sizescale {V1_SEPX * 30.0}   \
//	     morph_val 0                  \
//	     path /V1/vert/soma[]         \
//	     script "showrecfield <w>"



////================================================
//// old stuff...
////================================================

//function set_conns 

//end

//function field_toggle(widget)
//    str widget

//    if ({getfield {widget} state} == 1)

//	echo field is weight
//    else

//	echo field is delay
//    end
//end

////create xtoggle /xconn/"delay | weight"  [0,80%,100%,30] -script "field_toggle <w>"
//create xtoggle /xconn/delay_weight  [0,80%,100%,30] -label0 "Displaying delays" \
//        -label1 "Displaying weights" -script "field_toggle <w>"
//create xdialog /xconn/"Set max weight" -script "set_conns" -value  10000.0
//create xdialog /xconn/"Weight decay"   -script "set_conns" -value -1.0000
//
//disable /xconn

Loading data, please wait...