// Channel layout from Migliore et al. (1999)
// only that now channels are distibuted evenly (except an optional gradient in A current)
// =====================================================================================
// parameters
// ----------
v_init = -65
Rm = 28000
RmDend = Rm// /2
RmSoma = Rm
RmAx = Rm
Cm = 1
CmSoma= Cm
CmAx = Cm
CmDend = Cm// *2
RaAll= 150
RaSoma=150
RaDend=RaSoma
RaAx = 50
gna = .032
AXONM = 2
gkdr = 0.01
celsius = 34.0
KMULT = 0.048
KMULTP = 0.048
EK = -90
ENa = 55
// ===============================================================================
// variable defaults
// -----------------
SGNa=gna
SNaATT=0.8
SGKdr=gkdr
SGKAp=KMULTP
DGNa=gna
DNaATT=0.8//0.5
DGKdr=gkdr
DGKAp=KMULTP
DGKAd=0
DSpine = 2
AxGNa=gna*AXONM
AxNaATT = 0.8
AxGact = -30 // vhalf for a and b threshold
AxGKdr=gkdr
AxGKAp=KMULTP*0.2
// ===============================================================================
// user access flag; conductance parameter flag; [gui name]; [variable name];
// ([] - if user access flag==1)
// variable value; range distribution formula
subtree = new Subtree("Soma",soma_section_list)
channel = new Channel("pas")
channel.add_parameter(new Channel_Parameter(0,0,"e_pas",v_init,"e_pas=v_init"))
channel.add_parameter(new Channel_Parameter(0,1,"g_pas",RmSoma,""))
channel.add_parameter(new Channel_Parameter(1,2,"","Rm","RmSoma",RmSoma,"g_pas=1/RmSoma"))
channel.add_parameter(new Channel_Parameter(1,2,"Ra","Ra","RaSoma",RaSoma,"Ra=RaSoma"))
channel.add_parameter(new Channel_Parameter(1,2,"cm","cm","CmSoma",CmSoma,"cm=CmSoma"))
subtree.add_channel(channel)
channel = new Channel("na_M")
channel.add_parameter(new Channel_Parameter(1,1,"gbar_na_M","g Na+ (fast)","SGNa",SGNa,"gbar_na_M=SGNa"))
channel.add_parameter(new Channel_Parameter(0,0,"ena",ENa,"ena=ENa"))
channel.add_parameter(new Channel_Parameter(1,0,"ar2_na_M","Na+ attenuation","SNaATT",SNaATT,"ar2_na_M=SNaATT"))
subtree.add_channel(channel)
channel = new Channel("kdr_M")
channel.add_parameter(new Channel_Parameter(1,1,"gkdrbar_kdr_M","g K+ (dr)","SGKdr",SGKdr,"gkdrbar_kdr_M=SGKdr"))
channel.add_parameter(new Channel_Parameter(0,0,"ek",EK,"ek=EK"))
subtree.add_channel(channel)
channel = new Channel("kap_M")
channel.add_parameter(new Channel_Parameter(1,1,"gkabar_kap_M","g K+ (Ap)","SGKAp",SGKAp,"gkabar_kap_M=SGKAp"))
channel.add_parameter(new Channel_Parameter(0,0,"ek",EK,"ek=EK"))
subtree.add_channel(channel)
LAYOUT.add_subtree(subtree)
subtree = new Subtree("Dendrite",dendrite_section_list)
channel = new Channel("pas")
channel.add_parameter(new Channel_Parameter(1,2,"","Spine Correction","DSpine",DSpine,""))
channel.add_parameter(new Channel_Parameter(0,0,"e_pas",v_init,"e_pas=v_init"))
channel.add_parameter(new Channel_Parameter(0,1,"g_pas",RmDend,""))
channel.add_parameter(new Channel_Parameter(1,2,"","Rm","RmDend",RmDend,"g_pas=1/(RmDend/DSpine)"))
channel.add_parameter(new Channel_Parameter(1,2,"Ra","Ra","RaDend",RaDend,"Ra=RaDend"))
channel.add_parameter(new Channel_Parameter(1,2,"cm","cm","CmDend",CmDend,"cm=CmDend*DSpine"))
subtree.add_channel(channel)
channel = new Channel("na_M")
channel.add_parameter(new Channel_Parameter(1,1,"gbar_na_M","g Na+","DGNa",DGNa,"gbar_na_M=DGNa"))
channel.add_parameter(new Channel_Parameter(0,0,"ena",ENa,"ena=ENa"))
channel.add_parameter(new Channel_Parameter(1,0,"ar2_na_M","Na+ attenuation","DNaATT",DNaATT,"ar2_na_M=DNaATT"))
subtree.add_channel(channel)
channel = new Channel("kdr_M")
channel.add_parameter(new Channel_Parameter(1,1,"gkdrbar_kdr_M","g K+ (dr)","DGKdr",DGKdr,"gkdrbar_kdr_M=DGKdr"))
channel.add_parameter(new Channel_Parameter(0,0,"ek",EK,"ek=EK"))
subtree.add_channel(channel)
channel = new Channel("kap_M")
channel.add_parameter(new Channel_Parameter(1,1,"gkabar_kap_M","g K+ (Ap)","DGKAp",DGKAp,"gkabar_kap_M=DGKAp"))
channel.add_parameter(new Channel_Parameter(0,0,"ek",EK,"ek=EK"))
subtree.add_channel(channel)
channel = new Channel("kad_M")
channel.add_parameter(new Channel_Parameter(1,1,"gkabar_kad_M","g K+ (Ad)","DGKAd",DGKAd,"gkabar_kad_M=DGKAd"))
channel.add_parameter(new Channel_Parameter(0,0,"ek",EK,"ek=EK"))
subtree.add_channel(channel)
LAYOUT.add_subtree(subtree)
subtree = new Subtree("Axon",axon_section_list)
channel = new Channel("pas")
channel.add_parameter(new Channel_Parameter(0,0,"e_pas",v_init,"e_pas=v_init"))
channel.add_parameter(new Channel_Parameter(0,1,"g_pas",RmAx,"g_pas=1/RmAx"))
channel.add_parameter(new Channel_Parameter(1,2,"Ra","Ra","RaAx",RaAx,"Ra=RaAx"))
channel.add_parameter(new Channel_Parameter(1,2,"cm","cm","CmAx",CmAx,"cm=CmAx"))
subtree.add_channel(channel)
channel = new Channel("nax_M")
channel.add_parameter(new Channel_Parameter(1,1,"gbar_nax_M","g Na+ (fast)","AxGNa",AxGNa,"gbar_nax_M=AxGNa"))
channel.add_parameter(new Channel_Parameter(1,0,"tha_nax_M","Na+ Vhalf activation","AxGact",AxGact,"tha_nax_M=AxGact"))
channel.add_parameter(new Channel_Parameter(0,0,"ena",ENa,"ena=ENa"))
subtree.add_channel(channel)
channel = new Channel("kdr_M")
channel.add_parameter(new Channel_Parameter(1,1,"gkdrbar_kdr_M","g K+ (dr)","AxGKdr",AxGKdr,"gkdrbar_kdr_M=AxGKdr"))
channel.add_parameter(new Channel_Parameter(0,0,"ek",EK,"ek=EK"))
subtree.add_channel(channel)
channel = new Channel("kap_M")
channel.add_parameter(new Channel_Parameter(1,1,"gkabar_kap_M","g K+ (Ap)","AxGKAp",AxGKAp,"gkabar_kap_M=AxGKAp"))
channel.add_parameter(new Channel_Parameter(0,0,"ek",EK,"ek=EK"))
subtree.add_channel(channel)
LAYOUT.add_subtree(subtree)
// --------------------------------------------------------------------------------------