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-notuft
channels
README
Axon_chans.g *
Axon_chans_tab.g
Axon_comps.g
DiffRm.g *
DS1_141099_rot2_sc_defmesh_axon_notuft.p
electrodes_fixbug.g *
electrodes_try.g *
Excitatory_fibres.g *
Fibres.g *
Firing_rate_modulation.g *
Firing_rate_profile.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.g
L5P_comps+axon+syn.g
L5P_const.g *
L5P_const+axon+syn.g *
L5P_graph.g
L5P_history.g *
L5P_notuft_make.g
L5P_synchan.g
L5P37C_notuft.g
nsynapses.g *
test_position.g *
                            
//genesis


// This is a version of the modified L5P model intended for use in a network.
// It only creates the L5P neuron, without any further processing,
// input or output.

// The modifications imply cuttung the tuft and preventing backpropagation of the action potential.




include defaults.g

str name

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

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

//include L5P_chans.g
include ../L5P37C-notuft/L5P_chans_tab.g

include ../L5P37C-notuft/L5P_synchan.g

//include L5P_comps.g
//include L5P_comps+axon.g
include ../L5P37C-notuft/L5P_comps+axon+syn.g

pope

include ../L5P37C-notuft/DiffRm.g
include ../L5P37C-notuft/Hgradient.g



function create_L5Pnotuft (pathname, px, py, pz)

	str pathname
	float px, py, pz   // the position

        echo {pathname}
        echo  px = {px}, py = {py}, pz = {pz}


//Set up multicompartmental model in Hines solver mode based on reconstructed morphology
//and rotate axes

	readcell ../L5P37C-notuft/DS1_141099_rot2_sc_defmesh_axon_notuft.p {pathname} // -hsolve

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

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

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



	setfield {pathname}/axon[]/InNa Gbar {{getfield {pathname}/axon[0]/InNa Gbar} * 2}
	setfield {pathname}/axon[]/KDr  Gbar {{getfield {pathname}/axon[0]/KDr Gbar} * 2}

	setfield {pathname}/soma/NaF Gbar {{getfield {pathname}/soma/NaF Gbar} * 2}
	setfield {pathname}/soma/KDr Gbar {{getfield {pathname}/soma/KDr Gbar} * 10}



        setfield {pathname} 	x {{getfield {pathname} x} + {px}} \ 
				y {{getfield {pathname} y} + {py}} \
				z {{getfield {pathname} z} + {pz}}

      	foreach name ({el {pathname}/#[]/#})
//        echo {name}
		setfield {name} x {{getfield {name} x} + {px}} \ 
				y {{getfield {name} y} + {py}} \
				z {{getfield {name} z} + {pz}}
      	end

      	foreach name ({el {pathname}/#[]})
//        echo {name}
		setfield {name} x {{getfield {name} x} + {px}} \ 
				y {{getfield {name} y} + {py}} \
				z {{getfield {name} z} + {pz}}
      	end



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

	DiffRm {pathname} 4.0 0.27 500e-6 50e-6
	Hgradient {pathname} H 0.15 6.0 500e-6 50e-6


end

/*
// This is moved to ../Network/Network_make.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 
//setfield . path "../##[][TYPE=compartment]" comptmode 1 chanmode 1 computeIm 1 // 5 // 4 // 5 // 3   
	call . SETUP
*/

/*
// 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/p0b1b2b1b1b1b2b1b2b1b2b1b2b1b1b1b2b1b2b1b2b1b2b1b2b1b2b1b1[8] Vm}
addmsg /L5P/solve /data1/DS1_141099 PLOT {name} *Dend_Vm *black 
*/





Loading data, please wait...