當前位置: 首頁>>代碼示例>>Python>>正文


Python NeuroML.readNeuroMLFromFile方法代碼示例

本文整理匯總了Python中moose.neuroml.NeuroML.NeuroML.readNeuroMLFromFile方法的典型用法代碼示例。如果您正苦於以下問題:Python NeuroML.readNeuroMLFromFile方法的具體用法?Python NeuroML.readNeuroMLFromFile怎麽用?Python NeuroML.readNeuroMLFromFile使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在moose.neuroml.NeuroML.NeuroML的用法示例。


在下文中一共展示了NeuroML.readNeuroMLFromFile方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: _loadElec

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
    def _loadElec( self, efile, elecname ):
        if ( efile[ len( efile ) - 2:] == ".p" ):
            self.elecid = moose.loadModel( efile, '/library/' + elecname)[0]
            print self.elecid
        elif ( efile[ len( efile ) - 4:] == ".swc" ):
            self.elecid = moose.loadModel( efile, '/library/' + elecname)[0]
        else:
            nm = NeuroML()
            print "in _loadElec, combineSegments = ", self.combineSegments
            nm.readNeuroMLFromFile( efile, \
                    params = {'combineSegments': self.combineSegments, \
                    'createPotentialSynapses': True } )
            if moose.exists( '/cells' ):
                kids = moose.wildcardFind( '/cells/#' )
            else:
                kids = moose.wildcardFind( '/library/#[ISA=Neuron],/library/#[TYPE=Neutral]' )
                if ( kids[0].name == 'spine' ):
                    kids = kids[1:]

            assert( len( kids ) > 0 )
            self.elecid = kids[0]
            temp = moose.wildcardFind( self.elecid.path + '/#[ISA=CompartmentBase]' )

        transformNMDAR( self.elecid.path )
        kids = moose.wildcardFind( '/library/##[0]' )
        for i in kids:
            i.tick = -1
開發者ID:DineshDevPandey,項目名稱:moose,代碼行數:29,代碼來源:rdesigneur.py

示例2: _loadElec

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
    def _loadElec( self, efile, elecname, combineSegments ):
        library = moose.Neutral( '/library' )
        if ( efile[ len( efile ) - 2:] == ".p" ):
            self.elecid = moose.loadModel( efile, self.model.path + '/' + elecname )
        else:
            nm = NeuroML()
            nm.readNeuroMLFromFile( efile, \
                    params = {'combineSegments': combineSegments, \
                    'createPotentialSynapses': True } )
            if moose.exists( '/cells' ):
                kids = moose.wildcardFind( '/cells/#' )
            else:
                kids = moose.wildcardFind( '/library/#[ISA=Neuron],/library/#[TYPE=Neutral]' )
                if ( kids[0].name == 'spine' ):
                    kids = kids[1:]

            assert( len( kids ) > 0 )
            self.elecid = kids[0]
            temp = moose.wildcardFind( self.elecid.path + '/#[ISA=CompartmentBase]' )
            moose.move( self.elecid, self.model )
            self.elecid.name = elecname

        self._transformNMDAR( self.elecid.path )
        kids = moose.wildcardFind( '/library/##[0]' )
        for i in kids:
            i.tick = -1
開發者ID:csiki,項目名稱:moose-1,代碼行數:28,代碼來源:rdesigneur.py

示例3: loadGran98NeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadGran98NeuroML_L123(filename):
    neuromlR = NeuroML()
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename)
    soma_path = populationDict['Gran'][1][0].path+'/Soma_0'
    somaVm = setupTable('somaVm',moose.Compartment(soma_path),'Vm')
    somaCa = setupTable('somaCa',moose.CaConc(soma_path+'/Gran_CaPool_98'),'Ca')
    somaIKCa = setupTable('somaIKCa',moose.HHChannel(soma_path+'/Gran_KCa_98'),'Gk')
    ## Am not able to plot KDr gating variable X when running under hsolve
    #KDrX = setupTable('ChanX',moose.HHChannel(soma_path+'/Gran_KDr_98'),'X')

    print "Reinit MOOSE ... "
    resetSim(['/elec',cells_path], simdt, plotdt, simmethod='hsolve')

    print "Running ... "
    moose.start(runtime)
    tvec = arange(0.0,runtime*2.0,plotdt)
    tvec = tvec[ : somaVm.vector.size ]
    plot(tvec,somaVm.vector)
    title('Soma Vm')
    xlabel('time (s)')
    ylabel('Voltage (V)')
    figure()
    plot(tvec,somaCa.vector)
    title('Soma Ca')
    xlabel('time (s)')
    ylabel('Ca conc (mol/m^3)')
    figure()
    plot(tvec,somaIKCa.vector)
    title('soma KCa current')
    xlabel('time (s)')
    ylabel('KCa current (A)')
    print "Showing plots ..."
    show()
開發者ID:csiki,項目名稱:MOOSE,代碼行數:36,代碼來源:Granule98_hsolve.py

示例4: runSTGNeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def runSTGNeuroML_L123(filename):
    neuromlR = NeuroML()
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename)
    soma1_path = populationDict['AB_PD'][1][0].path+'/Soma_0'
    soma1Vm = setupTable('somaVm',moose.Compartment(soma1_path),'Vm')
    soma2_path = populationDict['LP'][1][0].path+'/Soma_0'
    soma2Vm = setupTable('somaVm',moose.Compartment(soma2_path),'Vm')
    soma3_path = populationDict['PY'][1][0].path+'/Soma_0'
    soma3Vm = setupTable('somaVm',moose.Compartment(soma3_path),'Vm')
    #somaCa = setupTable('somaCa',moose.CaConc(soma_path+'/CaPool_STG'),'Ca')
    #somaIKCa = setupTable('somaIKCa',moose.HHChannel(soma_path+'/KCa_STG'),'Ik')
    #somaCaE = setupTable('somaCaE',moose.HHChannel(soma_path+'/CaT_STG/nernst'),'E')
    ## Am not able to plot KDr gating variable X when running under hsolve
    #KDrX = setupTable('ChanX',moose.HHChannel(soma_path+'/Gran_KDr_98'),'X')

    print "Reinit MOOSE ... "
    resetSim(['/elec',cells_path], simdt, plotdt, simmethod='hsolve')

    print "Running ... "
    moose.start(runtime)
    tvec = arange(0.0,runtime+2*plotdt,plotdt)
    tvec = tvec[ : soma1Vm.vec.size ]
    plot(tvec,soma1Vm.vec,label='AB_PD',color='g',linestyle='dashed')
    plot(tvec,soma2Vm.vec,label='LP',color='r',linestyle='solid')
    plot(tvec,soma3Vm.vec,label='PY',color='b',linestyle='dashed')
    legend()
    title('Soma Vm')
    xlabel('time (s)')
    ylabel('Voltage (V)')
    print "Showing plots ..."
    show()
開發者ID:OpenSourceBrain,項目名稱:PyloricNetwork,代碼行數:34,代碼來源:pyloric_net_MOOSE.py

示例5: loadModel

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadModel(filename):
    global soma_, cellSpikeTable_
    neuromlR = NeuroML()
    neuromlR.readNeuroMLFromFile(filename)
    libcell = moose.Neuron('/library/CA1soma')
    CA1Cellid = moose.copy(libcell,moose.Neutral('/cells'),'CA1')
    CA1Cell = moose.Neuron(CA1Cellid)

    spikeGen = moose.SpikeGen(CA1Cell.path+'/spikeGen')
    spikeGen.threshold = -30e-3 # V
    soma_ = moose.Compartment(CA1Cell.path+'/Seg0_soma_0_0')
    soma_.inject = 0 # by default the cell has a current injection
    moose.connect(soma_,'VmOut',spikeGen,'Vm')
    table_path = moose.Neutral(CA1Cell.path+'/data').path
    cellSpikeTable_ = moose.Table(table_path+'/spikesTable')
    moose.connect(spikeGen,'spikeOut', cellSpikeTable_,'input')
