Beispiel #1
0
    def __init__(self,
                 syn_type,
                 syn_shape,
                 tau_m=20,
                 c_m=1.0,
                 v_rest=-65,
                 v_thresh=-55,
                 t_refrac=2,
                 i_offset=0,
                 tau_e=5,
                 tau_i=5,
                 e_e=0,
                 e_i=-70,
                 v_spike=0.0,
                 v_reset=-70.6,
                 A=4.0,
                 B=0.0805,
                 tau_w=144.0,
                 delta=2.0):
        LeakySingleCompartmentNeuron.__init__(self, syn_type, syn_shape, tau_m,
                                              c_m, v_rest, i_offset, tau_e,
                                              tau_i, e_e, e_i)

        # insert Brette-Gerstner spike mechanism
        self.adexp = h.AdExpIF(0.5, sec=self)
        self.source = self.seg._ref_v

        self.parameter_names = [
            'c_m', 'tau_m', 'v_rest', 'v_thresh', 't_refrac', 'i_offset',
            'v_reset', 'tau_e', 'tau_i', 'A', 'B', 'tau_w', 'delta', 'v_spike'
        ]
        if syn_type == 'conductance':
            self.parameter_names.extend(['e_e', 'e_i'])
        self.set_parameters(locals())
        self.w_init = None
    def define_biophysics(self):
        self.soma.insert('pas')
        self.soma.g_pas = 1e-4

        # Exponential nonlinearity
        self.adexp = h.AdExpIF(self.soma(0.5))

        self.soma.e_pas = self.adexp.EL
        self.adexp.GL = self.soma.g_pas * self.soma.L * self.soma.diam * h.PI