/* 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 //insert km //muscarinic cur //insert hd //h current //ghdbar_hd=ghd //vhalfl_hd=-82 //from Maggee 98 (at soma) //ehd_hd=-30 /* insert hh1 gkbar_hh1=GK_pyr_s ek=EK_pyr gnabar_hh1=GNa_pyr_s ena=ENa_pyr gl_hh1=g_passive*/ } } 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 }