def Int2Pyr(syn_params, sec_x, sec_id): """Create a int2pyr synapse :param syn_params: parameters of a synapse :param sec_x: normalized distance along the section :param sec_id: target section :return: NEURON synapse object """ lsyn = h.int2pyr(sec_x, sec=sec_id) if syn_params.get('AlphaTmax_gaba'): lsyn.AlphaTmax_gaba = float(syn_params['AlphaTmax_gaba']) # par.x(21) if syn_params.get('Beta_gaba'): lsyn.Beta_gaba = float(syn_params['Beta_gaba']) # par.x(22) if syn_params.get('Cdur_gaba'): lsyn.Cdur_gaba = float(syn_params['Cdur_gaba']) # par.x(23) if syn_params.get('gbar_gaba'): lsyn.gbar_gaba = float(syn_params['gbar_gaba']) # par.x(24) if syn_params.get('Erev_gaba'): lsyn.Erev_gaba = float(syn_params['Erev_gaba']) # par.x(16) if syn_params.get('initW'): m = 1 s = 0.02 mean = np.log(m) - 0.5 * np.log((s/m)**2+1) std = np.sqrt(np.log((s/m)**2 + 1)) lsyn.initW = float(np.random.lognormal(mean,std)) # par.x(0) * rC.uniform(0.5,1.0)//rand.normal(0.5,1.5) //`rand.repick() if syn_params.get('Wmax'): lsyn.Wmax = float(syn_params['Wmax']) * lsyn.initW # par.x(1) * lsyn.initW if syn_params.get('Wmin'): lsyn.Wmin = float(syn_params['Wmin']) * lsyn.initW # par.x(2) * lsyn.initW #delay = float(syn_params['initW']) # par.x(3) + delayDistance #lcon = new NetCon(&v(0.5), lsyn, 0, delay, 1) if syn_params.get('lambda1'): lsyn.lambda1 = float(syn_params['lambda1']) # par.x(6) if syn_params.get('lambda2'): lsyn.lambda2 = float(syn_params['lambda2']) # par.x(7) if syn_params.get('threshold1'): lsyn.threshold1 = float(syn_params['threshold1']) # par.x(8) if syn_params.get('threshold2'): lsyn.threshold2 = float(syn_params['threshold2']) # par.x(9) if syn_params.get('tauD1'): lsyn.tauD1 = float(syn_params['tauD1']) # par.x(10) if syn_params.get('d1'): lsyn.d1 = float(syn_params['d1']) # par.x(11) if syn_params.get('tauD2'): lsyn.tauD2 = float(syn_params['tauD2']) # par.x(12) if syn_params.get('d2'): lsyn.d2 = float(syn_params['d2']) # par.x(13) if syn_params.get('tauF'): lsyn.tauF = float(syn_params['tauF']) # par.x(14) if syn_params.get('f'): lsyn.f = float(syn_params['f']) # par.x(15) return lsyn
def Int2Pyr(syn_params, sec_x, sec_id): """Create a int2pyr synapse :param syn_params: parameters of a synapse :param sec_x: normalized distance along the section :param sec_id: target section :return: NEURON synapse object """ lsyn = h.int2pyr(sec_x, sec=sec_id) if syn_params.get('AlphaTmax_ampa'): lsyn.AlphaTmax_ampa = float(syn_params['AlphaTmax_ampa']) # par.x(21) if syn_params.get('Beta_ampa'): lsyn.Beta_ampa = float(syn_params['Beta_ampa']) # par.x(22) if syn_params.get('Cdur_ampa'): lsyn.Cdur_ampa = float(syn_params['Cdur_ampa']) # par.x(23) if syn_params.get('gbar_ampa'): lsyn.gbar_ampa = float(syn_params['gbar_ampa']) # par.x(24) if syn_params.get('Erev_ampa'): lsyn.Erev_ampa = float(syn_params['Erev_ampa']) # par.x(16) if syn_params.get('AlphaTmax_nmda'): lsyn.AlphaTmax_nmda = float(syn_params['AlphaTmax_nmda']) # par.x(25) if syn_params.get('Beta_nmda'): lsyn.Beta_nmda = float(syn_params['Beta_nmda']) # par.x(26) if syn_params.get('Cdur_nmda'): lsyn.Cdur_nmda = float(syn_params['Cdur_nmda']) # par.x(27) if syn_params.get('gbar_nmda'): lsyn.gbar_nmda = float(syn_params['gbar_nmda']) # par.x(28) if syn_params.get('Erev_nmda'): lsyn.Erev_nmda = float(syn_params['Erev_nmda']) # par.x(16) if syn_params.get('initW'): #lsyn.initW = float(syn_params['initW']) * random.uniform(0.5,1.0) # par.x(0) * rC.uniform(0.5,1.0)//rand.normal(0.5,1.5) //`rand.repick() lsyn.initW = float(pyrWeight) if syn_params.get('Wmax'): lsyn.Wmax = float( syn_params['Wmax']) * lsyn.initW # par.x(1) * lsyn.initW if syn_params.get('Wmin'): lsyn.Wmin = float( syn_params['Wmin']) * lsyn.initW # par.x(2) * lsyn.initW #delay = float(syn_params['initW']) # par.x(3) + delayDistance #lcon = new NetCon(&v(0.5), lsyn, 0, delay, 1) if syn_params.get('lambda1'): lsyn.lambda1 = float(syn_params['lambda1']) # par.x(6) if syn_params.get('lambda2'): lsyn.lambda2 = float(syn_params['lambda2']) # par.x(7) if syn_params.get('threshold1'): lsyn.threshold1 = float(syn_params['threshold1']) # par.x(8) if syn_params.get('threshold2'): lsyn.threshold2 = float(syn_params['threshold2']) # par.x(9) if syn_params.get('tauD1'): lsyn.tauD1 = float(syn_params['tauD1']) # par.x(10) if syn_params.get('d1'): lsyn.d1 = float(syn_params['d1']) # par.x(11) if syn_params.get('tauD2'): lsyn.tauD2 = float(syn_params['tauD2']) # par.x(12) if syn_params.get('d2'): lsyn.d2 = float(syn_params['d2']) # par.x(13) if syn_params.get('tauF'): lsyn.tauF = float(syn_params['tauF']) # par.x(14) if syn_params.get('f'): lsyn.f = float(syn_params['f']) # par.x(15) return lsyn
def Int2Pyr(syn_params, sec_x, sec_id): """Create a int2pyr synapse :param syn_params: parameters of a synapse :param sec_x: normalized distance along the section :param sec_id: target section :return: NEURON synapse object """ lsyn = h.int2pyr(sec_x, sec=sec_id) h.distance(sec=sec_id.cell().soma[0]) dist = h.distance(sec_id(sec_x)) fullsecname = sec_id.name() sec_type = fullsecname.split(".")[1][:4] #sec_id = int(fullsecname.split("[")[-1].split("]")[0]) #Assigns random generator of release probability. r = h.Random() r.MCellRan4() r.uniform(0, 1) lsyn.setRandObjRef(r) generators.append(r) #Assigns release probabilty and conductance based on location of the synapse. if sec_type == "soma": lsyn.P_0 = np.clip(np.random.normal(0.877, 0.052), 0, 1) lsyn.initW = 44.75 #62.31 if sec_type == "dend": if dist <= 50: lsyn.P_0 = np.clip(np.random.normal(0.877, 0.052), 0, 1) lsyn.initW = 54.75 #62.31 else: lsyn.P_0 = np.clip(np.random.normal(0.72, 0.1), 0, 1) lsyn.initW = 42.6 #66.6 if sec_type == "apic": lsyn.P_0 = np.clip(np.random.normal(0.3, 0.08), 0, 1) lsyn.initW = 118.7 #168.7 #Short Term Plasticity ####################### # SOM+ # d1: 0.96, tauD1: 40 # PV+ # d1: 0.6, tauD1: 50 ####################### #if sec_type == "soma": # #PV+ # lsyn.d1 = 0.6 # lsyn.tauD1 = 50 #if sec_type == "dend": # if dist <= 50: # #PV+ # lsyn.d1 = 0.6 # lsyn.tauD1 = 50 # else: # #SOM+ # lsyn.d1 = 0.96 # lsyn.tauD1 = 40 #if sec_type == "apic": # #SOM+ # lsyn.d1 = 0.96 # lsyn.tauD1 = 40 if syn_params.get('AlphaTmax_ampa'): lsyn.AlphaTmax_ampa = float(syn_params['AlphaTmax_ampa']) # par.x(21) if syn_params.get('Beta_ampa'): lsyn.Beta_ampa = float(syn_params['Beta_ampa']) # par.x(22) if syn_params.get('Cdur_ampa'): lsyn.Cdur_ampa = float(syn_params['Cdur_ampa']) # par.x(23) if syn_params.get('gbar_ampa'): lsyn.gbar_ampa = float(syn_params['gbar_ampa']) # par.x(24) if syn_params.get('Erev_ampa'): lsyn.Erev_ampa = float(syn_params['Erev_ampa']) # par.x(16) if syn_params.get('AlphaTmax_nmda'): lsyn.AlphaTmax_nmda = float(syn_params['AlphaTmax_nmda']) # par.x(25) if syn_params.get('Beta_nmda'): lsyn.Beta_nmda = float(syn_params['Beta_nmda']) # par.x(26) if syn_params.get('Cdur_nmda'): lsyn.Cdur_nmda = float(syn_params['Cdur_nmda']) # par.x(27) if syn_params.get('gbar_nmda'): lsyn.gbar_nmda = float(syn_params['gbar_nmda']) # par.x(28) if syn_params.get('Erev_nmda'): lsyn.Erev_nmda = float(syn_params['Erev_nmda']) # par.x(16) # if syn_params.get('initW'): # #lsyn.initW = float(syn_params['initW']) * random.uniform(0.5,1.0) # par.x(0) * rC.uniform(0.5,1.0)//rand.normal(0.5,1.5) //`rand.repick() # lsyn.initW = 3*float(max(np.random.normal(36, 18), 0.01))#2 * float(np.random.normal(12, np.sqrt(2)))#float(pyrWeight) if syn_params.get('Wmax'): lsyn.Wmax = float( syn_params['Wmax']) * lsyn.initW # par.x(1) * lsyn.initW if syn_params.get('Wmin'): lsyn.Wmin = float( syn_params['Wmin']) * lsyn.initW # par.x(2) * lsyn.initW #delay = float(syn_params['initW']) # par.x(3) + delayDistance #lcon = new NetCon(&v(0.5), lsyn, 0, delay, 1) if syn_params.get('lambda1'): lsyn.lambda1 = float(syn_params['lambda1']) # par.x(6) if syn_params.get('lambda2'): lsyn.lambda2 = float(syn_params['lambda2']) # par.x(7) if syn_params.get('threshold1'): lsyn.threshold1 = float(syn_params['threshold1']) # par.x(8) if syn_params.get('threshold2'): lsyn.threshold2 = float(syn_params['threshold2']) # par.x(9) if syn_params.get('tauD1'): lsyn.tauD1 = float(syn_params['tauD1']) # par.x(10) if syn_params.get('d1'): lsyn.d1 = float(syn_params['d1']) # par.x(11) if syn_params.get('tauD2'): lsyn.tauD2 = float(syn_params['tauD2']) # par.x(12) if syn_params.get('d2'): lsyn.d2 = float(syn_params['d2']) # par.x(13) if syn_params.get('tauF'): lsyn.tauF = float(syn_params['tauF']) # par.x(14) if syn_params.get('f'): lsyn.f = float(syn_params['f']) # par.x(15) return lsyn
def Int2Pyr(syn_params, sec_x, sec_id): """Create a int2pyr synapse :param syn_params: parameters of a synapse :param sec_x: normalized distance along the section :param sec_id: target section :return: NEURON synapse object """ # trg_cell_nid = int(str(sec_id).split("[")[1].split("]")[0]) # # if trg_cell_nid > 0: # # import pdb; pdb.set_trace() # if trg_cell_nid in weight_means["inh"].keys(): # mean_weight = weight_means["inh"][trg_cell_nid] # else: # weight_means["inh"][trg_cell_nid] = mean_weight = np.random.uniform(3.171729 - 1.5, 3.171729 + 0.1) lsyn = h.int2pyr(sec_x, sec=sec_id) #Assigns random generator of release probability. r = h.Random() r.MCellRan4() r.uniform(0,1) lsyn.setRandObjRef(r) generators.append(r) h.distance(sec=sec_id.cell().soma[0]) dist = h.distance(sec_id(sec_x)) fullsecname = sec_id.name() sec_type = fullsecname.split(".")[1][:4] ####################### # SOM+ # d1: 0.96, tauD1: 40 # PV+ # d1: 0.6, tauD1: 50 ####################### # if sec_type == "soma": # #PV+ # lsyn.d1 = 0.6 # lsyn.tauD1 = 50 # if sec_type == "dend": # if dist <= 50: # #PV+ # lsyn.d1 = 0.6 # lsyn.tauD1 = 50 # else: # #SOM+ # lsyn.d1 = 0.96 # lsyn.tauD1 = 40 # if sec_type == "apic": # #SOM+ # lsyn.d1 = 0.96 # lsyn.tauD1 = 40 if syn_params.get('AlphaTmax_ampa'): lsyn.AlphaTmax_ampa = float(syn_params['AlphaTmax_ampa']) # par.x(21) if syn_params.get('Beta_ampa'): lsyn.Beta_ampa = float(syn_params['Beta_ampa']) # par.x(22) if syn_params.get('Cdur_ampa'): lsyn.Cdur_ampa = float(syn_params['Cdur_ampa']) # par.x(23) if syn_params.get('gbar_ampa'): lsyn.gbar_ampa = float(syn_params['gbar_ampa']) # par.x(24) if syn_params.get('Erev_ampa'): lsyn.Erev_ampa = float(syn_params['Erev_ampa']) # par.x(16) if syn_params.get('AlphaTmax_nmda'): lsyn.AlphaTmax_nmda = float(syn_params['AlphaTmax_nmda']) # par.x(25) if syn_params.get('Beta_nmda'): lsyn.Beta_nmda = float(syn_params['Beta_nmda']) # par.x(26) if syn_params.get('Cdur_nmda'): lsyn.Cdur_nmda = float(syn_params['Cdur_nmda']) # par.x(27) if syn_params.get('gbar_nmda'): lsyn.gbar_nmda = float(syn_params['gbar_nmda']) # par.x(28) if syn_params.get('Erev_nmda'): lsyn.Erev_nmda = float(syn_params['Erev_nmda']) # par.x(16) if syn_params.get('initW'): #lsyn.initW = float(syn_params['initW']) * random.uniform(0.5,1.0) # par.x(0) * rC.uniform(0.5,1.0)//rand.normal(0.5,1.5) //`rand.repick() #lsyn.initW = float(min(lognormal(0.11, 0.05), 5) * scale) lsyn.initW = 12#float(min(lognormal(0.4, 0.09), 5) * scale) #float(lognormal(3.171729, 0.5173616067) * scale * 20) #lsyn.initW = float(lognormal(mean_weight, 0.5173616067) * scale) #lsyn.initW = min(float(lognormal(mean_weight, 1)), 11) * scale #lsyn.initW = 3.171729*10 if syn_params.get('Wmax'): lsyn.Wmax = float(syn_params['Wmax']) * lsyn.initW # par.x(1) * lsyn.initW if syn_params.get('Wmin'): lsyn.Wmin = float(syn_params['Wmin']) * lsyn.initW # par.x(2) * lsyn.initW #delay = float(syn_params['initW']) # par.x(3) + delayDistance #lcon = new NetCon(&v(0.5), lsyn, 0, delay, 1) if syn_params.get('lambda1'): lsyn.lambda1 = float(syn_params['lambda1']) # par.x(6) if syn_params.get('lambda2'): lsyn.lambda2 = float(syn_params['lambda2']) # par.x(7) if syn_params.get('threshold1'): lsyn.threshold1 = float(syn_params['threshold1']) # par.x(8) if syn_params.get('threshold2'): lsyn.threshold2 = float(syn_params['threshold2']) # par.x(9) if syn_params.get('tauD1'): lsyn.tauD1 = float(syn_params['tauD1']) # par.x(10) if syn_params.get('d1'): lsyn.d1 = float(syn_params['d1']) # par.x(11) if syn_params.get('tauD2'): lsyn.tauD2 = float(syn_params['tauD2']) # par.x(12) if syn_params.get('d2'): lsyn.d2 = float(syn_params['d2']) # par.x(13) if syn_params.get('tauF'): lsyn.tauF = float(syn_params['tauF']) # par.x(14) if syn_params.get('f'): lsyn.f = float(syn_params['f']) # par.x(15) return lsyn
def Int2Pyr(syn_params, sec_x, sec_id): """Create a int2pyr synapse :param syn_params: parameters of a synapse :param sec_x: normalized distance along the section :param sec_id: target section :return: NEURON synapse object """ lsyn = h.int2pyr(sec_x, sec=sec_id) h.distance(sec=sec_id.cell().soma[0]) dist = h.distance(sec_id(sec_x)) fullsecname = sec_id.name() sec_type = fullsecname.split(".")[1][:4] #sec_id = int(fullsecname.split("[")[-1].split("]")[0]) #Assigns random generator of release probability. r = h.Random() r.MCellRan4() r.uniform(0, 1) lsyn.setRandObjRef(r) generators.append(r) #lsyn.P_0 = np_gen.uniform(0.16,0.9)#np.random.uniform(0.16, 0.9) if sec_type == "soma": lsyn.P_0 = max(np.random.normal(0.877, 0.052), 0) if sec_type == "dend": if dist <= 50: lsyn.P_0 = max(np.random.normal(0.877, 0.052), 0) else: lsyn.P_0 = max(np.random.normal(0.72, 0.1), 0) if sec_type == "apic": lsyn.P_0 = max(np.random.normal(0.3, 0.08), 0) if syn_params.get('AlphaTmax_ampa'): lsyn.AlphaTmax_ampa = float(syn_params['AlphaTmax_ampa']) # par.x(21) if syn_params.get('Beta_ampa'): lsyn.Beta_ampa = float(syn_params['Beta_ampa']) # par.x(22) if syn_params.get('Cdur_ampa'): lsyn.Cdur_ampa = float(syn_params['Cdur_ampa']) # par.x(23) if syn_params.get('gbar_ampa'): lsyn.gbar_ampa = float(syn_params['gbar_ampa']) # par.x(24) if syn_params.get('Erev_ampa'): lsyn.Erev_ampa = float(syn_params['Erev_ampa']) # par.x(16) if syn_params.get('AlphaTmax_nmda'): lsyn.AlphaTmax_nmda = float(syn_params['AlphaTmax_nmda']) # par.x(25) if syn_params.get('Beta_nmda'): lsyn.Beta_nmda = float(syn_params['Beta_nmda']) # par.x(26) if syn_params.get('Cdur_nmda'): lsyn.Cdur_nmda = float(syn_params['Cdur_nmda']) # par.x(27) if syn_params.get('gbar_nmda'): lsyn.gbar_nmda = float(syn_params['gbar_nmda']) # par.x(28) if syn_params.get('Erev_nmda'): lsyn.Erev_nmda = float(syn_params['Erev_nmda']) # par.x(16) if syn_params.get('initW'): #lsyn.initW = float(syn_params['initW']) * random.uniform(0.5,1.0) # par.x(0) * rC.uniform(0.5,1.0)//rand.normal(0.5,1.5) //`rand.repick() lsyn.initW = float(lognormal(pyrWeight_m, pyrWeight_s)) #float(pyrWeight) if syn_params.get('Wmax'): lsyn.Wmax = float( syn_params['Wmax']) * lsyn.initW # par.x(1) * lsyn.initW if syn_params.get('Wmin'): lsyn.Wmin = float( syn_params['Wmin']) * lsyn.initW # par.x(2) * lsyn.initW #delay = float(syn_params['initW']) # par.x(3) + delayDistance #lcon = new NetCon(&v(0.5), lsyn, 0, delay, 1) if syn_params.get('lambda1'): lsyn.lambda1 = float(syn_params['lambda1']) # par.x(6) if syn_params.get('lambda2'): lsyn.lambda2 = float(syn_params['lambda2']) # par.x(7) if syn_params.get('threshold1'): lsyn.threshold1 = float(syn_params['threshold1']) # par.x(8) if syn_params.get('threshold2'): lsyn.threshold2 = float(syn_params['threshold2']) # par.x(9) if syn_params.get('tauD1'): lsyn.tauD1 = float(syn_params['tauD1']) # par.x(10) if syn_params.get('d1'): lsyn.d1 = float(syn_params['d1']) # par.x(11) if syn_params.get('tauD2'): lsyn.tauD2 = float(syn_params['tauD2']) # par.x(12) if syn_params.get('d2'): lsyn.d2 = float(syn_params['d2']) # par.x(13) if syn_params.get('tauF'): lsyn.tauF = float(syn_params['tauF']) # par.x(14) if syn_params.get('f'): lsyn.f = float(syn_params['f']) # par.x(15) return lsyn
def Int2Pyr(syn_params, sec_x, sec_id): """Create a int2pyr synapse :param syn_params: parameters of a synapse :param sec_x: normalized distance along the section :param sec_id: target section :return: NEURON synapse object """ trg_cell_nid = int(str(sec_id).split("[")[1].split("]")[0]) # if trg_cell_nid > 0: # import pdb; pdb.set_trace() if trg_cell_nid in weight_means["inh"].keys(): mean_weight = weight_means["inh"][trg_cell_nid] else: weight_means["inh"][trg_cell_nid] = mean_weight = np.random.uniform( 0.2, 0.35) lsyn = h.int2pyr(sec_x, sec=sec_id) if syn_params.get('AlphaTmax_ampa'): lsyn.AlphaTmax_ampa = float(syn_params['AlphaTmax_ampa']) # par.x(21) if syn_params.get('Beta_ampa'): lsyn.Beta_ampa = float(syn_params['Beta_ampa']) # par.x(22) if syn_params.get('Cdur_ampa'): lsyn.Cdur_ampa = float(syn_params['Cdur_ampa']) # par.x(23) if syn_params.get('gbar_ampa'): lsyn.gbar_ampa = float(syn_params['gbar_ampa']) # par.x(24) if syn_params.get('Erev_ampa'): lsyn.Erev_ampa = float(syn_params['Erev_ampa']) # par.x(16) if syn_params.get('AlphaTmax_nmda'): lsyn.AlphaTmax_nmda = float(syn_params['AlphaTmax_nmda']) # par.x(25) if syn_params.get('Beta_nmda'): lsyn.Beta_nmda = float(syn_params['Beta_nmda']) # par.x(26) if syn_params.get('Cdur_nmda'): lsyn.Cdur_nmda = float(syn_params['Cdur_nmda']) # par.x(27) if syn_params.get('gbar_nmda'): lsyn.gbar_nmda = float(syn_params['gbar_nmda']) # par.x(28) if syn_params.get('Erev_nmda'): lsyn.Erev_nmda = float(syn_params['Erev_nmda']) # par.x(16) if syn_params.get('initW'): #lsyn.initW = float(syn_params['initW']) * random.uniform(0.5,1.0) # par.x(0) * rC.uniform(0.5,1.0)//rand.normal(0.5,1.5) //`rand.repick() lsyn.initW = float(min(lognormal(mean_weight, 0.1), 5) * scale) #float(lognormal(3.171729, 0.5173616067) * scale * 20) #lsyn.initW = float(lognormal(mean_weight, 0.5173616067) * scale) #lsyn.initW = min(float(lognormal(mean_weight, 1)), 11) * scale #lsyn.initW = 3.171729*10 if syn_params.get('Wmax'): lsyn.Wmax = float( syn_params['Wmax']) * lsyn.initW # par.x(1) * lsyn.initW if syn_params.get('Wmin'): lsyn.Wmin = float( syn_params['Wmin']) * lsyn.initW # par.x(2) * lsyn.initW #delay = float(syn_params['initW']) # par.x(3) + delayDistance #lcon = new NetCon(&v(0.5), lsyn, 0, delay, 1) if syn_params.get('lambda1'): lsyn.lambda1 = float(syn_params['lambda1']) # par.x(6) if syn_params.get('lambda2'): lsyn.lambda2 = float(syn_params['lambda2']) # par.x(7) if syn_params.get('threshold1'): lsyn.threshold1 = float(syn_params['threshold1']) # par.x(8) if syn_params.get('threshold2'): lsyn.threshold2 = float(syn_params['threshold2']) # par.x(9) if syn_params.get('tauD1'): lsyn.tauD1 = float(syn_params['tauD1']) # par.x(10) if syn_params.get('d1'): lsyn.d1 = float(syn_params['d1']) # par.x(11) if syn_params.get('tauD2'): lsyn.tauD2 = float(syn_params['tauD2']) # par.x(12) if syn_params.get('d2'): lsyn.d2 = float(syn_params['d2']) # par.x(13) if syn_params.get('tauF'): lsyn.tauF = float(syn_params['tauF']) # par.x(14) if syn_params.get('f'): lsyn.f = float(syn_params['f']) # par.x(15) return lsyn