// ======================================================================== // Create cell compartment prototypes // Full model (9 ion channel types) // ======================================================================== function make_GP_comps echo "Making GP compartments with full channel set (SD, NSD models)" float len, dia, surf, rad, vol, core_vol, shell_vol float rad_core, shell_vol int i /* make spherical soma prototype */ len = 0 dia = 1 rad = {dia}/2 rad_core = rad - {shell_thick} surf = 4*{PI}*rad*rad vol = 4/3*{PI}*rad*rad*rad core_vol = 4/3*{PI}*rad_core*rad_core*rad_core shell_vol = vol - core_vol if (!({exists GP_soma})) create compartment GP_soma end setfield GP_soma Cm {{CM}*surf} Ra {8.0*{RA}/({dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} /* put channels in soma */ copy Ca_HVA_GP GP_soma/Ca_HVA_GP addmsg GP_soma GP_soma/Ca_HVA_GP VOLTAGE Vm addmsg GP_soma/Ca_HVA_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_soma}*{G_mult}} copy K_ahp_GP GP_soma/K_ahp_GP addmsg GP_soma GP_soma/K_ahp_GP VOLTAGE Vm addmsg GP_soma/K_ahp_GP GP_soma CHANNEL Gk Ek setfield GP_soma/K_ahp_GP Gbar \ {{G_K_ahp_GP}*surf*{G_mult_SK_soma}*{G_mult}} copy Ca_GP_nernst GP_soma/Ca_GP_nernst copy Ca_GP_conc GP_soma/Ca_GP_conc addmsg GP_soma/Ca_HVA_GP GP_soma/Ca_GP_conc I_Ca Ik addmsg GP_soma/Ca_GP_conc GP_soma/Ca_HVA_GP CONCEN Ca addmsg GP_soma/Ca_GP_conc GP_soma/K_ahp_GP CONCEN Ca addmsg GP_soma/Ca_GP_conc GP_soma/Ca_GP_nernst CIN Ca addmsg GP_soma/Ca_GP_nernst GP_soma/Ca_HVA_GP EK E setfield GP_soma/Ca_GP_conc B {{B_Ca_GP_conc}/shell_vol} copy Na_fast_GP GP_soma/Na_fast_GP addmsg GP_soma GP_soma/Na_fast_GP VOLTAGE Vm addmsg GP_soma/Na_fast_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_soma}*{G_mult}} copy Na_slow_GP GP_soma/Na_slow_GP addmsg GP_soma GP_soma/Na_slow_GP VOLTAGE Vm addmsg GP_soma/Na_slow_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Na_slow_GP Gbar \ {{G_Na_slow_GP}*surf*{G_mult_NaP_soma}*{G_mult}} copy Kv3_GP GP_soma/Kv3_GP addmsg GP_soma GP_soma/Kv3_GP VOLTAGE Vm addmsg GP_soma/Kv3_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Kv3_GP Gbar \ {{G_Kv3_GP}*surf*{G_mult_Kdr_soma}*{G_mult}} copy Kv2_GP GP_soma/Kv2_GP addmsg GP_soma GP_soma/Kv2_GP VOLTAGE Vm addmsg GP_soma/Kv2_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_soma}*{G_mult}} copy Kv4_fast_GP GP_soma/Kv4_fast_GP addmsg GP_soma GP_soma/Kv4_fast_GP VOLTAGE Vm addmsg GP_soma/Kv4_fast_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Kv4_fast_GP Gbar \ {{G_Kv4_fast_GP}*surf*{G_mult_KA_soma}*{G_mult}} copy Kv4_slow_GP GP_soma/Kv4_slow_GP addmsg GP_soma GP_soma/Kv4_slow_GP VOLTAGE Vm addmsg GP_soma/Kv4_slow_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Kv4_slow_GP Gbar \ {{G_Kv4_slow_GP}*surf*{G_mult_KA_soma}*{G_mult}} copy KCNQ_GP GP_soma/KCNQ_GP addmsg GP_soma GP_soma/KCNQ_GP VOLTAGE Vm addmsg GP_soma/KCNQ_GP GP_soma CHANNEL Gk Ek setfield GP_soma/KCNQ_GP Gbar \ {{G_KCNQ_GP}*surf*{G_mult_KCNQ_soma}*{G_mult}} copy h_HCN_GP GP_soma/h_HCN_GP addmsg GP_soma GP_soma/h_HCN_GP VOLTAGE Vm addmsg GP_soma/h_HCN_GP GP_soma CHANNEL Gk Ek setfield GP_soma/h_HCN_GP Gbar \ {{G_h_HCN_GP}*surf*{G_mult}} copy h_HCN2_GP GP_soma/h_HCN2_GP addmsg GP_soma GP_soma/h_HCN2_GP VOLTAGE Vm addmsg GP_soma/h_HCN2_GP GP_soma CHANNEL Gk Ek setfield GP_soma/h_HCN2_GP Gbar \ {{G_h_HCN2_GP}*surf*{G_mult}} /* make axon hillock prototype --> extension of soma */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (dia > {{shell_thick}*2}) rad_core = rad - {shell_thick} core_vol = {PI}*rad_core*rad_core*{len} shell_vol = vol - core_vol else shell_vol = vol end if (!({exists GP_axHill})) create compartment GP_axHill end setfield GP_axHill Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} /* put channels in axon hillock --> same as soma */ copy Ca_HVA_GP GP_axHill/Ca_HVA_GP addmsg GP_axHill GP_axHill/Ca_HVA_GP VOLTAGE Vm addmsg GP_axHill/Ca_HVA_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_soma}*{G_mult}} copy K_ahp_GP GP_axHill/K_ahp_GP addmsg GP_axHill GP_axHill/K_ahp_GP VOLTAGE Vm addmsg GP_axHill/K_ahp_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/K_ahp_GP Gbar \ {{G_K_ahp_GP}*surf*{G_mult_SK_soma}*{G_mult}} copy Ca_GP_nernst GP_axHill/Ca_GP_nernst copy Ca_GP_conc GP_axHill/Ca_GP_conc addmsg GP_axHill/Ca_HVA_GP GP_axHill/Ca_GP_conc I_Ca Ik addmsg GP_axHill/Ca_GP_conc GP_axHill/Ca_HVA_GP CONCEN Ca addmsg GP_axHill/Ca_GP_conc GP_axHill/K_ahp_GP CONCEN Ca addmsg GP_axHill/Ca_GP_conc GP_axHill/Ca_GP_nernst CIN Ca addmsg GP_axHill/Ca_GP_nernst GP_axHill/Ca_HVA_GP EK E setfield GP_axHill/Ca_GP_conc B {{B_Ca_GP_conc}/shell_vol} copy Na_fast_GP GP_axHill/Na_fast_GP addmsg GP_axHill GP_axHill/Na_fast_GP VOLTAGE Vm addmsg GP_axHill/Na_fast_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_soma}*{G_mult}} copy Na_slow_GP GP_axHill/Na_slow_GP addmsg GP_axHill GP_axHill/Na_slow_GP VOLTAGE Vm addmsg GP_axHill/Na_slow_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Na_slow_GP Gbar \ {{G_Na_slow_GP}*surf*{G_mult_NaP_soma}*{G_mult}} copy Kv3_GP GP_axHill/Kv3_GP addmsg GP_axHill GP_axHill/Kv3_GP VOLTAGE Vm addmsg GP_axHill/Kv3_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Kv3_GP Gbar \ {{G_Kv3_GP}*surf*{G_mult_Kdr_soma}*{G_mult}} copy Kv2_GP GP_axHill/Kv2_GP addmsg GP_axHill GP_axHill/Kv2_GP VOLTAGE Vm addmsg GP_axHill/Kv2_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_soma}*{G_mult}} copy Kv4_fast_GP GP_axHill/Kv4_fast_GP addmsg GP_axHill GP_axHill/Kv4_fast_GP VOLTAGE Vm addmsg GP_axHill/Kv4_fast_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Kv4_fast_GP Gbar \ {{G_Kv4_fast_GP}*surf*{G_mult_KA_soma}*{G_mult}} copy Kv4_slow_GP GP_axHill/Kv4_slow_GP addmsg GP_axHill GP_axHill/Kv4_slow_GP VOLTAGE Vm addmsg GP_axHill/Kv4_slow_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Kv4_slow_GP Gbar \ {{G_Kv4_slow_GP}*surf*{G_mult_KA_soma}*{G_mult}} copy KCNQ_GP GP_axHill/KCNQ_GP addmsg GP_axHill GP_axHill/KCNQ_GP VOLTAGE Vm addmsg GP_axHill/KCNQ_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/KCNQ_GP Gbar \ {{G_KCNQ_GP}*surf*{G_mult}} copy h_HCN_GP GP_axHill/h_HCN_GP addmsg GP_axHill GP_axHill/h_HCN_GP VOLTAGE Vm addmsg GP_axHill/h_HCN_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/h_HCN_GP Gbar \ {{G_h_HCN_GP}*surf*{G_mult}} copy h_HCN2_GP GP_axHill/h_HCN2_GP addmsg GP_axHill GP_axHill/h_HCN2_GP VOLTAGE Vm addmsg GP_axHill/h_HCN2_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/h_HCN2_GP Gbar \ {{G_h_HCN2_GP}*surf*{G_mult}} /* make axon initial segment prototype--> low Rm */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axIS})) create compartment GP_axIS end setfield GP_axIS Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_ax}/surf} inject 0.0 \ dia {dia} len {len} /* put channels in axon initial segment */ copy Na_fast_GP GP_axIS/Na_fast_GP addmsg GP_axIS GP_axIS/Na_fast_GP VOLTAGE Vm addmsg GP_axIS/Na_fast_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_axon}*{G_mult}} copy Na_slow_GP GP_axIS/Na_slow_GP addmsg GP_axIS GP_axIS/Na_slow_GP VOLTAGE Vm addmsg GP_axIS/Na_slow_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/Na_slow_GP Gbar \ {{G_Na_slow_GP}*surf*{G_mult_NaP_axon}*{G_mult}} copy Kv4_fast_GP GP_axIS/Kv4_fast_GP addmsg GP_axIS GP_axIS/Kv4_fast_GP VOLTAGE Vm addmsg GP_axIS/Kv4_fast_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/Kv4_fast_GP Gbar \ {{G_Kv4_fast_GP}*surf*{G_mult_KA_axon}*{G_mult}} copy Kv4_slow_GP GP_axIS/Kv4_slow_GP addmsg GP_axIS GP_axIS/Kv4_slow_GP VOLTAGE Vm addmsg GP_axIS/Kv4_slow_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/Kv4_slow_GP Gbar \ {{G_Kv4_slow_GP}*surf*{G_mult_KA_axon}*{G_mult}} copy Kv3_GP GP_axIS/Kv3_GP addmsg GP_axIS GP_axIS/Kv3_GP VOLTAGE Vm addmsg GP_axIS/Kv3_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/Kv3_GP Gbar \ {{G_Kv3_GP}*surf*{G_mult_Kdr_axon}*{G_mult}} copy Kv2_GP GP_axIS/Kv2_GP addmsg GP_axIS GP_axIS/Kv2_GP VOLTAGE Vm addmsg GP_axIS/Kv2_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_axon}*{G_mult}} copy KCNQ_GP GP_axIS/KCNQ_GP addmsg GP_axIS GP_axIS/KCNQ_GP VOLTAGE Vm addmsg GP_axIS/KCNQ_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/KCNQ_GP Gbar \ {{G_KCNQ_GP}*surf*{G_mult_KCNQ_axon}*{G_mult}} /* make axon internodal segment prototype--> low Cm, high Rm, no chans */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axIN})) create compartment GP_axIN end setfield GP_axIN Cm {{CM_my}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_my}/surf} inject 0.0 \ dia {dia} len {len} // no channels in axIN segments. /* make axon node prototype--> same characteristics as initial segment */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axNode})) create compartment GP_axNode end setfield GP_axNode Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_ax}/surf} inject 0.0 \ dia {dia} len {len} /* put channels in node--> exclude NaP to prevent spontaneous initiation */ copy Na_fast_GP GP_axNode/Na_fast_GP addmsg GP_axNode GP_axNode/Na_fast_GP VOLTAGE Vm addmsg GP_axNode/Na_fast_GP GP_axNode CHANNEL Gk Ek setfield GP_axNode/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_axon}*{G_mult}} copy Kv4_fast_GP GP_axNode/Kv4_fast_GP addmsg GP_axNode GP_axNode/Kv4_fast_GP VOLTAGE Vm addmsg GP_axNode/Kv4_fast_GP GP_axNode CHANNEL Gk Ek setfield GP_axNode/Kv4_fast_GP Gbar \ {{G_Kv4_fast_GP}*surf*{G_mult_KA_axon}*{G_mult}} copy Kv4_slow_GP GP_axNode/Kv4_slow_GP addmsg GP_axNode GP_axNode/Kv4_slow_GP VOLTAGE Vm addmsg GP_axNode/Kv4_slow_GP GP_axNode CHANNEL Gk Ek setfield GP_axNode/Kv4_slow_GP Gbar \ {{G_Kv4_slow_GP}*surf*{G_mult_KA_axon}*{G_mult}} copy Kv3_GP GP_axNode/Kv3_GP addmsg GP_axNode GP_axNode/Kv3_GP VOLTAGE Vm addmsg GP_axNode/Kv3_GP GP_axNode CHANNEL Gk Ek setfield GP_axNode/Kv3_GP Gbar \ {{G_Kv3_GP}*surf*{G_mult_Kdr_axon}*{G_mult}} copy Kv2_GP GP_axNode/Kv2_GP addmsg GP_axNode GP_axNode/Kv2_GP VOLTAGE Vm addmsg GP_axNode/Kv2_GP GP_axNode CHANNEL Gk Ek setfield GP_axNode/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_axon}*{G_mult}} copy KCNQ_GP GP_axNode/KCNQ_GP addmsg GP_axNode GP_axNode/KCNQ_GP VOLTAGE Vm addmsg GP_axNode/KCNQ_GP GP_axNode CHANNEL Gk Ek setfield GP_axNode/KCNQ_GP Gbar \ {{G_KCNQ_GP}*surf*{G_mult_KCNQ_axon}*{G_mult}} // Dendritic prototype = dendrite_p len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (dia > {{shell_thick}*2}) rad_core = rad - {shell_thick} core_vol = {PI}*rad_core*rad_core*{len} shell_vol = vol - core_vol else shell_vol = vol end if (!({exists GP_dendrite_p})) create compartment GP_dendrite_p end setfield GP_dendrite_p Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} // Put shared channels in prototype dendrite copy Ca_HVA_GP GP_dendrite_p/Ca_HVA_GP addmsg GP_dendrite_p GP_dendrite_p/Ca_HVA_GP VOLTAGE Vm addmsg GP_dendrite_p/Ca_HVA_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}} copy K_ahp_GP GP_dendrite_p/K_ahp_GP addmsg GP_dendrite_p GP_dendrite_p/K_ahp_GP VOLTAGE Vm addmsg GP_dendrite_p/K_ahp_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/K_ahp_GP Gbar \ {{G_K_ahp_GP}*surf*{G_mult_SK_dend}*{G_mult}} copy Ca_GP_nernst GP_dendrite_p/Ca_GP_nernst copy Ca_GP_conc GP_dendrite_p/Ca_GP_conc addmsg GP_dendrite_p/Ca_HVA_GP GP_dendrite_p/Ca_GP_conc I_Ca Ik addmsg GP_dendrite_p/Ca_GP_conc GP_dendrite_p/Ca_HVA_GP CONCEN Ca addmsg GP_dendrite_p/Ca_GP_conc GP_dendrite_p/K_ahp_GP CONCEN Ca addmsg GP_dendrite_p/Ca_GP_conc GP_dendrite_p/Ca_GP_nernst CIN Ca addmsg GP_dendrite_p/Ca_GP_nernst GP_dendrite_p/Ca_HVA_GP EK E setfield GP_dendrite_p/Ca_GP_conc B {{B_Ca_GP_conc}/shell_vol} copy Na_fast_GP GP_dendrite_p/Na_fast_GP addmsg GP_dendrite_p GP_dendrite_p/Na_fast_GP VOLTAGE Vm addmsg GP_dendrite_p/Na_fast_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_dend}*{G_mult}} copy Na_slow_GP GP_dendrite_p/Na_slow_GP addmsg GP_dendrite_p GP_dendrite_p/Na_slow_GP VOLTAGE Vm addmsg GP_dendrite_p/Na_slow_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Na_slow_GP Gbar \ {{G_Na_slow_GP}*surf*{G_mult_NaP_dend}*{G_mult}} copy Kv3_GP GP_dendrite_p/Kv3_GP addmsg GP_dendrite_p GP_dendrite_p/Kv3_GP VOLTAGE Vm addmsg GP_dendrite_p/Kv3_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Kv3_GP Gbar \ {{G_Kv3_GP}*surf*{G_mult_Kdr_dend}*{G_mult}} copy Kv2_GP GP_dendrite_p/Kv2_GP addmsg GP_dendrite_p GP_dendrite_p/Kv2_GP VOLTAGE Vm addmsg GP_dendrite_p/Kv2_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_dend}*{G_mult}} copy Kv4_fast_GP GP_dendrite_p/Kv4_fast_GP addmsg GP_dendrite_p GP_dendrite_p/Kv4_fast_GP VOLTAGE Vm addmsg GP_dendrite_p/Kv4_fast_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Kv4_fast_GP Gbar \ {{G_Kv4_fast_GP}*surf*{G_mult_KA_dend}*{G_mult}} copy Kv4_slow_GP GP_dendrite_p/Kv4_slow_GP addmsg GP_dendrite_p GP_dendrite_p/Kv4_slow_GP VOLTAGE Vm addmsg GP_dendrite_p/Kv4_slow_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Kv4_slow_GP Gbar \ {{G_Kv4_slow_GP}*surf*{G_mult_KA_dend}*{G_mult}} copy KCNQ_GP GP_dendrite_p/KCNQ_GP addmsg GP_dendrite_p GP_dendrite_p/KCNQ_GP VOLTAGE Vm addmsg GP_dendrite_p/KCNQ_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/KCNQ_GP Gbar \ {{G_KCNQ_GP}*surf*{G_mult_KCNQ_dend}*{G_mult}} copy h_HCN_GP GP_dendrite_p/h_HCN_GP addmsg GP_dendrite_p GP_dendrite_p/h_HCN_GP VOLTAGE Vm addmsg GP_dendrite_p/h_HCN_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/h_HCN_GP Gbar \ {{G_h_HCN_GP}*surf*{G_mult_HCN_dend}*{G_mult}} copy h_HCN2_GP GP_dendrite_p/h_HCN2_GP addmsg GP_dendrite_p GP_dendrite_p/h_HCN2_GP VOLTAGE Vm addmsg GP_dendrite_p/h_HCN2_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/h_HCN2_GP Gbar \ {{G_h_HCN2_GP}*surf*{G_mult_HCN_dend}*{G_mult}} // Make the actual dendritic components based on the prototype. if (!({exists GP_dendrite_d0_dia2})) copy GP_dendrite_p GP_dendrite_d0_dia2 end if (!({exists GP_dendrite_d0_dia1})) copy GP_dendrite_p GP_dendrite_d0_dia1 end if (!({exists GP_dendrite_d0_dia0})) copy GP_dendrite_p GP_dendrite_d0_dia0 end if (!({exists GP_dendrite_d25_dia2})) copy GP_dendrite_p GP_dendrite_d25_dia2 end if (!({exists GP_dendrite_d25_dia1})) copy GP_dendrite_p GP_dendrite_d25_dia1 end if (!({exists GP_dendrite_d25_dia0})) copy GP_dendrite_p GP_dendrite_d25_dia0 end if (!({exists GP_dendrite_d50_dia2})) copy GP_dendrite_p GP_dendrite_d50_dia2 end if (!({exists GP_dendrite_d50_dia1})) copy GP_dendrite_p GP_dendrite_d50_dia1 end if (!({exists GP_dendrite_d50_dia0})) copy GP_dendrite_p GP_dendrite_d50_dia0 end if (!({exists GP_dendrite_d100_dia2})) copy GP_dendrite_p GP_dendrite_d100_dia2 end if (!({exists GP_dendrite_d100_dia1})) copy GP_dendrite_p GP_dendrite_d100_dia1 end if (!({exists GP_dendrite_d100_dia0})) copy GP_dendrite_p GP_dendrite_d100_dia0 end if (!({exists GP_dendrite_d200_dia2})) copy GP_dendrite_p GP_dendrite_d200_dia2 end if (!({exists GP_dendrite_d200_dia1})) copy GP_dendrite_p GP_dendrite_d200_dia1 end if (!({exists GP_dendrite_d200_dia0})) copy GP_dendrite_p GP_dendrite_d200_dia0 end if (!({exists GP_dendrite_d300_dia2})) copy GP_dendrite_p GP_dendrite_d300_dia2 end if (!({exists GP_dendrite_d300_dia1})) copy GP_dendrite_p GP_dendrite_d300_dia1 end if (!({exists GP_dendrite_d300_dia0})) copy GP_dendrite_p GP_dendrite_d300_dia0 end if (!({exists GP_dendrite_d400_dia2})) copy GP_dendrite_p GP_dendrite_d400_dia2 end if (!({exists GP_dendrite_d400_dia1})) copy GP_dendrite_p GP_dendrite_d400_dia1 end if (!({exists GP_dendrite_d400_dia0})) copy GP_dendrite_p GP_dendrite_d400_dia0 end if (!({exists GP_dendrite_d500_dia2})) copy GP_dendrite_p GP_dendrite_d500_dia2 end if (!({exists GP_dendrite_d500_dia1})) copy GP_dendrite_p GP_dendrite_d500_dia1 end if (!({exists GP_dendrite_d500_dia0})) copy GP_dendrite_p GP_dendrite_d500_dia0 end if (!({exists GP_dendrite_d600_dia2})) copy GP_dendrite_p GP_dendrite_d600_dia2 end if (!({exists GP_dendrite_d600_dia1})) copy GP_dendrite_p GP_dendrite_d600_dia1 end if (!({exists GP_dendrite_d600_dia0})) copy GP_dendrite_p GP_dendrite_d600_dia0 end if (!({exists GP_dendrite_d700_dia2})) copy GP_dendrite_p GP_dendrite_d700_dia2 end if (!({exists GP_dendrite_d700_dia1})) copy GP_dendrite_p GP_dendrite_d700_dia1 end if (!({exists GP_dendrite_d700_dia0})) copy GP_dendrite_p GP_dendrite_d700_dia0 end if (!({exists GP_dendrite_d800_dia2})) copy GP_dendrite_p GP_dendrite_d800_dia2 end if (!({exists GP_dendrite_d800_dia1})) copy GP_dendrite_p GP_dendrite_d800_dia1 end if (!({exists GP_dendrite_d800_dia0})) copy GP_dendrite_p GP_dendrite_d800_dia0 end if (!({exists GP_dendrite_d900_dia2})) copy GP_dendrite_p GP_dendrite_d900_dia2 end if (!({exists GP_dendrite_d900_dia1})) copy GP_dendrite_p GP_dendrite_d900_dia1 end if (!({exists GP_dendrite_d900_dia0})) copy GP_dendrite_p GP_dendrite_d900_dia0 end setfield GP_dendrite_d0_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d0_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d25_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d25_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d50_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d50_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d100_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d100_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d200_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d200_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d300_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d300_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d400_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d400_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d500_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d500_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d600_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d600_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d700_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d700_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d800_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d800_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} setfield GP_dendrite_d900_dia1/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*1.5} setfield GP_dendrite_d900_dia0/Ca_HVA_GP Gbar \ {{G_Ca_HVA_GP}*surf*{G_mult_Ca_dend}*{G_mult}*3} end // ==================================================================== // Simplified 2-channel model ('NaK') // ==================================================================== function make_GP_comps_NaK float len, dia, surf, rad, vol, core_vol, shell_vol float rad_core, shell_vol int i /* make spherical soma prototype */ len = 0 dia = 1 rad = {dia}/2 rad_core = rad - {shell_thick} surf = 4*{PI}*rad*rad vol = 4/3*{PI}*rad*rad*rad core_vol = 4/3*{PI}*rad_core*rad_core*rad_core shell_vol = vol - core_vol if (!({exists GP_soma})) create compartment GP_soma end setfield GP_soma Cm {{CM}*surf} Ra {8.0*{RA}/({dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} /* put channels in soma */ copy Na_fast_GP GP_soma/Na_fast_GP addmsg GP_soma GP_soma/Na_fast_GP VOLTAGE Vm addmsg GP_soma/Na_fast_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_soma}*{G_mult}} copy Kv2_GP GP_soma/Kv2_GP addmsg GP_soma GP_soma/Kv2_GP VOLTAGE Vm addmsg GP_soma/Kv2_GP GP_soma CHANNEL Gk Ek setfield GP_soma/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_soma}*{G_mult}} /* make axon hillock prototype --> extension of soma */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (dia > {{shell_thick}*2}) rad_core = rad - {shell_thick} core_vol = {PI}*rad_core*rad_core*{len} shell_vol = vol - core_vol else shell_vol = vol end if (!({exists GP_axHill})) create compartment GP_axHill end setfield GP_axHill Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} /* put channels in axon hillock --> same as soma */ copy Na_fast_GP GP_axHill/Na_fast_GP addmsg GP_axHill GP_axHill/Na_fast_GP VOLTAGE Vm addmsg GP_axHill/Na_fast_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_soma}*{G_mult}} copy Kv2_GP GP_axHill/Kv2_GP addmsg GP_axHill GP_axHill/Kv2_GP VOLTAGE Vm addmsg GP_axHill/Kv2_GP GP_axHill CHANNEL Gk Ek setfield GP_axHill/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_soma}*{G_mult}} /* make axon initial segment prototype--> low Rm */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axIS})) create compartment GP_axIS end setfield GP_axIS Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_ax}/surf} inject 0.0 \ dia {dia} len {len} /* put channels in axon initial segment */ copy Na_fast_GP GP_axIS/Na_fast_GP addmsg GP_axIS GP_axIS/Na_fast_GP VOLTAGE Vm addmsg GP_axIS/Na_fast_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_axon}*{G_mult}} copy Kv2_GP GP_axIS/Kv2_GP addmsg GP_axIS GP_axIS/Kv2_GP VOLTAGE Vm addmsg GP_axIS/Kv2_GP GP_axIS CHANNEL Gk Ek setfield GP_axIS/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_axon}*{G_mult}} /* make axon internodal segment prototype--> low Cm, high Rm, no chans */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axIN})) create compartment GP_axIN end setfield GP_axIN Cm {{CM_my}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_my}/surf} inject 0.0 \ dia {dia} len {len} // no channels in axIN segments. /* make axon node prototype--> same characteristics as initial segment */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axNode})) create compartment GP_axNode end setfield GP_axNode Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_ax}/surf} inject 0.0 \ dia {dia} len {len} /* put channels in node--> exclude NaP to prevent spontaneous initiation */ copy Na_fast_GP GP_axNode/Na_fast_GP addmsg GP_axNode GP_axNode/Na_fast_GP VOLTAGE Vm addmsg GP_axNode/Na_fast_GP GP_axNode CHANNEL Gk Ek setfield GP_axNode/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_axon}*{G_mult}} copy Kv2_GP GP_axNode/Kv2_GP addmsg GP_axNode GP_axNode/Kv2_GP VOLTAGE Vm addmsg GP_axNode/Kv2_GP GP_axNode CHANNEL Gk Ek setfield GP_axNode/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_axon}*{G_mult}} // Dendritic prototype = dendrite_p len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (dia > {{shell_thick}*2}) rad_core = rad - {shell_thick} core_vol = {PI}*rad_core*rad_core*{len} shell_vol = vol - core_vol else shell_vol = vol end if (!({exists GP_dendrite_p})) create compartment GP_dendrite_p end setfield GP_dendrite_p Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} // Put shared channels in prototype dendrite copy Na_fast_GP GP_dendrite_p/Na_fast_GP addmsg GP_dendrite_p GP_dendrite_p/Na_fast_GP VOLTAGE Vm addmsg GP_dendrite_p/Na_fast_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Na_fast_GP Gbar \ {{G_Na_fast_GP}*surf*{G_mult_NaF_dend}*{G_mult}} copy Kv2_GP GP_dendrite_p/Kv2_GP addmsg GP_dendrite_p GP_dendrite_p/Kv2_GP VOLTAGE Vm addmsg GP_dendrite_p/Kv2_GP GP_dendrite_p CHANNEL Gk Ek setfield GP_dendrite_p/Kv2_GP Gbar \ {{G_Kv2_GP}*surf*{G_mult_Kdr_dend}*{G_mult}} // Make the actual d endritic components based on the prototype. if (!({exists GP_dendrite_d0_dia2})) copy GP_dendrite_p GP_dendrite_d0_dia2 end if (!({exists GP_dendrite_d0_dia1})) copy GP_dendrite_p GP_dendrite_d0_dia1 end if (!({exists GP_dendrite_d0_dia0})) copy GP_dendrite_p GP_dendrite_d0_dia0 end if (!({exists GP_dendrite_d25_dia2})) copy GP_dendrite_p GP_dendrite_d25_dia2 end if (!({exists GP_dendrite_d25_dia1})) copy GP_dendrite_p GP_dendrite_d25_dia1 end if (!({exists GP_dendrite_d25_dia0})) copy GP_dendrite_p GP_dendrite_d25_dia0 end if (!({exists GP_dendrite_d50_dia2})) copy GP_dendrite_p GP_dendrite_d50_dia2 end if (!({exists GP_dendrite_d50_dia1})) copy GP_dendrite_p GP_dendrite_d50_dia1 end if (!({exists GP_dendrite_d50_dia0})) copy GP_dendrite_p GP_dendrite_d50_dia0 end if (!({exists GP_dendrite_d100_dia2})) copy GP_dendrite_p GP_dendrite_d100_dia2 end if (!({exists GP_dendrite_d100_dia1})) copy GP_dendrite_p GP_dendrite_d100_dia1 end if (!({exists GP_dendrite_d100_dia0})) copy GP_dendrite_p GP_dendrite_d100_dia0 end if (!({exists GP_dendrite_d200_dia2})) copy GP_dendrite_p GP_dendrite_d200_dia2 end if (!({exists GP_dendrite_d200_dia1})) copy GP_dendrite_p GP_dendrite_d200_dia1 end if (!({exists GP_dendrite_d200_dia0})) copy GP_dendrite_p GP_dendrite_d200_dia0 end if (!({exists GP_dendrite_d300_dia2})) copy GP_dendrite_p GP_dendrite_d300_dia2 end if (!({exists GP_dendrite_d300_dia1})) copy GP_dendrite_p GP_dendrite_d300_dia1 end if (!({exists GP_dendrite_d300_dia0})) copy GP_dendrite_p GP_dendrite_d300_dia0 end if (!({exists GP_dendrite_d400_dia2})) copy GP_dendrite_p GP_dendrite_d400_dia2 end if (!({exists GP_dendrite_d400_dia1})) copy GP_dendrite_p GP_dendrite_d400_dia1 end if (!({exists GP_dendrite_d400_dia0})) copy GP_dendrite_p GP_dendrite_d400_dia0 end if (!({exists GP_dendrite_d500_dia2})) copy GP_dendrite_p GP_dendrite_d500_dia2 end if (!({exists GP_dendrite_d500_dia1})) copy GP_dendrite_p GP_dendrite_d500_dia1 end if (!({exists GP_dendrite_d500_dia0})) copy GP_dendrite_p GP_dendrite_d500_dia0 end if (!({exists GP_dendrite_d600_dia2})) copy GP_dendrite_p GP_dendrite_d600_dia2 end if (!({exists GP_dendrite_d600_dia1})) copy GP_dendrite_p GP_dendrite_d600_dia1 end if (!({exists GP_dendrite_d600_dia0})) copy GP_dendrite_p GP_dendrite_d600_dia0 end if (!({exists GP_dendrite_d700_dia2})) copy GP_dendrite_p GP_dendrite_d700_dia2 end if (!({exists GP_dendrite_d700_dia1})) copy GP_dendrite_p GP_dendrite_d700_dia1 end if (!({exists GP_dendrite_d700_dia0})) copy GP_dendrite_p GP_dendrite_d700_dia0 end if (!({exists GP_dendrite_d800_dia2})) copy GP_dendrite_p GP_dendrite_d800_dia2 end if (!({exists GP_dendrite_d800_dia1})) copy GP_dendrite_p GP_dendrite_d800_dia1 end if (!({exists GP_dendrite_d800_dia0})) copy GP_dendrite_p GP_dendrite_d800_dia0 end if (!({exists GP_dendrite_d900_dia2})) copy GP_dendrite_p GP_dendrite_d900_dia2 end if (!({exists GP_dendrite_d900_dia1})) copy GP_dendrite_p GP_dendrite_d900_dia1 end if (!({exists GP_dendrite_d900_dia0})) copy GP_dendrite_p GP_dendrite_d900_dia0 end end // ==================================================================== // Passive cell version--> no ion channels // ==================================================================== function make_GP_comps_nochans float len, dia, surf, rad, vol, core_vol, shell_vol float rad_core, shell_vol int i /* make spherical soma prototype */ len = 0 dia = 1 rad = {dia}/2 rad_core = rad - {shell_thick} surf = 4*{PI}*rad*rad vol = 4/3*{PI}*rad*rad*rad core_vol = 4/3*{PI}*rad_core*rad_core*rad_core shell_vol = vol - core_vol if (!({exists GP_soma})) create compartment GP_soma end setfield GP_soma Cm {{CM}*surf} Ra {8.0*{RA}/({dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} /* make axon hillock prototype --> extension of soma */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (dia > {{shell_thick}*2}) rad_core = rad - {shell_thick} core_vol = {PI}*rad_core*rad_core*{len} shell_vol = vol - core_vol else shell_vol = vol end if (!({exists GP_axHill})) create compartment GP_axHill end setfield GP_axHill Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} /* make axon initial segment prototype--> low Rm */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axIS})) create compartment GP_axIS end setfield GP_axIS Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_ax}/surf} inject 0.0 \ dia {dia} len {len} /* make axon internodal segment prototype--> low Cm, high Rm, no chans */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axIN})) create compartment GP_axIN end setfield GP_axIN Cm {{CM_my}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_my}/surf} inject 0.0 \ dia {dia} len {len} // no channels in axIN segments. /* make axon node prototype--> same characteristics as initial segment */ len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (!({exists GP_axNode})) create compartment GP_axNode end setfield GP_axNode Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_ax} initVm {EREST_ACT} Rm {{RM_ax}/surf} inject 0.0 \ dia {dia} len {len} // Dendritic prototype = dendrite_p len = 1 dia = 1 rad = {dia} / 2 surf = 2*{PI}*rad*{len} vol = {PI}*rad*rad*{len} if (dia > {{shell_thick}*2}) rad_core = rad - {shell_thick} core_vol = {PI}*rad_core*rad_core*{len} shell_vol = vol - core_vol else shell_vol = vol end if (!({exists GP_dendrite_p})) create compartment GP_dendrite_p end setfield GP_dendrite_p Cm {{CM}*surf} Ra {4.0*{RA}*{len}/({dia}*{dia}*{PI})} \ Em {ELEAK_sd} initVm {EREST_ACT} Rm {{RM_sd}/surf} inject 0.0 \ dia {dia} len {len} // Make the actual dendritic components based on the prototype. if (!({exists GP_dendrite_d0_dia2})) copy GP_dendrite_p GP_dendrite_d0_dia2 end if (!({exists GP_dendrite_d0_dia1})) copy GP_dendrite_p GP_dendrite_d0_dia1 end if (!({exists GP_dendrite_d0_dia0})) copy GP_dendrite_p GP_dendrite_d0_dia0 end if (!({exists GP_dendrite_d25_dia2})) copy GP_dendrite_p GP_dendrite_d25_dia2 end if (!({exists GP_dendrite_d25_dia1})) copy GP_dendrite_p GP_dendrite_d25_dia1 end if (!({exists GP_dendrite_d25_dia0})) copy GP_dendrite_p GP_dendrite_d25_dia0 end if (!({exists GP_dendrite_d50_dia2})) copy GP_dendrite_p GP_dendrite_d50_dia2 end if (!({exists GP_dendrite_d50_dia1})) copy GP_dendrite_p GP_dendrite_d50_dia1 end if (!({exists GP_dendrite_d50_dia0})) copy GP_dendrite_p GP_dendrite_d50_dia0 end if (!({exists GP_dendrite_d100_dia2})) copy GP_dendrite_p GP_dendrite_d100_dia2 end if (!({exists GP_dendrite_d100_dia1})) copy GP_dendrite_p GP_dendrite_d100_dia1 end if (!({exists GP_dendrite_d100_dia0})) copy GP_dendrite_p GP_dendrite_d100_dia0 end if (!({exists GP_dendrite_d200_dia2})) copy GP_dendrite_p GP_dendrite_d200_dia2 end if (!({exists GP_dendrite_d200_dia1})) copy GP_dendrite_p GP_dendrite_d200_dia1 end if (!({exists GP_dendrite_d200_dia0})) copy GP_dendrite_p GP_dendrite_d200_dia0 end if (!({exists GP_dendrite_d300_dia2})) copy GP_dendrite_p GP_dendrite_d300_dia2 end if (!({exists GP_dendrite_d300_dia1})) copy GP_dendrite_p GP_dendrite_d300_dia1 end if (!({exists GP_dendrite_d300_dia0})) copy GP_dendrite_p GP_dendrite_d300_dia0 end if (!({exists GP_dendrite_d400_dia2})) copy GP_dendrite_p GP_dendrite_d400_dia2 end if (!({exists GP_dendrite_d400_dia1})) copy GP_dendrite_p GP_dendrite_d400_dia1 end if (!({exists GP_dendrite_d400_dia0})) copy GP_dendrite_p GP_dendrite_d400_dia0 end if (!({exists GP_dendrite_d500_dia2})) copy GP_dendrite_p GP_dendrite_d500_dia2 end if (!({exists GP_dendrite_d500_dia1})) copy GP_dendrite_p GP_dendrite_d500_dia1 end if (!({exists GP_dendrite_d500_dia0})) copy GP_dendrite_p GP_dendrite_d500_dia0 end if (!({exists GP_dendrite_d600_dia2})) copy GP_dendrite_p GP_dendrite_d600_dia2 end if (!({exists GP_dendrite_d600_dia1})) copy GP_dendrite_p GP_dendrite_d600_dia1 end if (!({exists GP_dendrite_d600_dia0})) copy GP_dendrite_p GP_dendrite_d600_dia0 end if (!({exists GP_dendrite_d700_dia2})) copy GP_dendrite_p GP_dendrite_d700_dia2 end if (!({exists GP_dendrite_d700_dia1})) copy GP_dendrite_p GP_dendrite_d700_dia1 end if (!({exists GP_dendrite_d700_dia0})) copy GP_dendrite_p GP_dendrite_d700_dia0 end if (!({exists GP_dendrite_d800_dia2})) copy GP_dendrite_p GP_dendrite_d800_dia2 end if (!({exists GP_dendrite_d800_dia1})) copy GP_dendrite_p GP_dendrite_d800_dia1 end if (!({exists GP_dendrite_d800_dia0})) copy GP_dendrite_p GP_dendrite_d800_dia0 end if (!({exists GP_dendrite_d900_dia2})) copy GP_dendrite_p GP_dendrite_d900_dia2 end if (!({exists GP_dendrite_d900_dia1})) copy GP_dendrite_p GP_dendrite_d900_dia1 end if (!({exists GP_dendrite_d900_dia0})) copy GP_dendrite_p GP_dendrite_d900_dia0 end end