開發者ID:hrani,項目名稱:moose-core,代碼行數:18,代碼來源:FvsI_CA1.py

示例6: loadGran98NeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadGran98NeuroML_L123(filename, nogui=False):
    neuromlR = NeuroML()
    populationDict, projectionDict = neuromlR.readNeuroMLFromFile(filename)
    soma_path = populationDict["Gran"][1][0].path + "/Soma_0"
    somaVm = setupTable("somaVm", moose.Compartment(soma_path), "Vm")
    somaCa = setupTable("somaCa", moose.CaConc(soma_path + "/Gran_CaPool_98"), "Ca")
    somaIKCa = setupTable("somaIKCa", moose.HHChannel(soma_path + "/Gran_KCa_98"), "Gk")

    soma = moose.Compartment(soma_path)
    print ("Reinit MOOSE ... ")
    resetSim(["/elec", "/cells"], simdt, plotdt, simmethod="ee")  # from moose.utils
    print ("Running ... ")
    moose.start(runtime)
    print ("Finished simulation of %s seconds" % runtime)

    if not nogui:
        from pylab import *

        tvec = arange(0.0, runtime, plotdt)
        plot(tvec, somaVm.vector[1:])
        title("Soma Vm")
        xlabel("time (s)")
        ylabel("Voltage (V)")
        figure()
        plot(tvec, somaCa.vector[1:])
        title("Soma Ca")
        xlabel("time (s)")
        ylabel("Ca conc (mol/m^3)")
        figure()
        plot(tvec, somaIKCa.vector[1:])
        title("KCa current (A)")
        xlabel("time (s)")
        ylabel("")
        print "Showing plots ..."
        show()
開發者ID:OpenSourceBrain,項目名稱:MOOSEShowcase,代碼行數:37,代碼來源:Granule98.py

示例7: loadGran98NeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadGran98NeuroML_L123(filename):
    neuromlR = NeuroML()
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename)
    soma_path = populationDict['Gran'][1][0].path+'/Soma_0'
    somaVm = setupTable('somaVm',moose.Compartment(soma_path),'Vm')
    somaCa = setupTable('somaCa',moose.CaConc(soma_path+'/Gran_CaPool_98'),'Ca')
    somaIKCa = setupTable('somaIKCa',moose.HHChannel(soma_path+'/Gran_KCa_98'),'Gk')
    #KDrX = setupTable('ChanX',moose.HHChannel(soma_path+'/Gran_KDr_98'),'X')
    soma = moose.Compartment(soma_path)
    print("Reinit MOOSE ... ")
    resetSim(['/elec','/cells'],simdt,plotdt,simmethod='ee') # from moose.utils
    print("Running ... ")
    moose.start(runtime)
    tvec = arange(0.0,runtime,plotdt)
    plot(tvec,somaVm.vector[1:])
    title('Soma Vm')
    xlabel('time (s)')
    ylabel('Voltage (V)')
    figure()
    plot(tvec,somaCa.vector[1:])
    title('Soma Ca')
    xlabel('time (s)')
    ylabel('Ca conc (mol/m^3)')
    figure()
    plot(tvec,somaIKCa.vector[1:])
    title('KCa current (A)')
    xlabel('time (s)')
    ylabel('')
    print("Showing plots ...")
    show()
開發者ID:BhallaLab,項目名稱:moose-examples,代碼行數:33,代碼來源:Granule98.py

