Example #1
0
def add_connect(connect_dict, change_prob, freqStn):
    print('***** STOP SIGNAL TASK - ADDING ADDITIONAL INPUT FROM STN')
    if p['pulsefreq_ep'] == freqStn:
        connect_dict['ep']['ampa'] = {
            'extern2':
            ext_connect(synapse='ampa',
                        pre=tt_STNp,
                        post='ep',
                        dend_loc=dend_location(postsyn_fraction=0.25),
                        weight=1.5)
        }
    else:
        connect_dict['ep']['ampa'] = {
            'extern2':
            ext_connect(synapse='ampa',
                        pre=tt_STNep,
                        post='ep',
                        dend_loc=dend_location(postsyn_fraction=0.25),
                        weight=1.5)
        }
    connect_dict['Npas']['ampa'] = {
        'extern2':
        ext_connect(synapse='ampa',
                    pre=tt_STNp,
                    post='Npas',
                    dend_loc=dend_location(postsyn_fraction=0.25),
                    weight=1.2)
    }
    connect_dict['Lhx6']['ampa'] = {
        'extern2':
        ext_connect(synapse='ampa',
                    pre=tt_STNp,
                    post='Lhx6',
                    dend_loc=dend_location(postsyn_fraction=0.25),
                    weight=1.2)
    }
    connect_dict['proto']['ampa'] = {
        'extern2':
        ext_connect(synapse='ampa',
                    pre=tt_STNp,
                    post='proto',
                    dend_loc=dend_location(postsyn_fraction=0.15),
                    weight=1.2)
    }
    change_prob['ep'] = {
        'ampa': {
            'extern1': ('dend_loc', dend_location(postsyn_fraction=0.75))
        }
    }
    change_prob['Lhx6']['ampa'] = {
        'extern': ('dend_loc', dend_location(postsyn_fraction=0.75))
    }
    change_prob['Npas']['ampa'] = {
        'extern': ('dend_loc', dend_location(postsyn_fraction=0.75))
    }
    change_prob['proto']['ampa'] = {
        'extern': ('dend_loc', dend_location(postsyn_fraction=0.85))
    }
    return connect_dict, change_prob
Example #2
0
                        syn_per_tt=4)

ttable_replace = {}
ttable_replace = {'ep': {'ampa': {'extern1': tt_STN}}}

ttable_replace['proto'] = {'ampa': {'extern': tt_STN}}
ttable_replace['Npas'] = {'ampa': {'extern': tt_STN}}
ttable_replace['Lhx6'] = {'ampa': {'extern': tt_STN}}

ttable_replace['D1'] = {'ampa': {'extern1': tt_Ctx}}
ttable_replace['D2'] = {'ampa': {'extern1': tt_Ctx}}
ttable_replace['FSI'] = {'ampa': {'extern': tt_Ctx}}

############################################################
#three examples of distributions for Connections
even_distr = dend_location(postsyn_fraction=0.5)
proximal_distr = dend_location(mindist=0e-6, maxdist=80e-6, postsyn_fraction=1)
distal_distr = dend_location(mindist=50e-6,
                             maxdist=400e-6,
                             postsyn_fraction=.1)  #,half_dist=50e-6,steep=1)

####################### connections between regions #####################


