EP project: Analyze simulation results ------------------------------------------------ 22 May: DONE simulate response of EP to synaptic inputs POST plasticity, compare with PRE plasticity POST: make str inputs 140% of current value (weight=1.4) make GP inputs 40% of current value (weight=0.8 - 0.4*2.0) make STN inputs 60% of current value (weight=0.6) CHANGE FILENAME to avoid overwriting current files for above, do syn='non', stimfreqs=[0], stpYN=1 (and possibly 0)(1 set of 16) possible repeat str and GPe response to 20 and 40 with stpYN=1 (2 sets of 16) -------------------------------------------- Start simulations on 21 May: DA: block Da means Gpe-> EP is 140% post 100 Hz, str -> EP have no change POST/No_Da: make str inputs 100% of current value (weight=1) make GP inputs 140% of current value (weight=2.8) make STN inputs 100% of current value (weight=1) do syn='non', stimfreqs=[0], stpYN=1 (1 set of 16) possible repeat str and GPe response to 20 and 40 with stpYN=1 (2 sets of 16) -------------------------------------------- Still need syn='non' for POST-HFS When stimulating a single (extra) synapse: possibly "reserve" the synapse from random time tables e.g. call create_model_sim.setupStim(model) after creating pop but before connecting time_tables ################################################################ NOT NEEDED 1. try another opt with smaller window for AHP (after GP opt finished) 2. create 3 different time tables - Str,GPe, STN, and update connection probability to be realistic DONE 3. edit connect.py to allow specification of spatial location DONE a. create_synpath_array: add another entry - distance to soma add one entry per SynPerComp - which is now difference between NumSyn and existing synapses syncomps.append([syncomp.path,dist]) ****NEEDED: do not add synapses to axon, or add them but somehow indicate they are axon? DONE b. update ext_connect to use #postsyn_fraction=None, half_dist=None, steep=none,mindist=0,maxdist=1 (units are meters) #require either fraction or half_dist, default steep=1 if half_dist defined DONE c. update select_entry and connect_timetable to use choice and probability and distance_range NOT POSSIBLE i.e., eliminate select_entry! DONE replicate entries according to NumSyn DONE calculate probability at each location/branch prob=0 if distmaxdist if half_dist defined: prob=dist^steep/(dist^steep+half_dist^steep), make steep<0 to switch slope DONE recalc probabilities as choice_prob=prob/sum(prob) if postsyn_fraction: choice_prob=1/total_syn) inside range DONE num_choices=np.int(np.round(totalsyn*postsyn_fraction)) DONE syn_choices=np.random.choice(syncomp_subset,size=num_choices,replace=false) DONE selection of timetable still uses select_entry because the table of tt entries with number of times to be used is the only place that keeps track of which tts have been used, because the set of time tables is for the entire network modify create_synpath_array: DONE prior to each set of connections (after : for pretype in post_connections[syntype].keys():), generate list from available connections DONE name is full path to synhandler, cross-reference with number of allowed synapses vs distance DONE i.e., SynPerComp = (distance_mapping - sh.synapse.num) DONE need to create sh when creating synchan, in addoneSynChan in syn_proto.py DONE intrinsic will be similarly modified to use np.random.choice DONE store list of pre-cells (spikegens) where connect