示例8: loadXMLModel

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
    def loadXMLModel(self, filename, target):
        """Load a model in some XML format. 

        Looks inside the XML to figure out if this is a neuroML or an
        SBML file and calls the corresponding loader functions.

        Currently only SBML and neuroML are support. In future 9ml
        support will be provided as the specification becomes stable.

        """
        with open(filename, 'r') as xmlfile:
            for line in xmlfile:
                self._xmlreader.feed(line)
                if self._saxhandler.model_type is not None:
                    break
        ret = self._saxhandler.model_type
        self._saxhandler.model_type = None
        self._xmlreader.reset()
        if ret == MooseHandler.type_neuroml:
            #self._context.loadModel(filename, target)
            neuromlR = NeuroML()
            populationDict, projectionDict = neuromlR.readNeuroMLFromFile(filename)
        elif ret == MooseHandler.type_sbml:
            print 'Unsupported in GUI Mode'
        return ret
開發者ID:Vivek-sagar,項目名稱:moose-1,代碼行數:27,代碼來源:moosehandler.py

示例9: loadGran98NeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadGran98NeuroML_L123(filename):
    neuromlR = NeuroML()
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename)
    soma_path = populationDict['CA1group'][1][0].path+'/Seg0_soma_0_0'
    somaVm = setupTable('somaVm',moose.Compartment(soma_path),'Vm')
    soma = moose.Compartment(soma_path)
    moose.reinit()
    moose.start(runtime)
    tvec = np.arange(0.0,runtime,simdt)
    res =  count.spike_train_simple_stat( somaVm.vector )
    return res['number of spikes']
開發者ID:asiaszmek,項目名稱:moose-core,代碼行數:14,代碼來源:CA1.py

示例10: loadGran98NeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadGran98NeuroML_L123(filename):
    neuromlR = NeuroML()
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename)
    soma_path = populationDict['Gran'][1][0].path+'/Soma_0'
    somaVm = setupTable('somaVm',moose.Compartment(soma_path),'Vm')
    somaCa = setupTable('somaCa',moose.CaConc(soma_path+'/Gran_CaPool_98'),'Ca')
    somaIKCa = setupTable('somaIKCa',moose.HHChannel(soma_path+'/Gran_KCa_98'),'Gk')
    #KDrX = setupTable('ChanX',moose.HHChannel(soma_path+'/Gran_KDr_98'),'X')
    soma = moose.Compartment(soma_path)
    print "Reinit MOOSE ... "
    resetSim(['/elec','/cells'],simdt,plotdt,simmethod='ee') # from moose.utils
    print "Running ... "
    moose.start(runtime)
    print 'Finished simulation for', runtime, 'seconds'
開發者ID:dilawar,項目名稱:nsdf,代碼行數:17,代碼來源:Granule98.py

示例11: loadGran98NeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadGran98NeuroML_L123(filename,params):
    neuromlR = NeuroML()
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename,params=params)
    print "Number of compartments =",\
        len(moose.Neuron(populationDict['CA1group'][1][0].path).children)
    soma_path = populationDict['CA1group'][1][0].path+'/Seg0_soma_0_0'
    somaVm = setupTable('somaVm',moose.Compartment(soma_path),'Vm')
    #somaCa = setupTable('somaCa',moose.CaConc(soma_path+'/Gran_CaPool_98'),'Ca')
    #somaIKCa = setupTable('somaIKCa',moose.HHChannel(soma_path+'/Gran_KCa_98'),'Gk')
    #KDrX = setupTable('ChanX',moose.HHChannel(soma_path+'/Gran_KDr_98'),'X')
    soma = moose.Compartment(soma_path)
    
    print "Reinit MOOSE ... "
    resetSim(['/elec','/cells'],simdt,plotdt,simmethod='hsolve') # from moose.utils
    print "Running ... "
    moose.start(runtime)
    tvec = arange(0.0,runtime,simdt)
開發者ID:neurord,項目名稱:moose-core,代碼行數:20,代碼來源:CA1_hsolve.py