#function to add additional AMPA inputs to GPe and Ep/SNr, used here and in multisim.py
def add_connect(connect_dict, change_prob, freqStn):
    print('***** STOP SIGNAL TASK - ADDING ADDITIONAL INPUT FROM STN')
    if p['pulsefreq_ep'] == freqStn:
        connect_dict['ep']['ampa'] = {
            'extern2':
            ext_connect(synapse='ampa',
Example #3
0
                             space_const=ConnSpaceConst)
neur3pre_neur1post = connect(synapse='gaba',
                             pre='Lhx6',
                             post='proto',
                             space_const=ConnSpaceConst)
neur3pre_neur2post = connect(synapse='gaba',
                             pre='Lhx6',
                             post='Npas',
                             space_const=ConnSpaceConst)
neur3pre_neur3post = connect(synapse='gaba',
                             pre='Lhx6',
                             post='Lhx6',
                             space_const=ConnSpaceConst)

#description of synapse and dendritic location of extrinsic inputs
STN_distr = dend_location(postsyn_fraction=1)
ext2_neur1post = ext_connect(
    synapse='ampa', pre=tt_STN, post='proto', dend_loc=STN_distr
)  # Corbit Whalen 2016 Table 2 connectivity parameters: Chumhma 2011, Shink Smith 1995, Miguelez 2012
#ext1_neur1post=ext_connect(synapse='gaba',pre=tt_Str_SPN,post='proto', dend_loc=Str_distr)#ext1 = Str
ext2_neur2post = ext_connect(synapse='ampa',
                             pre=tt_STN,
                             post='Npas',
                             dend_loc=STN_distr)  #ext2 STN
#ext1_neur2post=ext_connect(synapse='gaba',pre=tt_Str_SPN,post='Npas', dend_loc=Str_distr)
ext2_neur3post = ext_connect(synapse='ampa',
                             pre=tt_STN,
                             post='Lhx6',
                             dend_loc=STN_distr)  #ext2 STN

#Collect all connection information into dictionaries
Example #4
0
}
chanvar = {
    'D1': chanvarSPN,
    'D2': chanvarSPN,
    'FSI': chanvarFSI,
}

####################### Connections
# 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', 'spn1_net/Ctx10000_exp_freq10.0', syn_per_tt=4)

#postsyn_fraction, when summed over all external time tables to a neuron type should <= 1
#to reduce number of inputs, can reduce postsyn_fraction
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)

MSNconnSpaceConst = 100e-6  #Czubakyko & Plenz PNAS: 37% connected at 10 um distance
FSIconnSpaceConst = 700e-6
#connectins between network neurons (intrinsic connections)
#number of connections is controled by space constant, or probability
#thus, as network size increases, may run out of post-synaptic neurons for connections
#can either change space constant, grid spacing, or increase NumSyn
D1pre_D1post = connect(synapse='gaba',
                       pre='D1',
                       post='D1',
                       num_conns=1,
                       space_const=MSNconnSpaceConst)
D1pre_D2post = connect(synapse='gaba',
                       pre='D1',
Example #5
0
tt_str = TableSet('tt_str', 'ep_net/SPN_lognorm', syn_per_tt=2)
#tt_str = TableSet('tt_str', 'ep_net/str_InhomPoisson_freq4.0_osc1.8',syn_per_tt=2)
#tt_str = TableSet('tt_str', 'ep_net/str_InhomPoisson_freq4.0_osc1.8_theta10.0',syn_per_tt=2)
if TWO_STR_INPUTS:
    #tt_str2 = TableSet('tt_str2', 'ep_net/str_InhomPoisson_freq4.0_osc5.0',syn_per_tt=2)
    tt_str2 = TableSet('tt_str2',
                       'ep_net/str_InhomPoisson_freq4.0_osc5.0_theta5.0',
                       syn_per_tt=2)
#tt_GPe = TableSet('tt_GPe', 'ep_net/GPe_InhomPoisson',syn_per_tt=2)
tt_GPe = TableSet('tt_GPe', 'ep_net/GPe_lognorm', syn_per_tt=2)

#description of intrinsic inputs
ConnSpaceConst = 125e-6
ep_distr = dend_location(mindist=30e-6,
                         maxdist=100e-6,
                         postsyn_fraction=1,
                         half_dist=50e-6,
                         steep=1)
neur1pre_neur1post = connect(
    synapse='gaba', pre='ep', post='gaba', probability=0.5,
    dend_loc=ep_distr)  #need reference for no internal connections

#description of synapse and dendritic location of extrinsic inputs
GPe_distr = dend_location(mindist=0, maxdist=60e-6, half_dist=30e-6, steep=-1)
if TWO_STR_INPUTS:
    str_distr = dend_location(mindist=30e-6,
                              maxdist=1000e-6,
                              postsyn_fraction=0.5,
                              half_dist=100e-6,
                              steep=1)
else: