5-neuron-model of neocortex for producing realistic extracellular AP shapes (Van Dijck et al. 2012)

 Download zip file 
Help downloading and running models
Accession:226812
This is a 5-neuron model of neocortex, containing one tufted layer-5 pyramidal cell, two non-tufted pyramidal cells, and two inhibitory interneurons. It was used to reproduce extracellular spike shapes in a study comparing algorithms for spike sorting and electrode selection. The neuron models are adapted from Dyhrfjeld-Johnsen et al. (2005).
Reference:
1 . Van Dijck G, Seidl K, Paul O, Ruther P, Van Hulle MM, Maex R (2012) Enhancing the yield of high-density electrode arrays through automated electrode selection. Int J Neural Syst 22:1-19 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Extracellular; Neuron or other electrically excitable cell; Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Neocortex U1 L5B pyramidal pyramidal tract GLU cell; Neocortex U1 L2/6 pyramidal intratelencephalic GLU cell;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: GENESIS;
Model Concept(s):
Implementer(s): Maex, Reinoud [reinoud at bbf.uia.ac.be];
Search NeuronDB for information about:  Neocortex U1 L5B pyramidal pyramidal tract GLU cell; Neocortex U1 L2/6 pyramidal intratelencephalic GLU cell;
/
Five-neuron-neocortex
L5P37C-onlybasal
channels
README
Axon_chans.g *
Axon_chans_tab.g
Axon_comps.g
DiffRm.g *
DS1_141099_rot2_sc_defmesh_axon_onlybasal.p
electrodes_fixbug.g
electrodes_try.g *
Excitatory_fibres.g
Fibres.g *
Firing_rate_modulation.g *
Firing_rate_profile.g *
Golgi_grc_multicomp_ax.g
Gran_chan_tab.g *
Gran_comp_soma_dend_axon.g
Gran_const.g *
Gran_synchan.g *
Harsch-Robinson_modulation.g *
Hgradient.g *
Inhibitory_fibres.g *
L5P_ascout.g
L5P_ascout_exp.g *
L5P_chans.g *
L5P_chans_tab.g
L5P_chans_tab_Temp.g *
L5P_chans_Temp.g *
L5P_comps.g *
L5P_comps+axon+syn.g
L5P_const.g *
L5P_const+axon+syn.g *
L5P_graph.g
L5P_history.g
L5P_onlybasal_make.g
L5P_synchan.g
L5P37C_onlybasal.g
nsynapses.g *
                            
//genesis

float dt = 10e-6 
str label = "basalonly" // "notuft" // "fixbug" // 'try'


   str filename = "./" // "/cluster/scratch/local/reinoud/"

setclock 0 {dt} 
setclock 1 50e-6 
float tmax = 0.15
str name

include defaults.g

//Make prototype channels and compartments in library
include L5P_const+axon+syn.g

        if (!({exists /library }))
               create neutral /library
        end
        disable /library
        pushe library



// We borrow channels from cerebellar granule/Golgi cell, hoping to
// produce a cell with narrower action potentials

if (! {exists /library/granule})
    create neutral /library/granule
end
ce /library/granule

include ../Granule_cell/Gran_const.g 
include ../Granule_cell/Gran_chan_tab.g
//include ../Granule_cell/Gran_synchan.g


include L5P_synchan.g
include ../Granule_cell/Gran_const.g 

include Gran_comp_soma_dend_axon.g


   if (! {exists /library/granule})
      create neutral /library/granule
   end
   ce /library/granule

// Make the prototypes of channels and compartments that can be invoked in .p files
   make_Granule_chans
//   make_Granule_syns
   make_Granule_comps_soma_dend_axon

pope



//Set up multicompartmental model in Hines solver mode based on reconstructed morphology
readcell DS1_141099_rot2_sc_defmesh_axon_onlybasal.p /L5P // -hsolve


//rotcoord /L5P {-3.1415927/2} -x  // does not work : gives segmentation violation
// the following trick works

      foreach name ({el /L5P/##[][TYPE=compartment]})
	rotcoord {name} {3.1415927/2} -x -fixkids
      end

      foreach name ({el /L5P/##[]/##[]})
	rotcoord {name} {3.1415927/2} -x  -fixkids 
      end

      foreach name ({el /L5P/##[][TYPE=compartment]})
	rotcoord {name} {3.1415927/2} -y -fixkids
      end

      foreach name ({el /L5P/##[]/##[]})
	rotcoord {name} {3.1415927/2} -y  -fixkids 
      end


setfield /L5P/soma/InNa Gbar {{getfield /L5P/soma/InNa Gbar} * 10}
setfield /L5P/soma/KDr Gbar {{getfield L5P/soma/KDr Gbar} * 10}


//Set up differential distributions of Rm and h-channels
include DiffRm.g
include Hgradient.g

DiffRm /L5P 4.0 0.27 500e-6 50e-6
Hgradient /L5P H 0.15 6.0 500e-6 50e-6



//Set up graphical and ascii output
include L5P_graph.g
include L5P_ascout.g


// include electrodes.g
include electrodes_fixbug.g


ce /L5P


// setup the hines solver

echo preparing hines solver...
create hsolve solve
ce solve
// if this is set then reset will NOT change Vm in Hines
 setfield . path "../##[][TYPE=compartment]" comptmode 1 chanmode 5 // 4 // 5 // 3 
call . SETUP

setmethod 11

reset


randseed 54321 // 12345


// generate for each compartment as associated fibre
include Excitatory_fibres
include Inhibitory_fibres


//include nsynapses

include Firing_rate_profile.g

make_firing_rate_profile  /Excitatory_fibres/FF  0.0008  0.0002 2 -0.0001 0.0001 1 10 

make_firing_rate_profile  /Excitatory_fibres/FBintra  0.001  0.0002 2 -0.0001 0.0001 1 10 

make_firing_rate_profile  /Inhibitory_fibres/FF  0.0008  0.0004 1 -0.000 0.0004 2 45 

make_firing_rate_profile  /Inhibitory_fibres/FBintra  0.001  0.0004 1 -0.000 0.0002 2 45 

include Harsch-Robinson_modulation.g

Harsch_Robinson_modulation 30 0.1 


include Firing_rate_modulation.g


include L5P_history.g


randseed 12345

// current injection

//setfield /L5P/soma inject 540e-12 // 400e-12 // 800e-12 // 1200e-12  // 1600e-12 // 800e-12



// because there is a bug with the graph window when plotting with hines solver
/*
name = {findsolvefield /L5P/solve /L5P/soma Vm}
addmsg /L5P/solve /data1/DS1_141099 PLOT {name} *Soma_Vm *red

name = {findsolvefield /L5P/solve  /L5P/axon[19] Vm}
addmsg /L5P/solve /data1/DS1_141099 PLOT {name} *Axon_Vm *blue

name = {findsolvefield /L5P/solve /L5P/p6b2b2[15] Vm}
addmsg /L5P/solve /data1/DS1_141099 PLOT {name} *Dend_Vm *black 
*/
reset

 step 0.1 -t

//quit



Loading data, please wait...