Potjans-Diesmann cortical microcircuit model in NetPyNE (Romaro et al 2021)

 Download zip file 
Help downloading and running models
Accession:266872
The Potjans-Diesmann cortical microcircuit model is a widely used model originally implemented in NEST. Here, we re-implemented the model using NetPyNE, a high-level Python interface to the NEURON simulator, and reproduced the findings of the original publication. We also implemented a method for rescaling the network size which preserves first and second order statistics, building on existing work on network theory. The new implementation enables using more detailed neuron models with multicompartment morphologies and multiple biophysically realistic channels. This opens the model to new research, including the study of dendritic processing, the influence of individual channel parameters, and generally multiscale interactions in the network. The rescaling method provides flexibility to increase or decrease the network size if required when running these more realistic simulations. Finally, NetPyNE facilitates modifying or extending the model using its declarative language; optimizing model parameters; running efficient large-scale parallelized simulations; and analyzing the model through built-in methods, including local field potential calculation and information flow measures.
Reference:
1 . Romaro C, Najman FA, Lytton WW, Roque AC, Dura-Bernal S (2021) NetPyNE Implementation and Scaling of the Potjans-Diesmann Cortical Microcircuit Model Neural Computation 33(7):1993-2032 [PubMed]
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network; Connectionist Network;
Brain Region(s)/Organism: Auditory cortex; Olfactory cortex;
Cell Type(s): Abstract integrate-and-fire leaky neuron; Abstract integrate-and-fire neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: Python; NEURON; NetPyNE;
Model Concept(s): Detailed Neuronal Models; Simplified Models;
Implementer(s): Dura-Bernal, Salvador [salvadordura at gmail.com]; Romaro, Cecilia [ceciliaromaro at gmail.com];
NEURON {
	: ARTIFICIAL_CELL means
	
	ARTIFICIAL_CELL IntFire_PD
	RANGE m, Iext, i
	: m plays the role of voltage
}

PARAMETER {
	:Membrane time constant
	taum = 10 (ms)
	:Absolute refractory period
	tauref =2 (ms) 
	:Postsynaptic current time constant
	tausyn = 0.5 (ms) :0.5
	:Reset potential
	Vreset = -65 (mV) : -49 (mV) :
	:Fixed firing threshold
	Vteta  = -50 (mV)
	:Membrane capacity
	Cm   = 250 (pF)
	Iext = 0(pA)
}

: Specify units that have physiological interpretations (NB: ms is already declared)
UNITS {
  (mV) = (millivolt)
  (pF) = (picofarad)
  (pA) = (picoamps)
}


ASSIGNED {
	m(mV)
	i(pA)
	t0(ms)
	refractory
}

FUNCTION M() {

}

FUNCTION I() {

}


INITIAL {
	t0 = t
	refractory = 0 : 0-integrates input, 1-refractory
}

NET_RECEIVE (w) {
	if (refractory == 0) { : inputs integrated only when excitable
		
		:6.5
		i=i-(i/tausyn)*(t-t0)
		i=i+w
		m=m+(((Vreset-m)/taum)+((i+Iext)/Cm))*(t-t0)
		
		
		:7.5
		:i=i+w
		:m=m+(((Vreset-m)/taum)+((i+Iext)/Cm))*(t-t0)
		:i=i-(i/tausyn)*(t-t0)
		
		:6.7
		:m=m+(((Vreset-m)/taum)+((i+Iext)/Cm))*(t-t0)
		:i=i+w
		:i=i-(i/tausyn)*(t-t0)
		t0 = t

		if (m > Vteta) {
			refractory = 1
			:m = Vreset
			m = Vreset+30
			net_send(tauref, refractory)
			net_event(t)
		}
	}else if (flag == 1) { : ready to integrate again
		t0 = t
		refractory = 0
		m = Vreset
	}
}

Loading data, please wait...