/*
Template to build a simple pyramidal cell conceptual model of soma and two dendrites
Based on the Dustewitz model
*/
load_file("nrngui.hoc")
load_file("presets_WT1.hoc")
begintemplate Pyramidal
public soma,Dend,connectotarget,connections,position,x,y,z,s,netcon,Area
external ra, c_m,g_passive
external ENa_pyr,EK_pyr,v_rest_pyr,ghd
external GK_pyr_s,GNa_pyr_s // Soma current densities
// Apical dendrite proximal current densities
create soma
access soma
objref connections,s,netcon
proc init(){local i
create soma
connections=new List()//Defines a list of connections for each cell
netcon=new List() //for stimuli and others
//defined from this template
/* Some previous parameters */
soma geometry()
biophys()
access soma
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
proc geometry(){
// Set soma diameter and length
soma {
L=20
diam=20
nseg=1
}
}
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
proc biophys(){
soma { //all the parameters values in presets_WT1.hoc
Ra = ra //Insert Passive Current
cm = c_m
insert pas
g_pas = g_passive
e_pas =v_rest_pyr
// HH-style potassium channel
insert KPyr
gbar_KPyr=GK_pyr_s
ek=EK_pyr
// HH-style sodium channel
insert NaPyr
gbar_NaPyr=GNa_pyr_s
ena=ENa_pyr
//===================================
//h-currents
insert htc
ehd_htc=-30 //(mV)
ghdbar_htc=(5)*1e-5
//===================================
}
}
func Area(){local a
access soma
a=area(0.5)
return a
}
endtemplate Pyramidal
//=========================================================================================
obfunc create_pyrams(){local ncell localobj List_cells
ncell=$2
$o1.remove_all()
List_cells=$o1
for i=0, ncell-1{
List_cells.append(new Pyramidal())
}
return List_cells
}