Ejemplo n.º 1
0
def run(nogui):

    reader = NML2Reader(verbose=True)

    filename = 'test_files/passiveCell.nml'
    print('Loading: %s' % filename)
    reader.read(filename)

    msoma = reader.getComp(reader.doc.networks[0].populations[0].id, 0, 0)
    print(msoma)

    data = moose.Neutral('/data')

    pg = reader.getInput('pulseGen1')

    inj = moose.Table('%s/pulse' % (data.path))
    moose.connect(inj, 'requestOut', pg, 'getOutputValue')

    vm = moose.Table('%s/Vm' % (data.path))
    moose.connect(vm, 'requestOut', msoma, 'getVm')

    simdt = 1e-6
    plotdt = 1e-4
    simtime = 150e-3

    if (1):
        #moose.showmsg( '/clock' )
        for i in range(8):
            moose.setClock(i, simdt)
        moose.setClock(8, plotdt)
        moose.reinit()
    else:
        utils.resetSim([model.path, data.path], simdt, plotdt, simmethod='ee')
        moose.showmsg('/clock')

    moose.start(simtime)

    print("Finished simulation!")

    t = np.linspace(0, simtime, len(vm.vector))

    if not nogui:
        import matplotlib.pyplot as plt

        plt.subplot(211)
        plt.plot(t, vm.vector * 1e3, label='Vm (mV)')
        plt.legend()
        plt.title('Vm')
        plt.subplot(212)
        plt.title('Input')
        plt.plot(t, inj.vector * 1e9, label='injected (nA)')
        #plt.plot(t, gK.vector * 1e6, label='K')
        #plt.plot(t, gNa.vector * 1e6, label='Na')
        plt.legend()
        plt.show()
        plt.close()
Ejemplo n.º 2
0
 def setUp(self):
     self.reader = NML2Reader()
     self.lib = moose.Neutral('/library')
     self.filename = 'test_files/Granule_98/Granule_98.nml'
     self.reader.read(self.filename)
     for ncell in self.reader.nml_to_moose:
         if isinstance(ncell, nml.Cell):
             self.ncell = ncell
             break
     self.mcell = moose.element(moose.wildcardFind('/##[ISA=Cell]')[0])
Ejemplo n.º 3
0
    def setUp(self):
        self.reader = NML2Reader(verbose=True)

        self.lib = moose.Neutral('/library')
        self.filename = 'test_files/passiveCell.nml'
        print('Loading: %s' % self.filename)
        self.reader.read(self.filename)
        for ncell in self.reader.nml_to_moose:
            if isinstance(ncell, nml.Cell):
                self.ncell = ncell
                break
        self.mcell = moose.element('/library/%s' % self.ncell.id)
        self.soma = moose.element(self.mcell.path + '/soma')
Ejemplo n.º 4
0
 def setUp(self):
     self.reader = NML2Reader()
     self.lib = moose.Neutral('/library')
     self.filename = 'test_files/NML2_FullCell.nml'
     self.reader.read(self.filename)
     for ncell in self.reader.nml_to_moose:
         if isinstance(ncell, nml.Cell):
             self.ncell = ncell
             break
     self.mcell = moose.element('/library/SpikingCell')
     self.soma = moose.element(self.mcell.path + '/Soma')
     self.dendrite1 = moose.element(self.mcell.path + '/Dendrite1')
     self.dendrite2 = moose.element(self.mcell.path + '/Dendrite2')
     self.spine1 = moose.element(self.mcell.path + '/Spine1')