예제 #1
0
    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
예제 #2
0
    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
예제 #3
0
    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
예제 #4
0
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