示例12: loadGran98NeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadGran98NeuroML_L123(filename):
    neuromlR = NeuroML()
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename)
    # readNeuroMLFromFile returns populationDict = { 'populationname1':(cellname,{int(instanceid1):moosecell, ... }) , ... }
    #    and projectionDict = { 'projectionname1':(source,target,[(syn_name1,pre_seg_path,post_seg_path),...]) , ... }
    soma_path = populationDict['Gran'][1][0].path+'/Soma_0'
    
    somaVm = setupTable('somaVm',moose.Compartment(soma_path),'Vm')
    somaCa = setupTable('somaCa',moose.CaConc(soma_path+'/Gran_CaPool_98'),'Ca')
    somaIKCa = setupTable('somaIKCa',moose.HHChannel(soma_path+'/Gran_KCa_98'),'Gk')
    #KDrX = setupTable('ChanX',moose.HHChannel(soma_path+'/Gran_KDr_98'),'X')
    soma = moose.Compartment(soma_path)
    
    print "Reinit MOOSE ... "
    resetSim(['/elec','/cells'],simdt,plotdt,simmethod='ee') # from moose.utils
    print "Running ... "
    moose.start(runtime)
    
    # plotting
    tvec = arange(0.0,runtime,plotdt)
    plot(tvec,somaVm.vector[1:])
    title('Soma Vm')
    xlabel('time (s)')
    ylabel('Voltage (V)')
    figure()
    plot(tvec,somaCa.vector[1:])
    title('Soma Ca')
    xlabel('time (s)')
    ylabel('Ca conc (mol/m^3)')
    figure()
    plot(tvec,somaIKCa.vector[1:])
    title('KCa current (A)')
    xlabel('time (s)')
    ylabel('')
    print "Showing plots ..."
    show()
開發者ID:h-mayorquin,項目名稱:camp_india_2016,代碼行數:39,代碼來源:Granule98.py

示例13: loadSTGNeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadSTGNeuroML_L123(filename):
    neuromlR = NeuroML()
    ## readNeuroMLFromFile below returns:
    # This returns
    # populationDict = {
    #     'populationname1':('cellName',{('instanceid1'):moosecell, ... }) 
    #     , ... 
    #     }
    # (cellName and instanceid are strings, mooosecell is a moose.Neuron object instance)
    # and
    # projectionDict = { 
    #     'projName1':('source','target',[('syn_name1','pre_seg_path','post_seg_path')
    #     ,...]) 
    #     , ... 
    #     }
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename)
    soma1_path = populationDict['AB_PD'][1][0].path+'/Soma_0'
    soma1Vm = setupTable('somaVm',moose.Compartment(soma1_path),'Vm')
    soma2_path = populationDict['LP'][1][0].path+'/Soma_0'
    soma2Vm = setupTable('somaVm',moose.Compartment(soma2_path),'Vm')
    soma3_path = populationDict['PY'][1][0].path+'/Soma_0'
    soma3Vm = setupTable('somaVm',moose.Compartment(soma3_path),'Vm')

    # monitor channel current
    channel_path = soma1_path + '/KCa_STG'
    channel_Ik = setupTable('KCa_Ik',moose.element(channel_path),'Ik')
    # monitor Ca
    capool_path = soma1_path + '/CaPool_STG'
    capool_Ca = setupTable('CaPool_Ca',moose.element(capool_path),'Ca')

    # monitor synaptic current
    soma2 = moose.element(soma2_path)
    print "Children of",soma2_path,"are:"
    for child in soma2.children:
        print child.className, child.path
    if graded_syn:
        syn_path = soma2_path+'/DoubExpSyn_Ach__cells-0-_AB_PD_0-0-_Soma_0'
        syn = moose.element(syn_path)
    else:
        syn_path = soma2_path+'/DoubExpSyn_Ach'
        syn = moose.element(syn_path)
    syn_Ik = setupTable('DoubExpSyn_Ach_Ik',syn,'Ik')

    print "Reinit MOOSE ... "
    resetSim(['/elec',cells_path], simdt, plotdt, simmethod='ee')

    print "Running ... "
    moose.start(runtime)
    tvec = arange(0.0,runtime+2*plotdt,plotdt)
    tvec = tvec[ : soma1Vm.vector.size ]
    
    figure(facecolor='w')
    plot(tvec,soma1Vm.vector,label='AB_PD',color='g',linestyle='solid')
    plot(tvec,soma2Vm.vector,label='LP',color='r',linestyle='solid')
    plot(tvec,soma3Vm.vector,label='PY',color='b',linestyle='solid')
    legend()
    title('Soma Vm')
    xlabel('time (s)')
    ylabel('Voltage (V)')

    figure(facecolor='w')
    plot(tvec,channel_Ik.vector,color='b',linestyle='solid')
    title('KCa current; Ca conc')
    xlabel('time (s)')
    ylabel('Ik (Amp)')
    twinx()
    plot(tvec,capool_Ca.vector,color='r',linestyle='solid')
    ylabel('Ca (mol/m^3)')

    figure(facecolor='w')
    plot(tvec,syn_Ik.vector,color='b',linestyle='solid')    
    title('Ach syn current in '+soma2_path)
    xlabel('time (s)')
    ylabel('Isyn (S)')
    print "Showing plots ..."
    show()
