/* This is the primary file for creating the MSP cell - this file calls all
of the hoc files necessary to build one cell and sets the default
parameter values.
Usually this file is called by a hoc file in /input_params/.
Jason Moyer 2005 - jtmoyer@seas.upenn.edu
*/
//****************************************************************************
//Load all the baseline parameters to start with
sprint(dirstr, "%s/baseline_values.txt", preface)
//print dirstr
xopen(dirstr)
//load_file("../input_params/baseline_values.txt")
//****************************************************************************
//****************************************************************************
// all_tau_vecs.hoc loads the tables used to define the taus for many channels
sprint(dirstr, "%s/all_tau_vecs.hoc", preface)
//print dirstr
xopen(dirstr)
//load_file("all_tau_vecs.hoc")
//****************************************************************************
//****************************************************************************
//load the templates for the synapses - AMPA, GABA, and NMDA
sprint(dirstr, "%s/synapse_templates.hoc", preface)
xopen(dirstr)
//load_file("synapse_templates.hoc")
//****************************************************************************
//****************************************************************************
// load cell template - builds the cell topology, including inserting
// channels and synapses; dlambda code is in here (under geom()) along
// with code to output the number of compartments in cell
sprint(dirstr, "%s/msp_template.hoc", preface)
xopen(dirstr)
//load_file ("msp_template.hoc")
//****************************************************************************
create acell_home_
//****************************************************************************
// load netstims template, sets default interval, number, noise
sprint(dirstr, "%s/netstims_template.hoc", preface)
xopen(dirstr)
//load_file("netstims_template.hoc")
//****************************************************************************
//****************************************************************************
// create msp cells using cell_append(), nc_append()
// set number of segments using geom_nseg() (in fixnseg.hoc)
// create shunt for sharp electrode
sprint(dirstr, "%s/create_mspcells.hoc", preface)
xopen(dirstr)
//load_file("create_mspcells.hoc")
//****************************************************************************
//**********************************************************************
// calculate membrane area, access soma by default
A1 = 0
Ad = 0
forsec "dend._.*" {
for i = 1, nseg {
Ad = Ad + area( i/(nseg+1) )
}
}
forsec "MSP_Cell[0]" {
for i = 1, nseg {
A1 = A1 + area( i/(nseg+1) )
}
}
Ap = A1 - Ad
print "Total cell membrane area = ", A1 // equals whole cell membrane area
print "Mid + Dist mem area = ", Ad
print "Soma + Prox mem area = ", Ap
//**********************************************************************
//****************************************************************************
// specify cell's active properties using constants listed in
// input_params/baseline_values.txt
//
sprint(dirstr, "%s/basic_procs.hoc", preface)
xopen(dirstr)
set_pas(G_PAS)
set_naf(G_NAF)
set_nafd(G_NAFD)
set_nap(G_NAP)
set_napd(G_NAPD)
set_kir(G_KIR)
set_kas(G_KAS)
set_kasd(G_KASD)
set_kaf(G_KAF)
set_kafd(G_KAFD)
set_krp(G_KRP)
set_bkkca(G_BKKCA)
set_skkca(G_SKKCA)
set_caL(P_CAL)
set_caL13(P_CAL13)
set_can(P_CAN)
set_caq(P_CAQ)
set_car(P_CAR)
set_cat(P_CAT)
set_cainf(CAINF)
set_taur(TAUR)
set_cadrive(CA_DRIVE)
set_pump(CA_PUMP)
set_ek(EK)
forsec "MSP_Cell" {Ra = RA cm = CM}
//****************************************************************************
//*************************************************************************
// create and set netstims using champawt(), chnmdawt(), chint()
sprint(dirstr, "%s/make_netstims.hoc", preface)
xopen(dirstr)
//*************************************************************************
access MSP_Cell[0].soma