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;
//genesis

// This is the main script for setting up and running a network.


	float dt = 10e-6 
	str label = "IMTEK" 
   	str filename = "./" 

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

include defaults.g



// making the neurons

/*  Make L5P pyramidal cell   */
include ../L5P37C/L5P_make.g
create_L5P /L5P 0 0 0 

/*  Make L5P pyramidal cell without tuft or backpropagating spike */
include ../L5P37C-notuft/L5P_notuft_make.g
create_L5Pnotuft /L5Pnotuft -0.00004 0 0.0002 

/*  Make neuron with narrow spikes  */
include ../L5P37C-onlybasal/L5P_onlybasal_make.g
create_L5Ponlybasal /L5Ponlybasal 0.00004 0 0.0001 

/* Make additional inhibitory neuron */
create_L5Ponlybasal /L5Ponlybasal2 -20e-6 -30e-6 0.0003 

/* Make additional excitatory neuron */
create_L5Pnotuft /L5Pnotuft2 20e-6  30e-6 0.0003 

cd ../Network_5neuron_IMTEK



/* Set up graphical and ascii output */

include ../Output/L5P_view.g
	add_xcell /L5P
	add_xcell /L5Ponlybasal
	add_xcell /L5Pnotuft
	add_xcell /L5Ponlybasal2
	add_xcell /L5Pnotuft2

//include ../Output/L5P_graph.g
//        add_xgraph /L5P
//	add_xgraph /L5Ponlybasal
//	add_xgraph /L5Pnotuft
//	add_xgraph /L5Ponlybasal2
//	add_xgraph /L5Pnotuft2


include ../Output/L5P_ascout.g
	add_ascout /L5P
	add_ascout /L5Ponlybasal
	add_ascout /L5Pnotuft
	add_ascout /L5Ponlybasal2
	add_ascout /L5Pnotuft2


/* Set up electrode arrays  */ 

// include ../Electrodes/electrodesIMTEK_make.g
// include ../Electrodes/electrodes_connect.g
//	connect_to_electrodes L5P
//	connect_to_electrodes L5Ponlybasal
//	connect_to_electrodes L5Pnotuft

//	connect_to_electrodes L5Ponlybasal2
//	connect_to_electrodes L5Pnotuft2

// useclock   /electrode_array    1
// useclock   /electrode_array/##[]    1


/* Setup the hines solvers  */
include Network_hsolve.g

	make_hsolve /L5P
	make_hsolve /L5Ponlybasal
	make_hsolve /L5Pnotuft

	make_hsolve /L5Ponlybasal2
	make_hsolve /L5Pnotuft2

include ../Output/L5P_graphsolve.g
        add_xgraph /L5P
	add_xgraph /L5Ponlybasal
	add_xgraph /L5Pnotuft
	add_xgraph /L5Ponlybasal2
	add_xgraph /L5Pnotuft2
	

/* generate for each compartment of L5P an associated fibre  */

	randseed 54321 // 12345


// make the fibres using L5P as template neuron
include ../Fibres/Fibres_make

	make_fibres /Excitatory_fibres /L5P/p# 
	make_fibres /Inhibitory_fibres /L5P/p#


// connect the fibres to the neurons
include ../Fibres/Fibres_connect

	connect_horizontally 	/Excitatory_fibres/FF/fibre[] \
				/L5P/p#[][TYPE=compartment]/AMPA \
				0.05 {weight_AMPA_synapse * 0.5} 0

	connect_horizontally 	/Excitatory_fibres/FBintra/fibre[] \
				/L5P/p#[][TYPE=compartment]/AMPA \
				0.05 {weight_AMPA_synapse * 0.5} 0.02

	connect_horizontally 	/Inhibitory_fibres/FF/fibre[] \
				/L5P/p#[][TYPE=compartment]/GABA \
				0.025 {weight_GABA_synapse * 0.25} 0.002

	connect_horizontally 	/Inhibitory_fibres/FBintra/fibre[] \
				/L5P/p#[][TYPE=compartment]/GABA \
				0.025 {weight_GABA_synapse * 0.25} 0.033 // 0.025


	connect_horizontally 	/Excitatory_fibres/FF/fibre[] \
				/L5Ponlybasal/p#[][TYPE=compartment]/AMPA \
				0.1 {weight_AMPA_synapse * 0.15} 0

	connect_horizontally 	/Excitatory_fibres/FBintra/fibre[] \
				/L5Ponlybasal/p#[][TYPE=compartment]/AMPA \
				0.1 {weight_AMPA_synapse * 0.10} 0.02

	connect_horizontally 	/Inhibitory_fibres/FF/fibre[] \
				/L5Ponlybasal/p#[][TYPE=compartment]/GABA \
				0.025 {weight_GABA_synapse * 0.7} 0.002

	connect_horizontally 	/Inhibitory_fibres/FBintra/fibre[] \
				/L5Ponlybasal/p#[][TYPE=compartment]/GABA \
				0.025 {weight_GABA_synapse * 0.7} 0.033


	connect_horizontally 	/Excitatory_fibres/FF/fibre[] \
				/L5Pnotuft/p#[][TYPE=compartment]/AMPA \
				0.05 {weight_AMPA_synapse * 0.8} 0

	connect_horizontally 	/Excitatory_fibres/FBintra/fibre[] \
				/L5Pnotuft/p#[][TYPE=compartment]/AMPA \
				0.05 {weight_AMPA_synapse * 0.8} 0.02

	connect_horizontally 	/Inhibitory_fibres/FF/fibre[] \
				/L5Pnotuft/p#[][TYPE=compartment]/GABA \
				0.02 {weight_GABA_synapse * 0.4} 0.002

	connect_horizontally 	/Inhibitory_fibres/FBintra/fibre[] \
				/L5Pnotuft/p#[][TYPE=compartment]/GABA \
				0.02 {weight_GABA_synapse * 0.4} 0.033