開發者ID:csiki,項目名稱:MOOSE,代碼行數:79,代碼來源:STG_net.py

示例14: loadRunSTGNeuroML_L123

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
def loadRunSTGNeuroML_L123(filename):
    'Loads and runs the pyloric rhythm generator from NeuroML files.'
    # for graded synapses, else NeuroML event-based are used
    from load_synapses import load_synapses
    moose.Neutral('/library')
    # set graded to False to use event based synapses
    #  if False, neuroml event-based synapses get searched for and loaded
    # True to load graded synapses
    graded_syn = True
    #graded_syn = False
    if graded_syn:
        load_synapses()

    neuromlR = NeuroML()
    ## readNeuroMLFromFile below returns:
    # This returns
    # populationDict = {
    #     'populationname1':('cellName',{('instanceid1'):moosecell, ... }) 
    #     , ... 
    #     }
    # (cellName and instanceid are strings, mooosecell is a moose.Neuron object instance)
    # and
    # projectionDict = { 
    #     'projName1':('source','target',[('syn_name1','pre_seg_path','post_seg_path')
    #     ,...]) 
    #     , ... 
    #     }
    populationDict, projectionDict = \
        neuromlR.readNeuroMLFromFile(filename)
    soma1_path = populationDict['AB_PD'][1][0].path+'/Soma_0'
    soma1Vm = setupTable('somaVm',moose.Compartment(soma1_path),'Vm')
    soma2_path = populationDict['LP'][1][0].path+'/Soma_0'
    soma2Vm = setupTable('somaVm',moose.Compartment(soma2_path),'Vm')
    soma3_path = populationDict['PY'][1][0].path+'/Soma_0'
    soma3Vm = setupTable('somaVm',moose.Compartment(soma3_path),'Vm')

    # monitor channel current
    channel_path = soma1_path + '/KCa_STG'
    channel_Ik = setupTable('KCa_Ik',moose.element(channel_path),'Ik')
    # monitor Ca
    capool_path = soma1_path + '/CaPool_STG'
    capool_Ca = setupTable('CaPool_Ca',moose.element(capool_path),'Ca')

    # monitor synaptic current
    soma2 = moose.element(soma2_path)
    print "Children of",soma2_path,"are:"
    for child in soma2.children:
        print child.className, child.path
    if graded_syn:
        syn_path = soma2_path+'/DoubExpSyn_Ach__cells-0-_AB_PD_0-0-_Soma_0'
        syn = moose.element(syn_path)
    else:
        syn_path = soma2_path+'/DoubExpSyn_Ach'
        syn = moose.element(syn_path)
    syn_Ik = setupTable('DoubExpSyn_Ach_Ik',syn,'Ik')

    print "Reinit MOOSE ... "
    resetSim(['/elec',cells_path], simdt, plotdt, simmethod='hsolve')

    print "Using graded synapses? = ", graded_syn
    print "Running model filename = ",filename," ... "
    moose.start(runtime)
    tvec = np.arange(0.0,runtime+2*plotdt,plotdt)
    tvec = tvec[ : soma1Vm.vector.size ]
    
    fig = plt.figure(facecolor='w',figsize=(10,6))
    axA = plt.subplot2grid((3,2),(0,0),rowspan=3,colspan=1,frameon=False)
    img = plt.imread( 'STG.png' )
    imgplot = axA.imshow( img )
    for tick in axA.get_xticklines():
        tick.set_visible(False)
    for tick in axA.get_yticklines():
        tick.set_visible(False)
    axA.set_xticklabels([])
    axA.set_yticklabels([])
    ax = plt.subplot2grid((3,2),(0,1),rowspan=1,colspan=1)
    ax.plot(tvec,soma1Vm.vector*1000,label='AB_PD',color='g',linestyle='solid')
    ax.set_xticklabels([])
    ax.set_ylabel('AB_PD (mV)')
    ax = plt.subplot2grid((3,2),(1,1),rowspan=1,colspan=1)
    ax.plot(tvec,soma2Vm.vector*1000,label='LP',color='r',linestyle='solid')
    ax.set_xticklabels([])
    ax.set_ylabel('LP (mV)')
    ax = plt.subplot2grid((3,2),(2,1),rowspan=1,colspan=1)
    ax.plot(tvec,soma3Vm.vector*1000,label='PY',color='b',linestyle='solid')
    ax.set_ylabel('PY (mV)')
    ax.set_xlabel('time (s)')
    fig.tight_layout()

    fig = plt.figure(facecolor='w')
    plt.plot(tvec,soma2Vm.vector*1000,label='LP',color='r',linestyle='solid')
    plt.plot(tvec,soma3Vm.vector*1000,label='PY',color='b',linestyle='solid')
    plt.legend()
    plt.xlabel('time (s)')
    plt.ylabel('Soma Vm (mV)')

    plt.figure(facecolor='w')
    plt.plot(tvec,channel_Ik.vector,color='b',linestyle='solid')
    plt.title('KCa current; Ca conc')
    plt.xlabel('time (s)')
