def addSegmentSynapse(self, layerDict, dist2sec, distKeys, synList, synType): for layer in layerDict: for dist in distKeys: sec_choice = dist2sec[dist] for seg_choice in layerDict[layer][sec_choice]: nmda_flag = 0 if self.synvars['type'] == "E2-NMDA2": syn = h.Exp2Syn(sec_choice(seg_choice)) nmda = h.Exp2NMDA_Wang(sec_choice(seg_choice)) nmda_flag = 1 if self.synvars['type'] == "Log_E2Syn": syn = h.Log_E2Syn(sec_choice(seg_choice)) if self.synvars['type'] == "Add_E2Syn": syn = h.Add_E2Syn(sec_choice(seg_choice)) if self.synvars['type'] == "Mult_E2Syn": syn = h.Mult_E2Syn(sec_choice(seg_choice)) if self.synvars['type'] == "E2": syn = h.Exp2Syn(sec_choice(seg_choice)) if self.synvars['type'] == "E2_Prob": syn = h.E2_Prob(sec_choice(seg_choice)) syn.P = self.synvars['P'] if self.synvars['type'] == "E2_STP_Prob": syn = h.E2_STP_Prob(sec_choice(seg_choice)) if self.synvars['type'] == "STDPE2": syn = h.STDPE2(sec_choice(seg_choice)) if self.synvars['type'] == "STDPE2_Clo": syn = h.STDPE2_Clo(sec_choice(seg_choice)) if self.synvars['type'] == "STDPE2_STP": syn = h.STDPE2_STP(sec_choice(seg_choice)) if self.synvars['type'] == "STDPE2_Prob": syn = h.STDPE2_Prob(sec_choice(seg_choice)) syn.P = self.synvars['P'] #initializes different variables depending on synapse if (self.synvars['type'] == "STDPE2_STP") | ( self.synvars['type'] == "E2_STP_Prob"): syn.F1 = self.synvars['F1'] if (self.synvars['type'] == "STDPE2_Clo") | ( self.synvars['type'] == "STDPE2_STP") | ( self.synvars['type'] == "STDPE2") | ( self.synvars['type'] == "STDPE2_Prob"): syn.wmax = self.synvars['wmax'] syn.wmin = self.synvars['wmin'] syn.thresh = self.synvars['thresh'] if (self.synvars['type'] == "E2_Prob") | ( self.synvars['type'] == "E2_STP_Prob") | ( self.synvars['type'] == "STDPE2_STP") | ( self.synvars['type'] == "STDPE2_Prob"): h.use_mcell_ran4(1) syn.seed = self.ranGen.randint(1, 4.295e9) syn.tau1 = 0.5 syn.tau2 = 0.6 syn.e = 0 if nmda_flag == 1: if synType == 'NMDA': synList[layer].append(nmda) else: synList[layer].append(syn) else: synList[layer].append(syn)
def createSyn(synvars,sec_choice,seg_choice): if synvars['type'] == "E3_NMDA": syn = h.E3_NMDA(sec_choice(seg_choice)) if synvars['type'] == "E2": syn = h.Exp2Syn(sec_choice(seg_choice)) if synvars['type'] == "E2_Prob": syn = h.E2_Prob(sec_choice(seg_choice)) syn.P = synvars['P'] if synvars['type'] == "E2_STP_Prob": syn = h.E2_STP_Prob(sec_choice(seg_choice)) if synvars['type'] == "STDPE2": syn = h.STDPE2(sec_choice(seg_choice)) if synvars['type'] == "STDPE2_Clo": syn = h.STDPE2_Clo(sec_choice(seg_choice)) if synvars['type'] == "STDPE2_STP" : syn = h.STDPE2_STP(sec_choice(seg_choice)) if synvars['type'] == "STDPE2_Prob": syn = h.STDPE2_Prob(sec_choice(seg_choice)) syn.P = synvars['P'] #initializes different variables depending on synapse if (synvars['type'] == "STDPE2_STP")|(synvars['type'] == "E2_STP_Prob"): syn.F1 = synvars['F1'] if (synvars['type'] == "STDPE2_Clo" )|( synvars['type'] == "STDPE2_STP")|( synvars['type'] == "STDPE2")| (synvars['type'] == "STDPE2_Prob"): syn.wmax = synvars['wmax'] syn.wmin = synvars['wmin'] syn.thresh = synvars['thresh'] if (synvars['type'] == "E2_Prob" )|( synvars['type'] == "E2_STP_Prob")|(synvars['type'] == "STDPE2_STP") | (synvars['type'] == "STDPE2_Prob"): h.use_mcell_ran4(1) syn.seed = self.ranGen.randint(1,4.295e9) syn.tau1 = 0.5 syn.tau2 = 0.6 syn.e = 0 return syn
def addSegmentSynapse(self, layerDict, list, synList, synType, in_param): s = 0 for layer in sorted(layerDict.keys()): c = 0 for sec_choice in list: dict = layerDict[layer] for seg_choice in dict[sec_choice]: nmda_flag = 0 if self.synvars['type'] == "E2-NMDA2": syn = h.Exp2Syn(sec_choice(seg_choice)) nmda = h.Exp2NMDA_Wang(sec_choice(seg_choice)) nmda_flag = 1 if self.synvars['type'] == "E2": if layer == in_param["syn_layer"] and c == in_param[ "syn_id"]: print layer, sec_choice, seg_choice c = c + 1 syn = h.Exp2Syn(sec_choice(seg_choice)) if self.synvars['type'] == "E2_Prob": syn = h.E2_Prob(sec_choice(seg_choice)) syn.P = self.synvars['P'] if self.synvars['type'] == "E2_STP_Prob": syn = h.E2_STP_Prob(sec_choice(seg_choice)) if self.synvars['type'] == "STDPE2": syn = h.STDPE2(sec_choice(seg_choice)) if self.synvars['type'] == "STDPE2_Clo": syn = h.STDPE2_Clo(sec_choice(seg_choice)) if self.synvars['type'] == "STDPE2_STP": syn = h.STDPE2_STP(sec_choice(seg_choice)) if self.synvars['type'] == "STDPE2_Prob": syn = h.STDPE2_Prob(sec_choice(seg_choice)) syn.P = self.synvars['P'] #initializes different variables depending on synapse if (self.synvars['type'] == "STDPE2_STP") | ( self.synvars['type'] == "E2_STP_Prob"): syn.F1 = self.synvars['F1'] if (self.synvars['type'] == "STDPE2_Clo") | ( self.synvars['type'] == "STDPE2_STP") | ( self.synvars['type'] == "STDPE2") | ( self.synvars['type'] == "STDPE2_Prob"): syn.wmax = self.synvars['wmax'] syn.wmin = self.synvars['wmin'] syn.thresh = self.synvars['thresh'] if (self.synvars['type'] == "E2_Prob") | ( self.synvars['type'] == "E2_STP_Prob") | ( self.synvars['type'] == "STDPE2_STP") | ( self.synvars['type'] == "STDPE2_Prob"): h.use_mcell_ran4(1) syn.seed = self.ranGen.randint(1, 4.295e9) syn.tau1 = 0.5 syn.tau2 = 0.6 syn.e = 0 if nmda_flag == 1: if synType == 'NMDA': synList[layer].append(nmda) else: synList[layer].append(syn) else: synList[layer].append(syn) s = s + c print "total_synapses = ", s
def addSynapses(self): self.pre_list = [] # E0 syn_ = h.MyExp2Syn(self.lm_thick1(0.5)) self.pre_list.append(syn_) # AMPA EC syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 # E1 syn_ = h.MyExp2Syn(self.lm_thick2(0.5)) self.pre_list.append(syn_) # AMPA EC syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 # E2 syn_ = h.MyExp2Syn(self.radTmed(0.5)) self.pre_list.append(syn_) # AMPA CA3 Shaffer collateral syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 # E3 syn_ = h.NMDA(self.radTmed(0.5)) self.pre_list.append(syn_) # NMDA CA3 Shaffer collateral syn_.tcon = 2.3 syn_.tcoff = 100 syn_.gNMDAmax = 1 # use connection weight to determine max cond # E4 syn_ = h.MyExp2Syn(self.radTprox(0.5)) self.pre_list.append(syn_) # AMPA PC Recurrent collateral syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0 # I5 syn_ = h.MyExp2Syn(self.soma(0.5)) self.pre_list.append(syn_) # GABA-A basket cell syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I6 syn_ = h.MyExp2Syn(self.axon(0.1)) self.pre_list.append(syn_) # GABA-A AA cell syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I7 syn_ = h.MyExp2Syn(self.lm_thick1(0.5)) self.pre_list.append(syn_) # GABA-A OLM cell syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I8 syn_ = h.MyExp2Syn(self.lm_thick2(0.5)) self.pre_list.append(syn_) # GABA-A OLM cell syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I9 syn_ = h.MyExp2Syn(self.lm_thick1(0.5)) self.pre_list.append(syn_) # GABA-B OLM cell syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 # I10 syn_ = h.MyExp2Syn(self.lm_thick2(0.5)) self.pre_list.append(syn_) # GABA-B OLM Cell syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 # I11 syn_ = h.MyExp2Syn(self.radTmed(0.8)) self.pre_list.append(syn_) # GABA-A Bistratified syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I12 syn_ = h.MyExp2Syn(self.radTmed(0.7)) self.pre_list.append(syn_) # GABA-A Bistratified syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I13 syn_ = h.MyExp2Syn(self.radTmed(0.6)) self.pre_list.append(syn_) # GABA-A Bistratified syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I14 syn_ = h.MyExp2Syn(self.radTmed(0.4)) self.pre_list.append(syn_) # GABA-A Bistratified syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I15 syn_ = h.MyExp2Syn(self.radTmed(0.3)) self.pre_list.append(syn_) # GABA-A Bistratified syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I16 syn_ = h.MyExp2Syn(self.radTmed(0.2)) self.pre_list.append(syn_) # GABA-A Bistratified syn_.tau1 = 1 syn_.tau2 = 8 syn_.e = -75 # I17 syn_ = h.MyExp2Syn(self.radTmed(0.8)) self.pre_list.append(syn_) # GABA-B Bistratified syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 # I18 syn_ = h.MyExp2Syn(self.radTmed(0.7)) self.pre_list.append(syn_) # GABA-B Bistratified syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 # I19 syn_ = h.MyExp2Syn(self.radTmed(0.6)) self.pre_list.append(syn_) # GABA-B Bistratified syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 # I20 syn_ = h.MyExp2Syn(self.radTmed(0.4)) self.pre_list.append(syn_) # GABA-B Bistratified syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 # I21 syn_ = h.MyExp2Syn(self.radTmed(0.3)) self.pre_list.append(syn_) # GABA-B Bistratified syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 # I22 syn_ = h.MyExp2Syn(self.radTmed(0.2)) self.pre_list.append(syn_) # GABA-B Bistratified syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 # I23 syn_ = h.STDPE2(self.radTmed(0.5)) self.pre_list.append(syn_) # AMPA modifiable CA3 Schaffer collaterals syn_.tau1 = 0.5 syn_.tau2 = 3 syn_.e = 0
def synapses(self): syn_ = h.MyExp2Syn(self.lm_thick1(0.5)) syn_.tau1 = 0.5 syn_.tau2 = 3.0 syn_.e = 0.0 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.lm_thick2(0.5)) syn_.tau1 = 0.5 syn_.tau2 = 3.0 syn_.e = 0.0 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.radTmed(0.5)) syn_.tau1 = 0.5 syn_.tau2 = 3.0 syn_.e = 0.0 self.prelist.append(syn_) syn_ = h.NMDA(self.radTmed(0.5)) syn_.tcon = 2.3 syn_.tcoff = 100. syn_.gNMDAmax = 1.0 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.radTprox(0.5)) syn_.tau1 = 0.5 syn_.tau2 = 3.0 syn_.e = 0.0 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.soma(0.5)) syn_.tau1 = 1.0 syn_.tau2 = 8.0 syn_.e = -75 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.axon(0.5)) syn_.tau1 = 1.0 syn_.tau2 = 8.0 syn_.e = -75.0 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.lm_thick1(0.5)) syn_.tau1 = 1.0 syn_.tau2 = 8.0 syn_.e = -75 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.lm_thick2(0.5)) syn_.tau1 = 1.0 syn_.tau2 = 8.0 syn_.e = -75 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.lm_thick1(0.5)) syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 self.prelist.append(syn_) syn_ = h.MyExp2Syn(self.lm_thick2(0.5)) syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 self.prelist.append(syn_) for l in np.arange(0.2, 0.9, 0.1): if l == 0.5: continue syn_ = h.MyExp2Syn(self.radTmed(l)) syn_.tau1 = 1.0 syn_.tau2 = 8.0 syn_.e = -75 self.prelist.append(syn_) for l in np.arange(0.2, 0.9, 0.1): if l == 0.5: continue syn_ = h.MyExp2Syn(self.radTmed(l)) syn_.tau1 = 35 syn_.tau2 = 100 syn_.e = -75 self.prelist.append(syn_) syn_ = h.STDPE2(self.radTmed(0.5)) syn_.tau1 = 0.5 syn_.tau2 = 3.0 syn_.e = 0.0