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
01_Soma-dendritic_recordings
01_Control
140311-C1
syncytium
num3
gapCond.mod *
biophys.hoc *
cellCheck.hoc *
fitting.ses
fitting.ses.fd1 *
fitting.ses.ft1
init.hoc *
init_auto_fitting.hoc *
init_fitting.hoc *
morphology_140311_C1.hoc *
nCtools.hoc *
Passive_GoC_membrane_kinetics.hoc
processes.hoc *
                            
/*
 *
 * A neuroConstruct helper file to print out details of a single cell's overall state
 * and a helper function for the current NEURON state
 *
 */

objref mt, ms
mt = new MechanismType(0)
         
double totParamVal[32] // max number params

dummyRevPot = 99999


proc cellInfoOne() {

    totalDiam = 0 
    totalNseg = 0 
    totalL = 0 
    
    totalRa = 0
    totalCm = 0
    
    numSections = 0 
    
    forsec $s1 {
    
        totalDiam = totalDiam + diam
        totalNseg = totalNseg + nseg
        totalRa = totalRa + Ra
        totalCm = totalCm + cm
        
        totalL = totalL + L
        numSections = numSections + 1
    }
    
    print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++"

    print "+        "
    print "+        Temperature:        ", celsius
    print "+        "
    print "+        Total diam:         ", totalDiam
    print "+        Total length        ", totalL
    print "+        Total nseg:         ", totalNseg
    print "+        Total Ra:           ", totalRa
    print "+        Total cm:           ", totalCm
    print "+        "
    
    strdef mname
    strdef pname
    
    totEk = 0
    totko = 0
    totki = 0
    numEk = 0
    totENa = 0
    totnao = 0
    totnai = 0
    numENa = 0
    totECa = 0
    totcai = 0
    totcao = 0
    numECa = 0
    
    forsec $s1 {
        if (ismembrane("k_ion")) {
            numEk = numEk +1
            totEk = totEk + ek
            totko = totko + ko
            totki = totki + ki
        }
        if (ismembrane("na_ion")) {
            numENa = numENa +1
            totENa = totENa + ena
            totnao = totnao + nao
            totnai = totnai + nai
        }
        if (ismembrane("ca_ion")) {
            numECa = numECa +1
            totECa = totECa + eca
            totcai = totcai + cai
            totcao = totcao + cao
        }
     }
     
     if ( numEk != 0 ){
        print "+        k ion on ", numEk,"secs, ave rev pot:  ", (totEk/numEk), ", int conc: ",(totki/numEk), ", ext conc: ",(totko/numEk)
     }
     if ( numENa != 0 ){
        print "+        na ion on ", numENa,"secs, ave rev pot:  ", (totENa/numENa), ", int conc: ",(totnai/numENa), ", ext conc: ",(totnao/numENa)
     }
     if ( numECa != 0 ){
        print "+        ca ion on ", numECa,"secs, ave rev pot:  ", (totECa/numECa), ", int conc: ",(totcai/numECa), ", ext conc: ",(totcao/numECa)
     }
    
    print "+        "
    
    for i=0, mt.count()-1 {
         mt.select(i)
         mt.selected(mname)
         numPresent = 0
         ms = new MechanismStandard(mname, 1)
         numParams = ms.count()
         
         
         for j=0, numParams-1 {
            totParamVal[j] = 0
         }
         
         
         forsec $s1 {
            if (ismembrane(mname)) {
                numPresent = numPresent + 1
                
                ms.in() // load with values of current section
                
                for j=0, numParams-1 {
                    ms.name(pname, j)
                    //print "Param: ", pname, " value: ", ms.get(pname)
                    
                    totParamVal[j] = totParamVal[j] + ms.get(pname)
                }
            }
         }
         
         if (numPresent>0) {
            print "+        Mechanism:  ", mname, " present on: ", numPresent, "sections, num params: ", numParams, ""
            for j=0, numParams-1 {
                ms.name(pname, j)
                print "+            - ", pname, " AVE value all sections: ", (totParamVal[j]/numPresent)
            }
         }
    }
    
    
    print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++"


}


proc cellInfo() {
    cellInfoOne("")
}




proc simInfo() {

    print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
    
    
    active = cvode.active()
    
    
    print "+    Simulation temperature:       ", celsius
    print "+    tstop:                        ", tstop
    print "+    dt:                           ", dt
    print "+    Variable time step active:    ", active
    
    print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++"

}