The APP in C-terminal domain alters CA1 neuron firing (Pousinha et al 2019)

 Download zip file   Auto-launch 
Help downloading and running models
Accession:256388
"The amyloid precursor protein (APP) is central to AD pathogenesis and we recently showed that its intracellular domain (AICD) could modify synaptic signal integration. We now hypothezise that AICD modifies neuron firing activity, thus contributing to the disruption of memory processes. Using cellular, electrophysiological and behavioural techniques, we showed that pathological AICD levels weakens CA1 neuron firing activity through a gene transcription-dependent mechanism. Furthermore, increased AICD production in hippocampal neurons modifies oscillatory activity, specifically in the gamma frequency range, and disrupts spatial memory task. Collectively, our data suggest that AICD pathological levels, observed in AD mouse models and in human patients, might contribute to progressive neuron homeostatic failure, driving the shift from normal ageing to AD."
Reference:
1 . Pousinha PA, Mouska X, Bianchi D, Temido-Ferreira M, Rajão-Saraiva J, Gomes R, Fernandez SP, Salgueiro-Pereira AR, Gandin C, Raymond EF, Barik J, Goutagny R, Bethus I, Lopes LV, Migliore M, Marie H (2019) The Amyloid Precursor Protein C-Terminal Domain Alters CA1 Neuron Firing, Modifying Hippocampus Oscillations and Impairing Spatial Memory Encoding. Cell Rep 29:317-331.e5 [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;
Brain Region(s)/Organism: Hippocampus;
Cell Type(s): Hippocampus CA1 pyramidal GLU cell;
Channel(s): I Na,t; I A; I K; I M; I h; I L high threshold; I_AHP;
Gap Junctions:
Receptor(s): NMDA;
Gene(s):
Transmitter(s): Glutamate;
Simulation Environment: NEURON;
Model Concept(s): Aging/Alzheimer`s; Oscillations; Action Potentials; Memory;
Implementer(s): Bianchi, Daniela [danielabianchi12 -at- gmail.com];
Search NeuronDB for information about:  Hippocampus CA1 pyramidal GLU cell; NMDA; I Na,t; I L high threshold; I A; I K; I M; I h; I_AHP; Glutamate;
/
PousinhaMouskaBianchiEtAl2019
readme.txt
ANsyn.mod *
bgka.mod *
burststim2.mod *
cad.mod *
cagk.mod
cal.mod *
calH.mod *
car.mod *
cat.mod *
ccanl.mod *
d3.mod *
gskch.mod *
h.mod *
IA.mod
ichan2.mod *
Ih.mod *
kadist.mod *
kaprox.mod *
Kaxon.mod *
kca.mod *
Kdend.mod *
kdr.mod *
kdrax.mod *
km.mod *
Ksoma.mod *
LcaMig.mod *
my_exp2syn.mod *
na3.mod *
na3dend.mod *
na3notrunk.mod *
Naaxon.mod *
Nadend.mod *
nap.mod *
Nasoma.mod *
nax.mod *
nca.mod *
nmdanet.mod *
regn_stim.mod *
somacar.mod *
STDPE2Syn2.mod *
mosinit.hoc
pyramidal_cell4b.hoc
ranstream.hoc *
ses.ses
stim_cell.hoc *
testcell.hoc
                            
// Network cell template
// PyramidalCell
// Geometry: 14 sections + axon


begintemplate PyramidalCell
public is_art
public init, topol, basic_shape, subsets, geom, biophys
public pre_list, connect2target,current_balance

public soma, radTprox, radTmed, radTdist, lm_thick2, lm_medium2, lm_thin2
public lm_thick1, lm_medium1, lm_thin1, oriprox1, oridist1, oriprox2, oridist2
public axon
public all, rad, lm, ori,xdist

objref pre_list

create soma, radTprox, radTmed, radTdist, lm_thick2, lm_medium2, lm_thin2
create lm_thick1, lm_medium1, lm_thin1, oriprox1, oridist1, oriprox2, oridist2
create axon

proc init() {
  gmaxnmda=1
  v_init=$3
  topol()
  subsets()
  geom()
  geom_nseg()
  biophys($1,$2,$4,$5,$6,$7,$8,$9,$10,$11,$12) //sAHP,mAHP,taucalH
  pre_list = new List()
  synapses(gmaxnmda)
}


proc topol() { local i
  connect radTprox(0), soma(1)
  connect radTmed(0), radTprox(1)
  connect radTdist(0), radTmed(1)
  connect lm_thick2(0), radTdist(1)
  connect lm_medium2(0), lm_thick2(1)
  connect lm_thin2(0), lm_medium2(1)
  connect lm_thick1(0), radTdist(1)
  connect lm_medium1(0), lm_thick1(1)
  connect lm_thin1(0), lm_medium1(1)
  connect oriprox1(0), soma(0)
  connect oridist1(0), oriprox1(1)
  connect oriprox2(0), soma(1)
  connect oridist2(0), oriprox2(1)
  connect axon(0), soma(1)
  basic_shape()
}

proc basic_shape() {
  soma {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(15, 0, 0, 1)}
  radTprox {pt3dclear() pt3dadd(15, 0, 0, 1) pt3dadd(15, 30, 0, 1)}
  radTmed {pt3dclear() pt3dadd(15, 30, 0, 1) pt3dadd(15, 60, 0, 1)}
  radTdist {pt3dclear() pt3dadd(15, 60, 0, 1) pt3dadd(15, 90, 0, 1)}
  lm_thick2 {pt3dclear() pt3dadd(15, 90, 0, 1) pt3dadd(45, 105, 0, 1)}
  lm_medium2 {pt3dclear() pt3dadd(45, 105, 0, 1) pt3dadd(75, 120, 0, 1)}
  lm_thin2 {pt3dclear() pt3dadd(75, 120, 0, 1) pt3dadd(105, 135, 0, 1)}
  lm_thick1 {pt3dclear() pt3dadd(15, 90, 0, 1) pt3dadd(-14, 105, 0, 1)}
  lm_medium1 {pt3dclear() pt3dadd(-14, 105, 0, 1) pt3dadd(-44, 120, 0, 1)}
  lm_thin1 {pt3dclear() pt3dadd(-44, 120, 0, 1) pt3dadd(-89, 135, 0, 1)}
  oriprox1 {pt3dclear() pt3dadd(0, 0, 0, 1) pt3dadd(-44, -29, 0, 1)}
  oridist1 {pt3dclear() pt3dadd(-44, -29, 0, 1) pt3dadd(-74, -59, 0, 1)}
  oriprox2 {pt3dclear() pt3dadd(15, 0, 0, 1) pt3dadd(60, -29, 0, 1)}
  oridist2 {pt3dclear() pt3dadd(60, -29, 0, 1) pt3dadd(105, -59, 0, 1)}
  axon {pt3dclear() pt3dadd(15, 0, 0, 1) pt3dadd(15, -149, 0, 1)}
}

objref all,rad, lm, ori
proc subsets() { local i
   all = new SectionList()
    soma all.append()
    radTprox all.append()
    radTmed all.append()
    radTdist all.append()
    lm_thick2 all.append()
    lm_medium2 all.append()
    lm_thin2 all.append()
    lm_thick1 all.append()
    lm_medium1 all.append()
    lm_thin1 all.append()
    oriprox1 all.append()
    oridist1 all.append()
    oriprox2 all.append()
    oridist2 all.append()
    axon all.append()

rad=new SectionList()
   radTprox rad.append()
    radTmed rad.append()
    radTdist rad.append()

ori=new SectionList()
   oriprox1 ori.append()
   oridist1 ori.append()
  oriprox2 ori.append()  
  oridist2 ori.append()
   
lm=new SectionList()
   lm_thick1 lm.append()
   lm_medium1 lm.append()
   lm_thin1 lm.append()
    lm_thick2 lm.append()
   lm_medium2 lm.append()
   lm_thin2 lm.append()





}


proc geom() {
  soma {  L = 10  diam = 10  }
  // SR is first 500um of apical dendrite
  radTprox {  L = 50  diam = 2  }
  radTmed {  L =50  diam = 1.5  }
  radTdist {  L = 100  diam = 1 }
  // OLM is final 300um of apical dendrite
  lm_thick2 {  L = 50  diam = 1  }
  lm_medium2 {  L = 50  diam = 0.75  }
  lm_thin2 {  L = 25  diam = 0.5  }
  lm_thick1 {  L = 50  diam = 1 }
  lm_medium1 {  L = 50  diam = 0.75 }
  lm_thin1 {  L = 50  diam = 0.5 }
  // Basal dendrites extend 300 um
  oriprox1 {  L = 50 diam = 1  }
  oriprox2 {  L =50  diam = 1 }
  oridist1 {  L = 100  diam = 0.75 }
  oridist2 {  L = 100  diam = 0.75  }
  // Short section of axon
  axon {  L = 75  diam = 1  }
}
/*
proc geom() {
  soma {  L = 10  diam = 10  }
  // SR is first 500um of apical dendrite
  radTprox {  L = 100  diam = 4  }
  radTmed {  L = 100  diam = 3  }
  radTdist {  L = 200  diam = 2  }
  // OLM is final 300um of apical dendrite
  lm_thick2 {  L = 100  diam = 2  }
  lm_medium2 {  L = 100  diam = 1.5  }
  lm_thin2 {  L = 50  diam = 1  }
  lm_thick1 {  L = 100  diam = 2  }
  lm_medium1 {  L = 100  diam = 1.5  }
  lm_thin1 {  L = 50  diam = 1  }
  // Basal dendrites extend 300 um
  oriprox1 {  L = 100  diam = 2  }
  oridist1 {  L = 200  diam = 1.5  }
  oriprox2 {  L = 100  diam = 2  }
  oridist2 {  L = 200  diam = 1.5  }
  // Short section of axon
  axon {  L = 150  diam = 1  }
}

*/
external lambda_f

proc geom_nseg() {
  forsec all { nseg = int((L/(0.1*lambda_f(100))+.9)/2)*2 + 1  }
}



proc biophys() {

	Rm_axon = 28000	// Ohm.cm^2 (Migliore value)
	Rm_soma = 28000	// Ohm.cm^2 (Migliore value)
     Rm_trunk=25000
     Rm_non_trunk= 25000
     Rm_dend=25000

     Ra_soma=Ra_basal=Ra_trunk=Ra_non_trunk=Ra_dend=150
     Ra_axon=50

     clesius=34

    Cm_axon =1  
    Cm_soma=1
    Cm_trunk=28/25  
    Cm_non_trunk=28/25  
    Cm_dend=28/25  
   
      crebsAHP=$1 
      crebmAHP=$2 
      tauca=$3
     
     
   soma_caL =3*$10  
   soma_car =0.5*0.0003// for dendrite
   gsomacar =0.0003
   soma_calH =$10
   soma_caT =$9
   soma_km=0.001//0.001
    soma_mykca =0.005//0.5*
    soma_kca =0.0001// 0.005 AD case  0.0001 ctrl
    soma_kap =$6
    gh_soma = $8 
     soma_kad =$7

   AXKdr=2
   AXNa=2.5
   qqa=7.2
   qqinf=2
  
   gna=0.025//0.18
   gkdr=0.018
   gnadend=0.02
   gkdrdend=0.015
   gnanosoma=0.02
   gkdrnosoma=0.018
  



thnax=-30
qanax=7.5
thinfnax=-50
qinfnax=qqinf

thna3=$4
qana3=qqa
thinfna3=-50
qinfna3=qqinf

thna3dend =$5
qana3dend=qqa
thinfna3dend=-50
qinfna3dend=qqinf

thinfna3nosoma=-50
qinfna3nosoma=qqinf
thna3nosoma =$5
qana3nosoma=qqa

thna3dist = $5
qana3dist=qqa
qinfna3dist=qqinf
thinfna3dist=-50

shift=$11
shiftkm=shift
 shiftkap=shift
shiftkad=shift
shifth=shift


  forsec "soma" {  
        
           insert na3
               gbar_na3=gna
               qa_na3=qana3
               tha_na3=thna3
	         qinf_na3=qinfna3
	         thinf_na3=thinfna3
               sh_na3=shift
            

	    	insert kdr
            	gkdrbar_kdr=gkdr
                   sh_kdr=shift

          		

            insert pas    // leak conductance
                    g_pas = 1/Rm_soma        
                    e_pas = v_init
                    Ra    = Ra_soma
                    cm= Cm_soma

               
    
           insert h     // h current 
                    ghdbar_h = gh_soma
                   vhalf_h = -73
                   sh_h=shifth


            insert kap  // proximal A current
                   gkabar_kap = soma_kap
                   ek         = -80
                   sh_kap=shiftkap


            insert km  // m-type potassium current
                   gbar_km    = soma_km
                   ek         = -80 
                   sh_km=shiftkm

           
            insert cal // HVA Ca++-L type current
                   gcalbar_cal = soma_caL
           
            insert cat // LVA Ca++-T type current
                   gcatbar_cat = soma_caT

            insert somacar // HVAm Ca++-R type current
                   gcabar_somacar = gsomacar
            
            insert kca   // K(Ca) sAHP potassium type current
                   gbar_kca = 5*soma_kca*crebsAHP
         
            insert mykca // K(Ca) mAHP potassium type current
	           gbar_mykca = soma_mykca*crebmAHP        
        
            insert cad  // calcium pump/buffering mechanism        	        	
              
  	}

  	
  	radTprox {

          
		insert car
		gcabar_car = soma_car
		
		
		insert cad			// calcium pump/buffering mechanism

		insert kca			// slow AHP K+ current
		gbar_kca = 5*soma_kca*crebsAHP		

       	insert mykca  			// medium AHP K++ current (BPG)
       	gbar_mykca = 0.5*soma_mykca*crebmAHP
		
    		         

	      insert na3
	         gbar_na3=gna
               tha_na3     = thna3   
               qa_na3= qana3
               qinf_na3=qinfna3
               thinf_na3=thinfna3
               sh_na3=shift



          insert kdr
          gkdrbar_kdr=gkdr 
          sh_kdr=shift


         insert pas // leak conductance
                    g_pas     =  1/Rm_trunk  
                    e_pas          = v_init
                    Ra             = Ra_trunk
                    cm             = Cm_trunk


	
  	}
  
 	radTmed {


		insert car			// HVAm Ca++-R type current
		gcabar_car = soma_car
		
		 
		insert cad			// calcium pump/buffering mechanism
		
		insert kca			// slow AHP K+ current
		gbar_kca = 5*soma_kca*crebsAHP		// varies depending on distance from 0.5*0.0001 to 5*0.0001

       	insert mykca  			// medium AHP K++ current (BPG)
       	gbar_mykca = 0.5*soma_mykca*crebmAHP

               
            insert na3
              tha_na3     = thna3nosoma  
              qa_na3= qana3nosoma
              gbar_na3=gnanosoma
		 qinf_na3=qinfna3nosoma
             thinf_na3=thinfna3nosoma
              sh_na3=shift


         insert kdr
          gkdrbar_kdr=gkdrnosoma 
         sh_kdr=shift

          	insert pas 	
           g_pas=1/Rm_trunk
		Ra = Ra_trunk
            cm  = Cm_trunk

        


		// leak conductance
  	}
  	
  	radTdist {
     

		insert car
		gcabar_car = soma_car
				 
		insert cad			// calcium pump/buffering mechanism

		insert kca			// slow AHP K+ current
		gbar_kca = 5*soma_kca*crebsAHP		

       		insert mykca  			// medium AHP K++ current (BPG)
       		gbar_mykca =0.5* soma_mykca*crebsAHP
        

	 insert kdr
       gkdrbar_kdr=gkdrnosoma 
       sh_kdr=shift

            insert na3
              tha_na3     = thna3nosoma  
              qa_na3= qana3nosoma
              gbar_na3=gnanosoma
		 qinf_na3=qinfna3nosoma
             thinf_na3=thinfna3nosoma
              sh_na3=shift


   
          	insert pas 			
             g_pas=1/Rm_trunk
            Ra = Ra_trunk
            cm  = Cm_trunk

      


  	}
  
  forsec lm	 {

      
            insert na3
              tha_na3     = thna3dist  
              qa_na3= qana3dist
              gbar_na3=gnanosoma
		 qinf_na3=qinfna3dist
             thinf_na3=thinfna3dist
             sh_na3=shift

           

         insert kdr
          gkdrbar_kdr=gkdrnosoma 
          sh_kdr=shift



            insert cat // LVA Ca++-T type current
                   gcatbar_cat = 3*soma_caT

           insert car
		   gcabar_car =0.5* soma_car
				 
                   
            insert mykca // K(Ca) mAHP potassium type current
	           gbar_mykca =0.5* soma_mykca*crebmAHP   

               insert kca			// slow AHP K+ current
		gbar_kca = 5*soma_kca*crebsAHP   

             insert pas 			// passive properties
                g_pas          = 1/Rm_non_trunk
                Ra = Ra_non_trunk
                cm=Cm_non_trunk

     
         
          
  	}
  	
  	


  	oriprox1 {
           

          insert h     			// h current according to Migliore et al. 2004 
		ghdbar_h = gh_soma
		vhalfl_h = -73

	
		insert car
		gcabar_car = soma_car
		
		insert calH
		gcalbar_calH = 0.1*soma_calH	// varies from .1*0.00031635 to 4.6*0.00031635 as distance increases
		
		insert cat
		gcatbar_cat = soma_caT
 
		insert cad			// calcium pump/buffering mechanism
		insert kca			// slow AHP K+ current
		gbar_kca = 5*soma_kca*crebsAHP		// varies depending on distance from 0.5*0.0001 to 5*0.0001
       		insert mykca  			// medium AHP K++ current (BPG)
       		gbar_mykca = 0.5*soma_mykca*crebmAHP

             
		
          	insert kap               	// Inserting A-current
   		gkabar_kap = soma_kap			//0.0075
   		sh_kap=shiftkap

   		insert kad
   		gkabar_kad = 0
            sh_kad=shiftkad

          insert na3dend
	    insert kdr
          gbar_na3dend=gnadend
          gkdrbar_kdr=gkdrdend
         sh_kdr=shift
         sh_na3dend=shift

                              
          	insert pas 		
        g_pas=1/Rm_dend
          Ra = Ra_dend
          cm  = Cm_dend
  

	

  	}
  
  	oridist1 {


            insert h     			// h current according to Migliore et al. 2004 
		ghdbar_h = 2*gh_soma
		vhalfl_h = -81
              sh_h=shifth

		
		insert car
		gcabar_car = soma_car
		
		insert calH
		gcalbar_calH = 0.1*soma_calH	// varies from 4.6*0.00031635 to 0.1*0.00031635
		
		insert cat
		gcatbar_cat = soma_caT
 
		insert cad			// calcium pump/buffering mechanism
		insert kca			// slow AHP K+ current
		gbar_kca = 5*soma_kca*crebsAHP		// varies depending on distance from 0.5*0.0001 to 5*0.0001

       		insert mykca  			// medium AHP K++ current (BPG)
       		gbar_mykca = 0.5*soma_mykca*crebmAHP
		
          	insert kap               	// Inserting A-current
   		gkabar_kap = soma_kap	
           sh_kap=shiftkap
		
   		
   		insert kad
   		gkabar_kad = 0
            sh_kad=shiftkad


          insert na3dend
	    insert kdr
          gbar_na3dend=gnadend
          gkdrbar_kdr=gkdrdend
          sh_kdr=shift
          sh_na3dend=shift


        
   	
          	insert pas 		
       g_pas=1/Rm_dend
        Ra = Ra_dend
        cm  = Cm_dend
  

  	}
  
  	oriprox2 {

            	insert h     			// h current according to Migliore et al. 2004 
		ghdbar_h = gh_soma
		vhalfl_h = -73
               sh_h=shifth


		insert car
		gcabar_car = soma_car
		
		insert calH
		gcalbar_calH = 0.1*soma_calH	// varies from .1*0.00031635 to 4.6*0.00031635 as distance increases
		
		insert cat
		gcatbar_cat = soma_caT
 
		insert cad			// calcium pump/buffering mechanism
		insert kca			// slow AHP K+ current
		gbar_kca = 5*soma_kca*crebsAHP		// varies depending on distance from 0.5*0.0001 to 5*0.0001
       		insert mykca  			// medium AHP K++ current (BPG)
       		gbar_mykca = 0.5*soma_mykca*crebmAHP

         	insert kap               	// Inserting A-current
   		gkabar_kap = soma_kap			//0.0075
            sh_kap=shiftkap
		
    
   		insert kad
   		gkabar_kad = 0
            sh_kad=shiftkad

   
          	  insert na3dend
	    insert kdr
          gbar_na3dend=gnadend
          gkdrbar_kdr=gkdrdend
           sh_kdr=shift
           sh_na3dend=shift


                    
          	insert pas 		
      g_pas=1/Rm_dend
       Ra = Ra_dend
       cm  = Cm_dend
  
       	
  	}
  	
  	oridist2 {

            	insert h     			// h current according to Migliore et al. 2004 
		ghdbar_h = 2*gh_soma
		vhalfl_h = -81
             sh_h=shifth

		insert car
		gcabar_car = soma_car
		
		insert calH
		gcalbar_calH = 0.1*soma_calH	// varies from 4.6*0.00031635 to 0.1*0.00031635
		
		insert cat
		gcatbar_cat = soma_caT
 
		insert cad			// calcium pump/buffering mechanism

		insert kca			// slow AHP K+ current
		gbar_kca = 5*soma_kca*crebsAHP		// varies depending on distance from 0.5*0.0001 to 5*0.0001

          		insert mykca  			// medium AHP K++ current (BPG)
       		gbar_mykca =0.5* soma_mykca*crebmAHP
        
    	     insert kap               	// Inserting A-current
   		gkabar_kap = soma_kap			//0.0075
             ek=-80
   		sh_kap=shiftkap

   		insert kad
   		gkabar_kad = 0
   		sh_kad=shiftkad
  

            insert na3dend
	    insert kdr
          gbar_na3dend=gnadend
          gkdrbar_kdr=gkdrdend
          sh_kdr=shift
          sh_na3dend=shift



                    
          	insert pas 		
       g_pas=1/Rm_dend
        Ra = Ra_dend
         cm  = Cm_dend
    	}
  
  	axon {  


          insert nax
	        gbar_nax=AXNa*gna
		  tha_nax     = thnax   
               qa_nax= qanax
               qinf_nax=qinfnax
               thinf_nax=thinfnax
              sh_nax=shift


		insert kdr
             gkdrbar_kdr=AXKdr*gkdr
             sh_kdr=shift


             insert pas  // leak conductance
                    g_pas      = 1/Rm_axon  //    1.4286e-5 
                    e_pas       = v_init
                    Ra          = Ra_axon
                    cm          = Cm_axon

      

             insert km  // m-type potassium current
                    gbar_km     = 3*soma_km
                    ek          = -80
                    sh_km=shiftkm


             insert kap  // proximal A current
                   gkabar_kap = soma_kap
                   ek         = -80
                   sh_kap=shiftkap

           
  	}

  	
  	forsec all {
		ek = -80
		ena = 50
		e_pas = v_init
		

  	}

forall if (ismembrane("kap") ) {  
          ek=-80     
     }

forall if (ismembrane("kad") ) {  
          ek=-80     
     }

forall if (ismembrane("calH") ) {  
          mytau_calH = tauca      
     }

 if (ismembrane("h") ) {ehd_h=-10}

}

  forall if(ismembrane("ca_ion")) {
      eca = 140
      ion_style("ca_ion",0,1,0,0,0)
      vshift_ca = 0
    }


obfunc connect2target() { localobj nc //$o1 target point process, optional $o2 returned NetCon
  soma nc = new NetCon(&v(1), $o1)
  nc.threshold = -10
  if (numarg() == 2) { $o2 = nc } // for backward compatibility
  return nc
}


objref syn_
proc synapses() {
  	/* E0 */   	lm_thick1 syn_ = new MyExp2Syn(0.5)  pre_list.append(syn_)	// AMPA		EC input
    	syn_.tau1 = 0.5
    	syn_.tau2 = 3
    	syn_.e = 0
  	/* E1 */   	lm_thick2 syn_ = new MyExp2Syn(0.5)  pre_list.append(syn_)	// AMPA		EC input
    	syn_.tau1 = 0.5
    	syn_.tau2 = 3
    	syn_.e = 0
  	/* E2 */   	radTmed syn_ = new MyExp2Syn(0.5)  pre_list.append(syn_)	// AMPA		CA3 Schaffer collaterals
    	syn_.tau1 = 0.5
    	syn_.tau2 = 3
    	syn_.e = 0
  	/* E3 */   	radTmed syn_ = new NMDA(0.5)  pre_list.append(syn_)		// NMDA		CA3 Schaffer collaterals
   /* 	syn_.tcon = 2.3	
    	syn_.tcoff = 100
*/
    	//syn_.gNMDAmax = $1	// use connection weight to determine max cond
  	/* E4 */   	radTprox syn_ = new MyExp2Syn(0.5)  pre_list.append(syn_)	// AMPA		PC recurrent input
    	syn_.tau1 = 0.5
    	syn_.tau2 = 3
    	syn_.e = 0
  	/* I5 */   	soma syn_ = new MyExp2Syn(0.5)  pre_list.append(syn_)		// GABA-A	B cell
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I6 */   	axon syn_ = new MyExp2Syn(0.1)  pre_list.append(syn_)		// GABA-A	AA cell
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I7 */	lm_thick1 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_)	// GABA-A	OLM cells
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I8 */	lm_thick2 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_)	// GABA-A	OLM cells
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I9 */	lm_thick1 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_)	// GABA-B	OLM cells
    	syn_.tau1 = 35
    	syn_.tau2 = 100
    	syn_.e = -75
  	/* I10 */	lm_thick2 syn_ = new MyExp2Syn(0.5) pre_list.append(syn_)	// GABA-B	OLM cells
    	syn_.tau1 = 35
    	syn_.tau2 = 100
    	syn_.e = -75
  	/* I11 */   	radTmed syn_ = new MyExp2Syn(0.8)  pre_list.append(syn_)	// GABA-A	BS cells
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I12 */   	radTmed syn_ = new MyExp2Syn(0.7)  pre_list.append(syn_)	// GABA-A	BS cells
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I13 */   	radTmed syn_ = new MyExp2Syn(0.6)  pre_list.append(syn_)	// GABA-A	BS cells
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I14 */   	radTmed syn_ = new MyExp2Syn(0.4)  pre_list.append(syn_)	// GABA-A	BS cells
   	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I15 */   	radTmed syn_ = new MyExp2Syn(0.3)  pre_list.append(syn_)	// GABA-A	BS cells
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I16 */   	radTmed syn_ = new MyExp2Syn(0.2)  pre_list.append(syn_)	// GABA-A	BS cells
    	syn_.tau1 = 1
    	syn_.tau2 = 8
    	syn_.e = -75
  	/* I17 */   	radTmed syn_ = new MyExp2Syn(0.8)  pre_list.append(syn_)	// GABA-B	BS cells
    	syn_.tau1 = 35
    	syn_.tau2 = 100
    	syn_.e = -75
  	/* I18 */   	radTmed syn_ = new MyExp2Syn(0.7)  pre_list.append(syn_)	// GABA-B	BS cells
    	syn_.tau1 = 35
    	syn_.tau2 = 100
    	syn_.e = -75
  	/* I19 */   	radTmed syn_ = new MyExp2Syn(0.6)  pre_list.append(syn_)	// GABA-B	BS cells
    	syn_.tau1 = 35
    	syn_.tau2 = 100
    	syn_.e = -75
  	/* I20 */   	radTmed syn_ = new MyExp2Syn(0.4)  pre_list.append(syn_)	// GABA-B	BS cells
    	syn_.tau1 = 35
    	syn_.tau2 = 100
    	syn_.e = -75
  	/* I21 */   	radTmed syn_ = new MyExp2Syn(0.3)  pre_list.append(syn_)	// GABA-B	BS cells
    	syn_.tau1 = 35
    	syn_.tau2 = 100
    	syn_.e = -75
  	/* I22 */   	radTmed syn_ = new MyExp2Syn(0.2)  pre_list.append(syn_)	// GABA-B	BS cells
    	syn_.tau1 = 35
    	syn_.tau2 = 100
    	syn_.e = -75
    	/* E23 */   	radTmed syn_ = new STDPE2(0.5)  pre_list.append(syn_)	// AMPA modifiable	CA3 Schaffer collaterals
	syn_.tau1 = 0.5
	syn_.tau2 = 3
	syn_.e = 0
}



func is_art() { return 0 }


proc current_balance() {

  finitialize($1)
  fcurrent()
  printf("Balancing each compartment to %d mV\n", $1)
  forall {
      
      for (x) {         
        if (ismembrane("na_ion") && ismembrane("ca_ion") && ismembrane("Ca_ion") && (ismembrane("k_ion"))) {
            e_pas(x)=(ina(x)+ik(x)+ica(x)+iCa(x)+g_pas(x)*v(x))/g_pas(x) 
             if (ismembrane("h")) {e_pas(x)=e_pas(x)+i_h(x)/g_pas(x)}

        } else if (ismembrane("na_ion") && ismembrane("ca_ion") && (ismembrane("k_ion"))){
            e_pas(x)=(ina(x)+ik(x)+ica(x)+g_pas(x)*v(x))/g_pas(x) 
             if (ismembrane("h")) {e_pas(x)=e_pas(x)+i_h(x)/g_pas(x)}

        } else if (ismembrane("na_ion") && (ismembrane("k_ion"))) {
            e_pas(x)=(ina(x)+ik(x)+g_pas(x)*v(x))/g_pas(x)
             if (ismembrane("h")) {e_pas(x)=e_pas(x)+i_h(x)/g_pas(x)}

          
        } else {
         // print "simply assigning v(x)"
          e_pas(x)=v(x)
        }
      
    }
  }

 

}

endtemplate PyramidalCell