#.........這裏部分代碼省略.........
開發者ID:2pysarthak,項目名稱:moose-examples,代碼行數:103,代碼來源:STG_net.py

示例15: NeuroML

# 需要導入模塊: from moose.neuroml.NeuroML import NeuroML [as 別名]
# 或者: from moose.neuroml.NeuroML.NeuroML import readNeuroMLFromFile [as 別名]
sys.path.append('.')
import moose
from moose.utils import *

from moose.neuroml.NeuroML import NeuroML

from pylab import *

SIMDT = 25e-6 # s
PLOTDT = 25e-6 # s
RUNTIME = 1.0 # s

injectmax = 2e-12 # Amperes

neuromlR = NeuroML()
neuromlR.readNeuroMLFromFile('cells_channels/CA1soma.morph.xml')
libcell = moose.Neuron('/library/CA1soma')
CA1Cellid = moose.copy(libcell,moose.Neutral('/cells'),'CA1')
CA1Cell = moose.Neuron(CA1Cellid)
#printCellTree(CA1Cell)

## edge-detect the spikes using spike-gen (table does not have edge detect)
spikeGen = moose.SpikeGen(CA1Cell.path+'/spikeGen')
spikeGen.threshold = -30e-3 # V
CA1CellSoma = moose.Compartment(CA1Cell.path+'/Seg0_soma_0_0')
CA1CellSoma.inject = 0 # by default the cell has a current injection
moose.connect(CA1CellSoma,'VmOut',spikeGen,'Vm')
## save spikes in table
table_path = moose.Neutral(CA1Cell.path+'/data').path
CA1CellSpikesTable = moose.Table(table_path+'/spikesTable')
moose.connect(spikeGen,'spikeOut',CA1CellSpikesTable,'input')
開發者ID:2pysarthak,項目名稱:moose-examples,代碼行數:33,代碼來源:FvsI_CA1.py


注:本文中的moose.neuroml.NeuroML.NeuroML.readNeuroMLFromFile方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。