def __init__(self, mechanism_name, **parameters): self.source = getattr(h, mechanism_name)() for name, value in parameters.items(): setattr(self.source, name, value) dummy = nrn.Section() # needed for PyNN self.source_section = dummy # todo: only need a single dummy for entire network, not one per cell self.parameter_names = ('tau', 'refrac') self.traces = {} self.spike_times = h.Vector(0) self.rec = h.NetCon(self.source, None) self.recording_time = False self.default = self.source
def __init__(self, **parameters): print("Created instance of RS with params: %s" % parameters) self.soma = nrn.Section('sec_RS') #h(" forall psection() ") self.soma.L = 10.0 self.soma(0.5).diam = 10.0 # Todo: work this out here from area etc. # See https://github.com/NeuroML/org.neuroml.export/issues/60 self.soma(0.5).cm = (318310 * parameters['C'] if 'C' in parameters else 318.31) self.soma.push() self.mechanism = h.RS(0.5, sec=self.soma) self.mechanism.v0 = parameters['v0'] self.mechanism.k = parameters['k'] self.mechanism.vr = parameters['vr'] self.mechanism.vt = parameters['vt'] self.mechanism.vpeak = parameters['vpeak'] self.mechanism.a = parameters['a'] self.mechanism.b = parameters['b'] self.mechanism.c = parameters['c'] self.mechanism.d = parameters['d'] self.mechanism.C = parameters['C'] self.source = self.soma(0.5)._ref_v # needed for PyNN self.source_section = self.soma self.parameter_names = ( 'v0', 'k', 'vr', 'vt', 'vpeak', 'a', 'b', 'c', 'd', 'C', ) self.traces = {} self.recording_time = False
def __init__(self, **parameters): print("Created instance of RS with params: %s" % parameters) self.soma = nrn.Section('sec_RS') #h(" forall psection() ") self.soma.L = 10.0 self.soma(0.5).diam = 10.0 # Todo: work this out here from area etc. self.soma(0.5).cm = (318309 * parameters['C'] if parameters.has_key('C') else 318.31927) self.soma.push() self.mechanism = h.RS(0.5, sec=self.soma) self.mechanism.v0 = parameters['v0'] self.mechanism.k = parameters['k'] self.mechanism.vr = parameters['vr'] self.mechanism.vt = parameters['vt'] self.mechanism.vpeak = parameters['vpeak'] self.mechanism.a = parameters['a'] self.mechanism.b = parameters['b'] self.mechanism.c = parameters['c'] self.mechanism.d = parameters['d'] self.mechanism.C = parameters['C'] self.source = self.soma(0.5)._ref_v # needed for PyNN self.source_section = self.soma self.parameter_names = ( 'v0', 'k', 'vr', 'vt', 'vpeak', 'a', 'b', 'c', 'd', 'C', ) self.traces = {} self.recording_time = False
AREA = 1e-8 * pi * LENGTH * DIAMETER # membrane area in cm2 TAU = 20 # time constant in ms CAPACITANCE = 1 # capacitance in muF/cm2 G_L = 1e-3 * CAPACITANCE / TAU # leak conductance in S/cm2 V_REST = -60 # resting potential #V_REST = -65 # figure1A TAU_W = 600 DELTA = 2.5 # Spike parameters VTR = -50 # threshold in mV VTOP = 40 # top voltage during spike in mV VBOT = -60 # reset voltage in mV REFRACTORY = 5.0 / 2 # refractory period in ms (correction for a bug in IF_CG4) # Destexhe2009 figure 1 cells soma = nrn.Section() soma.insert('pas') soma.insert('IF_BG4') #nclist = [] soma.L = LENGTH # 20000 um^2 soma.diam = DIAMETER soma.e_pas = V_REST soma.g_pas = G_L soma.Vtr_IF_BG4 = VTR soma.Ref_IF_BG4 = REFRACTORY soma.Vtop_IF_BG4 = VTOP soma.Vbot_IF_BG4 = VBOT soma.tau_w_IF_BG4 = 600 soma.EL_IF_BG4 = soma.e_pas