// I keep the same connections for new neurons 4 and 5
// and do not include them in feedback

	connect_horizontally 	/Excitatory_fibres/FF/fibre[] \
				/L5Ponlybasal2/p#[][TYPE=compartment]/AMPA \
				0.4 {weight_AMPA_synapse * 0.15} 0

	connect_horizontally 	/Excitatory_fibres/FBintra/fibre[] \
				/L5Ponlybasal2/p#[][TYPE=compartment]/AMPA \
				0.1 {weight_AMPA_synapse * 0.10} 0.02

	connect_horizontally 	/Inhibitory_fibres/FF/fibre[] \
				/L5Ponlybasal2/p#[][TYPE=compartment]/GABA \
				0.025 {weight_GABA_synapse * 0.7} 0.002

	connect_horizontally 	/Inhibitory_fibres/FBintra/fibre[] \
				/L5Ponlybasal2/p#[][TYPE=compartment]/GABA \
				0.025 {weight_GABA_synapse * 0.7} 0.033


	connect_horizontally 	/Excitatory_fibres/FF/fibre[] \
				/L5Pnotuft2/p#[][TYPE=compartment]/AMPA \
				0.05 {weight_AMPA_synapse * 0.8} 0

	connect_horizontally 	/Excitatory_fibres/FBintra/fibre[] \
				/L5Pnotuft2/p#[][TYPE=compartment]/AMPA \
				0.05 {weight_AMPA_synapse * 0.8} 0.02

	connect_horizontally 	/Inhibitory_fibres/FF/fibre[] \
				/L5Pnotuft2/p#[][TYPE=compartment]/GABA \
				0.02 {weight_GABA_synapse * 0.4} 0.002

	connect_horizontally 	/Inhibitory_fibres/FBintra/fibre[] \
				/L5Pnotuft2/p#[][TYPE=compartment]/GABA \
				0.02 {weight_GABA_synapse * 0.4} 0.033



include ../Output/L5P_history.g
	add_history  /L5P
	add_history  /L5Ponlybasal
	add_history  /L5Pnotuft

	add_history  /L5Ponlybasal2
	add_history  /L5Pnotuft2


include nsynapses

include ../Fibres/Firing_rate_profile.g

// This gives different weights to the afferent fibres according to their depth (layer) in neocortex

	make_firing_rate_profile  /Excitatory_fibres/FF  0.0008  0.0002 2 0 0.0004 1 10 

	make_firing_rate_profile  /Excitatory_fibres/FBintra  0.001  0.0002 2 0 0.0004 1 10 

	make_firing_rate_profile  /Inhibitory_fibres/FF  0.0008  0.0004 1 0 0.0002 2 45 

	make_firing_rate_profile  /Inhibitory_fibres/FBintra  0.001  0.0004 1 0 0.0002 2 45 


include ../Fibres/Harsch-Robinson_modulation.g

// This gives a temporal profile to the spike rate of the subcortical afferent fibres
	Harsch_Robinson_modulation 30 0.1 


// This gives a temporal profile to the intracortical fibers

include ../Fibres/Firing_rate_modulation.g

resched 


randseed 12345

// current injection

//setfield /L5P/soma inject 20e-12 // 800e-12
reset


// just a check, recording electrode positions
//include ../Electrodes/electrode-positions.g

// step 25 -t

step 0.1 -t

//quit



Loading data, please wait...