#param_net.py
####################### Populations
from moose_nerp.prototypes.util import NamedList
from moose_nerp.prototypes.ttables import TableSet
from moose_nerp.prototypes import util as _util
neur_distr=NamedList('neur_distr', 'neuronname spacing percent')
netname='/striatum'
confile='striatum_connect'
outfile='striatum_out'
spacing=25e-6
#0,1,2 refer to x, y and z
grid={}
grid[0]={'xyzmin':0,'xyzmax':100e-6,'inc':spacing}
grid[1]={'xyzmin':0,'xyzmax':100e-6,'inc':spacing}
grid[2]={'xyzmin':0,'xyzmax':0,'inc':0}
#Do not include a neuron type in pop_dict if the proto not created
D1pop=neur_distr(neuronname='D1', spacing=grid,percent=0.49)
D2pop=neur_distr(neuronname='D2', spacing=grid,percent=0.49)
FSIpop=neur_distr(neuronname='FSI', spacing=grid,percent=0.02)
pop_dict={
'D1':D1pop,
#'D2': D2pop,
#'FSI': FSIpop,
}
chanvarSPN = {
'Krp': 0.04,
'KaF': 0.04,
'KaS': 0.04,
'Kir': 0.04,
'CaL13': 0.04,
'CaL12': 0.04,
'CaR': 0.04,
'CaN': 0.04,
'CaT': 0.04,
'NaF': 0.0,
'BKCa': 0.04,
'SKCa': 0.04,
}
chanvar={
'D1':chanvarSPN,
#'D2':chanvarSPN,
}
####################### Connections
dend_location=NamedList('dend_location','mindist=0 maxdist=1 maxprob=None half_dist=None steep=0 postsyn_fraction=None')
connect=NamedList('connect','synapse pre post num_conns=2 space_const=None probability=None dend_loc=None stp=None')
ext_connect=NamedList('ext_connect','synapse pre post dend_loc=None stp=None')
# add post_location to both of these - optionally specify e.g. prox vs distal for synapses
#list of time tables that provide extrinsic connections. Each tt connected to syn_per_tt synapses
tt_Ctx_SPN = TableSet('CtxSPN', 'FullTrialHigherVariability',syn_per_tt=2)
#tt_Thal_SPN = TableSet('ThalSPN', 'Thal_4x4',syn_per_tt=2)
tt_FSI_SPN = TableSet('FSISPN','FSITrains_n-30_f-11-Hz_tmax-25-s_corr-0',syn_per_tt=8)
tt_LTSI_SPN = TableSet('LTSISPN','LTSITrains_n-100_f-8-Hz_tmax-25-s_corr-0',syn_per_tt=2)
distr=dend_location(mindist=0e-6,maxdist=400e-6,postsyn_fraction=.1)#,half_dist=50e-6,steep=1)
FSI_distr = dend_location(mindist=0e-6,maxdist=80e-6,postsyn_fraction=1)
LTSI_distr = dend_location(mindist=80e-6,maxdist=400e-6,postsyn_fraction=.25)
MSNconnSpaceConst=125e-6
FSIconnSpaceConst=200e-6
#connectins between network neurons (intrinsic connections)
D1pre_D1post=connect(synapse='gaba', pre='D1', post='D1', space_const=MSNconnSpaceConst)
D1pre_D2post=connect(synapse='gaba', pre='D1', post='D2', space_const=MSNconnSpaceConst)
D2pre_D1post=connect(synapse='gaba', pre='D2', post='D1', space_const=MSNconnSpaceConst)
D2pre_D2post=connect(synapse='gaba', pre='D2', post='D2', space_const=MSNconnSpaceConst)
FSIpre_D1post=connect(synapse='gaba', pre='FSI', post='D1', space_const=FSIconnSpaceConst)
FSIpre_D2post=connect(synapse='gaba', pre='FSI', post='D2', space_const=FSIconnSpaceConst)
FSIpre_FSIpost=connect(synapse='gaba', pre='FSI', post='FSI', space_const=FSIconnSpaceConst)
#time table input (extrinsic connections)
ctx_D1post=ext_connect(synapse='ampa',pre=tt_Ctx_SPN,post='D1', dend_loc = distr)
#thal_D1post=ext_connect(synapse='ampa',pre=tt_Thal_SPN,post='D1', dend_loc = distr)
ctx_D2post=ext_connect(synapse='ampa',pre=tt_Ctx_SPN,post='D2', dend_loc = distr)
#thal_D2post=ext_connect(synapse='ampa',pre=tt_Thal_SPN,post='D2', dend_loc = distr)
#glu_FSI=connect(synapse='ampa',pre='timetable',post='FSI',)
FSIextern_D1post = ext_connect(synapse='gaba', pre=tt_FSI_SPN, post='D1', dend_loc = FSI_distr)
FSIextern_D2post = ext_connect(synapse='gaba', pre=tt_FSI_SPN, post='D2', dend_loc = FSI_distr)
LTSIextern_D1post = ext_connect(synapse='gaba', pre=tt_LTSI_SPN, post='D1', dend_loc = LTSI_distr)
LTSIextern_D2post = ext_connect(synapse='gaba', pre=tt_LTSI_SPN, post='D2', dend_loc = LTSI_distr)
#one dictionary for each post-synaptic neuron class
D1={}
D2={}
FSI={}
connect_dict={}
##Collect the above connections into dictionaries organized by post-syn neuron, and synapse type
#D1['gaba']={'D1': D1pre_D1post, 'D2': D2pre_D1post}#, 'FSI': FSIpre_D1post}
D1['ampa'] = {
'extern1': ctx_D1post,
#'extern2': thal_D1post
}
D1['gaba'] = {
'FSIextern': FSIextern_D1post,
'LTSIextern': LTSIextern_D1post,
}
connect_dict['D1']=D1
#D2['gaba']={'D1': D1pre_D2post, 'D2': D2pre_D2post}#, 'FSI': FSIpre_D2post}
#D2['ampa']={'extern1': ctx_D2post, 'extern2': thal_D2post}
#connect_dict['D2']=D2
#FSI['gaba']={'FSI': FSIpre_FSIpost}
#FSI['ampa']={'extern': glu_FSI}
#connect_dict['FSI']=FSI
# m/sec - GABA and the Basal Ganglia by Tepper et al
cond_vel=0.8
mindelay=0e-3