Basal ganglia network model of subthalamic deep brain stimulation (Hahn and McIntyre 2010)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:127388
Basal ganglia network model of parkinsonian activity and subthalamic deep brain stimulation in non-human primates from the article Instructions are provided in the README.txt file. Contact hahnp@ccf.org if you have any questions about the implementation of the model. Please include "ModelDB - BGnet" in the subject heading.
Reference:
1 . Hahn PJ, McIntyre CC (2010) Modeling shifts in the rate and pattern of subthalamopallidal network activity during deep brain stimulation. J Comput Neurosci 28:425-41 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Realistic Network;
Brain Region(s)/Organism: Basal ganglia;
Cell Type(s): Subthalamus nucleus projection neuron; Globus pallidus neuron;
Channel(s):
Gap Junctions:
Receptor(s):
Gene(s):
Transmitter(s): Dopamine; Gaba; Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Bursting; Parkinson's; Deep brain stimulation;
Implementer(s): Hahn, Philip [hahnp at ccf.org];
Search NeuronDB for information about:  Dopamine; Gaba; Glutamate;
//----------------------------------------------------------------------------
// Initialize global variables
//----------------------------------------------------------------------------

objref biasSTN[numSTN], biasGPe[numGPe], biasGPi[numGPi]




//----------------------------------------------------------------------------
// Functions to set up network from current value of global variables
//----------------------------------------------------------------------------

proc BIAconnectNet() { local i

//-----------------------------------------
// connections to STN

for i=0,numSTN-1 {
	if (pnm.gid_exists(cellID(ID_STN, i))) {
		biasSTN[i] = new IClamp()		
		pnm.pc.gid2obj(cellID(ID_STN, i)).soma biasSTN[i].loc(.5)

	}
}



//-----------------------------------------
// connections to GPe

for i=0,numGPe-1 {
	if (pnm.gid_exists(cellID(ID_GPe, i))) {
		biasGPe[i] = new IClamp()		
		pnm.pc.gid2obj(cellID(ID_GPe, i)).soma biasGPe[i].loc(.5)

	}
}



//-----------------------------------------
// connections to GPi

for i=0,numGPi-1 {
	if (pnm.gid_exists(cellID(ID_GPi, i))) {
		biasGPi[i] = new IClamp()
		pnm.pc.gid2obj(cellID(ID_GPi, i)).soma biasGPi[i].loc(.5)
	}
}



}






//----------------------------------------------------------------------------
proc BIAupdateWeights() { local i

//-----------------------------------------
// connections to STN

for i=0,numSTN-1 {
	if (pnm.gid_exists(cellID(ID_STN, i))) {
		biasSTN[i].del = 0
		biasSTN[i].dur = 1e9	
		biasSTN[i].amp = iBiasSTN
	}
}



//-----------------------------------------
// connections to GPe

for i=0,numGPe-1 {
	if (pnm.gid_exists(cellID(ID_GPe, i))) {
		biasGPe[i].del = 0
		biasGPe[i].dur = 1e9	
		biasGPe[i].amp = iBiasGPe
	}
}



//-----------------------------------------
// connections to GPi

for i=0,numGPi-1 {
	if (pnm.gid_exists(cellID(ID_GPi, i))) {
		biasGPi[i].del = 0
		biasGPi[i].dur = 1e9	
		biasGPi[i].amp = iBiasGPi
	}
}

}



//----------------------------------------------------------------------------
// Call setup functions when .hoc file is loaded
//----------------------------------------------------------------------------

BIAconnectNet()
BIAupdateWeights()



//----------------------------------------------------------------------------
// Dialog to update parameter values
//----------------------------------------------------------------------------