Functional properties of dendritic gap junctions in Cerebellar Golgi cells (Szoboszlay et al. 2016)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:189186
" ... We investigated the properties of gap junctions in cerebellar interneurons by combining paired somato-somatic and somato-dendritic recordings, anatomical reconstructions, immunohistochemistry, electron microscopy, and modeling. By fitting detailed compartmental models of Golgi cells to their somato-dendritic voltage responses, we determined their passive electrical properties and the mean gap junction conductance (0.9 nS). ..."
Reference:
1 . Szoboszlay M, Lorincz A, Lanore F, Vervaeke K, Silver RA, Nusser Z (2016) Functional Properties of Dendritic Gap Junctions in Cerebellar Golgi Cells. Neuron 90:1043-56 [PubMed]
Citations  Citation Browser
Model Information (Click on a link to find other models with that property)
Model Type: Neuron or other electrically excitable cell; Realistic Network;
Brain Region(s)/Organism:
Cell Type(s): Cerebellum golgi cell;
Channel(s):
Gap Junctions: Gap junctions;
Receptor(s):
Gene(s):
Transmitter(s):
Simulation Environment: NEURON; neuroConstruct;
Model Concept(s):
Implementer(s): Szoboszlay, M [szoboszlay.miklos at koki.mta.hu];
/
Golgi
02_Somatic_paired_recordings
140610-C1
gapCond.mod *
auto_fitting.ses
auto_fitting.ses.fd1
auto_fitting.ses.fd2
auto_fitting.ses.ft1
auto_fitting.ses.ft2
biophys.hoc *
cellCheck.hoc *
init.hoc *
init_auto_fitting.hoc
morphology_140610_C1_blue.hoc
morphology_140610_C1_blue_noDL.hoc
morphology_140610_C1_red.hoc
morphology_140610_C1_red_noDL.hoc
nCtools.hoc *
parameters.hoc
Passive_GoC_membrane_kinetics_1.hoc
Passive_GoC_membrane_kinetics_10.hoc
Passive_GoC_membrane_kinetics_2.hoc
Passive_GoC_membrane_kinetics_3.hoc
Passive_GoC_membrane_kinetics_4.hoc
Passive_GoC_membrane_kinetics_5.hoc
Passive_GoC_membrane_kinetics_6.hoc
Passive_GoC_membrane_kinetics_7.hoc
Passive_GoC_membrane_kinetics_8.hoc
Passive_GoC_membrane_kinetics_9.hoc
processes.hoc
                            
xopen("init.hoc")
xopen("auto_fitting.ses")

/*
xpanel("Injection site")
xbutton("Blue cell", "injSoma_b()")
xbutton("Red cell", "injSoma_r()")
xpanel()
*/


objref run_cycle_vec
objref Rm_b_vec, Rm_r_vec, Cm_b_vec, Cm_r_vec, Ra_b_vec, Ra_r_vec, GgjBR_vec, GgjRB_vec
objref Inj_blue_error_vec, Att_red_error_vec, summa_inj_blue_error_vec, Inj_red_error_vec, Att_blue_error_vec, summa_inj_red_error_vec

objref dataMatrix, dataFile

proc auto_fitting(){

	run_cycle_vec = new Vector()

	Rm_b_vec = new Vector()
	Rm_r_vec = new Vector()
	Cm_b_vec = new Vector()
	Cm_r_vec = new Vector()
	Ra_b_vec = new Vector()
	Ra_r_vec = new Vector()
	GgjBR_vec = new Vector()
	GgjRB_vec = new Vector()
	
	Inj_blue_error_vec = new Vector()
	Att_red_error_vec = new Vector()
	summa_inj_blue_error_vec = new Vector()
	Inj_red_error_vec = new Vector()
	Att_blue_error_vec = new Vector()
	summa_inj_red_error_vec = new Vector()

	for(it_count=0; it_count<$1; it_count+=1){
	
		injSoma_b()
		MulRunFitter[0].prun()
		
		run_cycle_vec.append(it_count+1)
		
		Rm_b_vec.append(user_Rm_b/1000)
		Cm_b_vec.append(user_cm_b)
		Ra_b_vec.append(user_Ra_b)
		GgjBR_vec.append(gapWeight)
		Inj_blue_error_vec.append(MulRunFitter[0].p.pf.generatorlist.object(0).gen.efun())
		Att_red_error_vec.append(MulRunFitter[0].p.pf.generatorlist.object(1).gen.efun())
		summa_inj_blue_error_vec.append(MulRunFitter[0].p.pf.generatorlist.object(0).gen.efun() + MulRunFitter[0].p.pf.generatorlist.object(1).gen.efun())
		
		injSoma_r()
		MulRunFitter[1].prun()
		
		Rm_r_vec.append(user_Rm_r/1000)
		Cm_r_vec.append(user_cm_r)
		Ra_r_vec.append(user_Ra_r)
		GgjRB_vec.append(gapWeight)
		Inj_red_error_vec.append(MulRunFitter[1].p.pf.generatorlist.object(0).gen.efun())
		Att_blue_error_vec.append(MulRunFitter[1].p.pf.generatorlist.object(1).gen.efun())
		summa_inj_red_error_vec.append(MulRunFitter[1].p.pf.generatorlist.object(0).gen.efun() + MulRunFitter[1].p.pf.generatorlist.object(1).gen.efun())
		
		print (it_count+1), "/", $1, "iterations DONE"
	}
	
	dataMatrix = new Matrix()
	
	dataMatrix.resize(run_cycle_vec.size, 15)
	dataMatrix.setcol(0, run_cycle_vec)
	dataMatrix.setcol(1, Rm_b_vec)
	dataMatrix.setcol(2, Cm_b_vec)
	dataMatrix.setcol(3, Ra_b_vec)
	dataMatrix.setcol(4, GgjBR_vec)
	dataMatrix.setcol(5, Inj_blue_error_vec)
	dataMatrix.setcol(6, Att_red_error_vec)
	dataMatrix.setcol(7, summa_inj_blue_error_vec)
	dataMatrix.setcol(8, Rm_r_vec)
	dataMatrix.setcol(9, Cm_r_vec)
	dataMatrix.setcol(10, Ra_r_vec)
	dataMatrix.setcol(11, GgjRB_vec)
	dataMatrix.setcol(12, Inj_red_error_vec)
	dataMatrix.setcol(13, Att_blue_error_vec)
	dataMatrix.setcol(14, summa_inj_red_error_vec)
	
	dataFile = new File()
	
	strdef dataFileName
	
	sprint(dataFileName, "FittingResults.dat")
	dataFile.wopen(dataFileName)
	dataMatrix.fprint(dataFile, " %g")
	dataFile.close()
	
	print "Finished, data saved"
}

objref Ra_range_vec

proc repeated_auto_fitting(){

	Ra_range_vec = new Vector()
	Ra_range_vec.append(25, 40, 50, 75, 92, 100, 125, 150)

	for(i=0; i<Ra_range_vec.size(); i+=1){

		user_Ra_r = Ra_range_vec.x[i]
		user_Ra_b = Ra_range_vec.x[i]
		
		print "Ra = ", user_Ra_b

		auto_fitting(4)
	}
}

//repeated_auto_fitting()