本文整理汇总了Python中moose.loadModel函数的典型用法代码示例。如果您正苦于以下问题:Python loadModel函数的具体用法?Python loadModel怎么用?Python loadModel使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了loadModel函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: _loadElec
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,代码行数:27,代码来源:rdesigneur.py
示例2: loadModels
def loadModels(filepath):
""" load models into moose if file, if moosepath itself it passes back the path and
delete solver if exist """
modelpath = '/'
loaded = False
if os.path.isfile(filepath) :
fpath, filename = os.path.split(filepath)
# print " head and tail ",head, " ",tail
# modelpath = filename[filename.rfind('/'): filename.rfind('.')]
# print "modelpath ",modelpath
# ext = os.path.splitext(filename)[1]
# filename = filename.strip()
modelpath = '/'+filename[:filename.rfind('.')]
modeltype = mtypes.getType(filepath)
subtype = mtypes.getSubtype(filepath, modeltype)
if subtype == 'kkit' or modeltype == "cspace":
moose.loadModel(filepath,modelpath)
loaded = True
elif subtype == 'sbml':
#moose.mooseReadSBML(filename,modelpath)
#loaded = True
pass
else:
print("This file is not supported for mergering")
modelpath = moose.Shell('/')
elif moose.exists(filepath):
modelpath = filepath
loaded = True
return modelpath,loaded
开发者ID:subhacom,项目名称:moose-core,代码行数:35,代码来源:merge.py
示例3: __init__
def __init__(self, *args):
QWidget.__init__(self, *args)
#c = moose.ZombiePool('/compartment')
c = moose.Compartment('/compartment')
moose.loadModel('../Demos/Genesis_files/reaction.g','/rec')
for l in moose.wildcardFind('/rec/##[TYPE=ZombiePool]'):
if( moose.element(l).path == '/rec/kinetics/Sub'):
c = moose.element(l)
tablemodel = ObjectFieldsModel(c,['Field','Value'],self) #my_array, self)
tableview = QTableView()
tableview.setModel(tablemodel)
#tableview.setShowGrid(False)
vh = tableview.verticalHeader()
vh.setVisible(False)
hh = tableview.horizontalHeader()
hh.setStretchLastSection(True)
tableview.setAlternatingRowColors(True)
#tableview.resizeColumnsToContents()
layout = QVBoxLayout(self)
layout.addWidget(tableview)
self.setLayout(layout)
开发者ID:Vivek-sagar,项目名称:moose-1,代码行数:26,代码来源:objectedit2.py
示例4: main
def main( runTime ):
try:
moose.delete('/acc92')
print("Deleted old model")
except Exception as e:
print("Could not clean. model not loaded yet")
moose.loadModel('acc92_caBuff.g',loadpath,'gsl')
ca = moose.element(loadpath+'/kinetics/Ca')
pr = moose.element(loadpath+'/kinetics/protein')
clockdt = moose.Clock('/clock').dts
moose.setClock(8, 0.1)#simdt
moose.setClock(18, 0.1)#plotdt
print clockdt
print " \t \t simdt ", moose.Clock('/clock').dts[8],"plotdt ",moose.Clock('/clock').dts[18]
ori = ca.concInit
tablepath = loadpath+'/kinetics/Ca'
tableele = moose.element(tablepath)
table = moose.Table2(tablepath+'.con')
x = moose.connect(table, 'requestOut', tablepath, 'getConc')
tablepath1 = loadpath+'/kinetics/protein'
tableele1 = moose.element(tablepath1)
table1 = moose.Table2(tablepath1+'.con')
x1 = moose.connect(table1, 'requestOut', tablepath1, 'getConc')
ca.concInit = ori
print("[INFO] Running for 4000 with Ca.conc %s " % ca.conc)
moose.start(4000)
ca.concInit = 5e-03
print("[INFO] Running for 20 with Ca.conc %s " % ca.conc)
moose.start(20)
ca.concInit = ori
moose.start( runTime ) #here give the interval time
ca.concInit = 5e-03
print("[INFO] Running for 20 with Ca.conc %s " % ca.conc)
moose.start(20)
ca.concInit = ori
print("[INFO] Running for 2000 with Ca.conc %s " % ca.conc)
moose.start(2000)
pylab.figure()
pylab.subplot(2, 1, 1)
t = numpy.linspace(0.0, moose.element("/clock").runTime, len(table.vector)) # sec
pylab.plot( t, table.vector, label="Ca Conc (interval- 8000s)" )
pylab.legend()
pylab.subplot(2, 1, 2)
t1 = numpy.linspace(0.0, moose.element("/clock").runTime, len(table1.vector)) # sec
pylab.plot( t1, table1.vector, label="Protein Conc (interval- 8000s)" )
pylab.legend()
pylab.savefig( os.path.join( dataDir, '%s_%s.png' % (table1.name, runTime) ) )
print('[INFO] Saving data to csv files in %s' % dataDir)
tabPath1 = os.path.join( dataDir, '%s_%s.csv' % (table.name, runTime))
numpy.savetxt(tabPath1, numpy.matrix([t, table.vector]).T, newline='\n')
tabPath2 = os.path.join( dataDir, '%s_%s.csv' % (table1.name, runTime) )
numpy.savetxt(tabPath2, numpy.matrix([t1, table1.vector]).T, newline='\n')
开发者ID:Ainurrohmah,项目名称:Scripts,代码行数:60,代码来源:run92_simple.py
示例5: main
def main():
"""This example illustrates loading a kinetic model defined in Genesis format
into Moose using loadModel function and using writeSBML function
one can save the model into SBML format. \n
Moose needs to be compiled with libsbml
"""
#This command loads the file into the path '/Kholodenko'
moose.loadModel('../genesis/Kholodenko.g','/Kholodenko')
#Writes model to xml file
moose.writeSBML('/Kholodenko','Kholodenko_tosbml.xml')
开发者ID:2pysarthak,项目名称:moose-examples,代码行数:11,代码来源:convert_Genesis2Sbml.py
示例6: main
def main():
"""This example illustrates loading a kinetic model defined in Genesis format
into Moose using loadModel function and using writeSBML function
one can save the model into SBML format. \n
libsbml should be installed
"""
#This command loads the file into the path '/Kholodenko'
moose.loadModel('../genesis/Kholodenko.g','/Kholodenko')
#Writes model to xml file
written = mooseWriteSBML('/Kholodenko','../genesis/Kholodenko_tosbml.xml')
print(written)
开发者ID:BhallaLab,项目名称:moose-examples,代码行数:12,代码来源:convert_Genesis2Sbml.py
示例7: main
def main():
# Schedule the whole lot
moose.setClock( 4, 0.1 ) # for the computational objects
moose.setClock( 5, 0.1 ) # clock for the solver
moose.setClock( 8, 1.0 ) # for the plots
# The wildcard uses # for single level, and ## for recursive.
#compartment = makeModel()
moose.loadModel( '../Genesis_files/M1719.cspace', '/model', 'ee' )
compartment = moose.element( 'model/kinetics' )
compartment.name = 'compartment'
ksolve = moose.Ksolve( '/model/compartment/ksolve' )
stoich = moose.Stoich( '/model/compartment/stoich' )
stoich.compartment = compartment
stoich.ksolve = ksolve
#ksolve.stoich = stoich
stoich.path = "/model/compartment/##"
state = moose.SteadyState( '/model/compartment/state' )
moose.useClock( 5, '/model/compartment/ksolve', 'process' )
moose.useClock( 8, '/model/graphs/#', 'process' )
moose.reinit()
state.stoich = stoich
#state.showMatrices()
state.convergenceCriterion = 1e-7
moose.le( '/model/graphs' )
a = moose.element( '/model/compartment/a' )
b = moose.element( '/model/compartment/b' )
c = moose.element( '/model/compartment/c' )
for i in range( 0, 100 ):
getState( ksolve, state )
moose.start( 100.0 ) # Run the model for 100 seconds.
b = moose.element( '/model/compartment/b' )
c = moose.element( '/model/compartment/c' )
# move most molecules over to b
b.conc = b.conc + c.conc * 0.95
c.conc = c.conc * 0.05
moose.start( 100.0 ) # Run the model for 100 seconds.
# move most molecules back to a
c.conc = c.conc + b.conc * 0.95
b.conc = b.conc * 0.05
moose.start( 100.0 ) # Run the model for 100 seconds.
# Iterate through all plots, dump their contents to data.plot.
displayPlots()
quit()
开发者ID:saeedsh,项目名称:async_gpu,代码行数:52,代码来源:cspaceSteadyState.py
示例8: loadFile
def loadFile(filename, target, merge=True):
"""Try to load a model from specified `filename` under the element
`target`.
if `merge` is True, the contents are just loaded at target. If
false, everything is deleted from the parent of target unless the
parent is root.
Returns
-------
a dict containing at least these three entries:
modeltype: type of the loaded model.
subtype: subtype of the loaded model, None if no specific subtype
modelroot: root element of the model, None if could not be located - as is the case with Python scripts
"""
istext = True
with open(filename, 'rb') as infile:
istext = mtypes.istextfile(infile)
if not istext:
print 'Cannot handle any binary formats yet'
return None
parent, child = posixpath.split(target)
p = moose.Neutral(parent)
if not merge and p.path != '/':
for ch in p.children:
moose.delete(ch)
try:
modeltype = mtypes.getType(filename)
subtype = mtypes.getSubtype(filename, modeltype)
except KeyError:
raise FileLoadError('Do not know how to handle this filetype: %s' % (filename))
pwe = moose.getCwe()
if modeltype == 'genesis':
if subtype == 'kkit' or subtype == 'prototype':
model = moose.loadModel(filename, target)
else:
print 'Only kkit and prototype files can be loaded.'
elif modeltype == 'cspace':
model = moose.loadModel(filename, target)
elif modeltype == 'xml' and subtype == 'neuroml':
model = neuroml.loadNeuroML_L123(filename)
else:
raise FileLoadError('Do not know how to handle this filetype: %s' % (filename))
moose.setCwe(pwe) # The MOOSE loadModel changes the current working element to newly loaded model. We revert that behaviour
# TODO: check with Aditya how to specify the target for
# neuroml reader
return {'modeltype': modeltype,
'subtype': subtype,
'model': model}
开发者ID:Vivek-sagar,项目名称:moose-1,代码行数:52,代码来源:mload.py
示例9: main
def main():
"""Test main"""
model = moose.Neutral('/model')
moose.loadModel('../Demos/Genesis_files/Kholodenko.g', '/model/Kholodenko')
# tab = moose.element('/model/Kholodenko/graphs/conc1/MAPK_PP.Co')
# print tab
# for t in tab.children:
# print t
app = QtGui.QApplication(sys.argv)
mainwin = QtGui.QMainWindow()
mainwin.setWindowTitle('Model tree test')
wildcardWidget = SearchWidget()
mainwin.setCentralWidget(wildcardWidget)
mainwin.show()
sys.exit(app.exec_())
开发者ID:Vivek-sagar,项目名称:moose-1,代码行数:15,代码来源:msearch.py
示例10: main
def main():
#solver = "gsl" # Pick any of gsl, gssa, ee..
solver = "gssa" # Pick any of gsl, gssa, ee..
mfile = '../../Genesis_files/Repressillator.g'
runtime = 6000.0
if ( len( sys.argv ) >= 2 ):
solver = sys.argv[1]
modelId = moose.loadModel( mfile, 'model', solver )
# Increase volume so that the stochastic solver gssa
# gives an interesting output
compt = moose.element( '/model/kinetics' )
compt.volume = 1e-19
dt = moose.element( '/clock' ).dt
moose.reinit()
moose.start( runtime )
# Display all plots.
img = mpimg.imread( 'repressillatorOsc.png' )
fig = plt.figure( figsize=(12, 10 ) )
png = fig.add_subplot( 211 )
imgplot = plt.imshow( img )
ax = fig.add_subplot( 212 )
x = moose.wildcardFind( '/model/#graphs/conc#/#' )
plt.ylabel( 'Conc (mM)' )
plt.xlabel( 'Time (seconds)' )
for x in moose.wildcardFind( '/model/#graphs/conc#/#' ):
t = numpy.arange( 0, x.vector.size, 1 ) * dt
pylab.plot( t, x.vector, label=x.name )
pylab.legend()
pylab.show()
开发者ID:csiki,项目名称:MOOSE,代码行数:31,代码来源:repressillator.py
示例11: main
def main():
solver = "gsl"
mfile = '../../Genesis_files/Kholodenko.g'
runtime = 5000.0
if ( len( sys.argv ) >= 2 ):
solver = sys.argv[1]
modelId = moose.loadModel( mfile, 'model', solver )
dt = moose.element( '/clock' ).dt
moose.reinit()
moose.start( runtime )
# Display all plots.
img = mpimg.imread( 'Kholodenko_tut.png' )
fig = plt.figure( figsize=( 12, 10 ) )
png = fig.add_subplot( 211 )
imgplot = plt.imshow( img )
ax = fig.add_subplot( 212 )
x = moose.wildcardFind( '/model/#graphs/conc#/#' )
t = numpy.arange( 0, x[0].vector.size, 1 ) * dt
ax.plot( t, x[0].vector * 100, 'b-', label='Ras-MKKK * 100' )
ax.plot( t, x[1].vector, 'y-', label='MKKK-P' )
ax.plot( t, x[2].vector, 'm-', label='MKK-PP' )
ax.plot( t, x[3].vector, 'r-', label='MAPK-PP' )
plt.ylabel( 'Conc (mM)' )
plt.xlabel( 'Time (seconds)' )
pylab.legend()
pylab.show()
开发者ID:csiki,项目名称:MOOSE,代码行数:28,代码来源:slowFbOsc.py
示例12: loadChem
def loadChem( neuroCompt, spineCompt, psdCompt ):
# We need the compartments to come in with a volume of 1 to match the
# original CubeMesh.
assert( neuroCompt.volume == 1.0 )
assert( spineCompt.volume == 1.0 )
assert( psdCompt.volume == 1.0 )
assert( neuroCompt.mesh.num == 1 )
#print 'volume = ', neuroCompt.mesh[0].volume
#assert( neuroCompt.mesh[0].volume == 1.0 )
#an unfortunate mismatch
# So we'll have to resize the volumes of the current compartments to the
# new ones.
modelId = moose.loadModel( 'x_compt.g', '/model', 'ee' )
chem = moose.element( '/model/model' )
chem.name = 'chem'
oldN = moose.element( '/model/chem/compartment_1' )
oldS = moose.element( '/model/chem/compartment_2' )
oldP = moose.element( '/model/chem/kinetics' )
oldN.volume = neuroCompt.mesh[0].volume
oldS.volume = spineCompt.mesh[0].volume
oldP.volume = psdCompt.mesh[0].volume
moveCompt( '/model/chem/kinetics/DEND', oldN, neuroCompt )
moveCompt( '/model/chem/kinetics/SPINE', oldS, spineCompt )
moveCompt( '/model/chem/kinetics/PSD', oldP, psdCompt )
开发者ID:NeuroArchive,项目名称:moose,代码行数:25,代码来源:x_compt.py
示例13: create_neuron
def create_neuron(model, ntype, ghkYN):
p_file = find_morph_file(model,ntype)
try:
cellproto=moose.loadModel(p_file, ntype)
except IOError:
print('could not load model from {!r}'.format(p_file))
raise
#######channels
Cond = model.Condset[ntype]
for comp in moose.wildcardFind('{}/#[TYPE=Compartment]'.format(ntype)):
#If we are using GHK, just create one GHK per compartment, connect it to comp
#calcium concentration is connected in a different function
if ghkYN:
ghkproto=moose.element('/library/ghk')
ghk=moose.copy(ghkproto,comp,'ghk')[0]
moose.connect(ghk,'channel',comp,'channel')
else:
ghk=[]
for channame in Cond.keys():
c = _util.distance_mapping(Cond[channame], comp)
if c > 0:
log.debug('Testing Cond If {} {}', channame, c)
calciumPermeable = model.Channels[channame].calciumPermeable
add_channel.addOneChan(channame, c, comp, ghkYN, ghk, calciumPermeable=calciumPermeable)
#Compensate for actual, experimentally estimated spine density.
#This gives a model that can be simulated with no explicit spines or
#any number of explicitly modeled spines up to the actual spine density:
spines.compensate_for_spines(model,comp,model.param_cond.NAME_SOMA)
return cellproto
开发者ID:neurord,项目名称:spspine,代码行数:31,代码来源:cell_proto.py
示例14: load_axon
def load_axon():
model = moose.loadModel("axon_passive.p", "/axon")
for x in model[0].children:
print x.path, x.class_
pulsegen = moose.PulseGen("/pulsegen")
pulsegen.delay[0] = simdt * 200 # The Axon.g in oldmoose flips the current every 20 pulses
pulsegen.width[0] = simdt * 200
pulsegen.level[0] = inject
moose.connect(pulsegen, "outputOut", moose.element("/axon/soma"), "injectMsg")
data = moose.Neutral("/data")
tab = moose.Table("%s/Vm100" % (data.path))
moose.connect(tab, "requestData", moose.ObjId("/axon/c100"), "get_Vm")
pulsetab = moose.Table("/data/inject")
moose.connect(pulsetab, "requestData", pulsegen, "get_output")
solver = moose.HSolve("/hsolve")
solver.dt = simdt
solver.target = model.path
return {
"model": model,
"Vm": tab,
"inject": pulsetab,
"soma": moose.element("/axon/soma"),
"pulse": pulsegen,
"solver": solver,
}
开发者ID:praveenv253,项目名称:moose,代码行数:25,代码来源:test_axonpassive.py
示例15: test_symcomp_readcell
def test_symcomp_readcell():
model = moose.Neutral("/model")
cell = moose.loadModel("symcomp.p", "%s/cell" % (model.path))
pg = moose.PulseGen("/model/pulse")
pg.delay[0] = 10e-3
pg.width[0] = 20e-3
pg.level[0] = 1e-6
pg.delay[1] = 1e9
moose.connect(pg, "output", moose.element("/model/cell/d1"), "injectMsg")
data = moose.Neutral("/data")
tab_soma = moose.Table("%s/soma_Vm" % (data.path))
tab_d1 = moose.Table("%s/d1_Vm" % (data.path))
tab_d2 = moose.Table("%s/d2_Vm" % (data.path))
moose.connect(tab_soma, "requestOut", moose.element("/model/cell/soma"), "getVm")
moose.connect(tab_d1, "requestOut", moose.element("/model/cell/d1"), "getVm")
moose.connect(tab_d2, "requestOut", moose.element("/model/cell/d2"), "getVm")
moose.setClock(0, simdt)
moose.setClock(1, simdt)
moose.setClock(2, simdt)
moose.useClock(
0, "/model/##[ISA=Compartment]", "init"
) # This is allowed because SymCompartment is a subclass of Compartment
moose.useClock(1, "/model/##", "process")
moose.useClock(2, "/data/##[ISA=Table]", "process")
moose.reinit()
moose.start(simtime)
t = np.linspace(0, simtime, len(tab_soma.vector))
data_matrix = np.vstack((t, tab_soma.vector, tab_d1.vector, tab_d2.vector))
np.savetxt("symcompartment_readcell.txt", data_matrix.transpose())
pylab.plot(t, tab_soma.vector, label="Vm_soma")
pylab.plot(t, tab_d1.vector, label="Vm_d1")
pylab.plot(t, tab_d2.vector, label="Vm_d2")
pylab.show()
开发者ID:NeuroArchive,项目名称:moose,代码行数:33,代码来源:symcomp_readcell.py
示例16: loadChem
def loadChem():
chem = moose.Neutral( '/model/chem' )
modelId = moose.loadModel(
os.path.join( scriptDir, '..', 'genesis', 'chanPhosphByCaMKII.g' )
, '/model/chem', 'gsl'
)
nmstoich = moose.element( '/model/chem/kinetics/stoich' )
开发者ID:asiaszmek,项目名称:moose,代码行数:7,代码来源:multiscaleOneCompt.py
示例17: main
def main():
"""
This example illustrates loading, and running a kinetic model
for a bistable positive feedback system, defined in kkit format.
This is based on Bhalla, Ram and Iyengar, Science 2002.
The core of this model is a positive feedback loop comprising of
the MAPK cascade, PLA2, and PKC. It receives PDGF and Ca2+ as
inputs.
This model is quite a large one and due to some stiffness in its
equations, it runs somewhat slowly.
The simulation illustrated here shows how the model starts out in
a state of low activity. It is induced to 'turn on' when a
a PDGF stimulus is given for 400 seconds.
After it has settled to the new 'on' state, model is made to
'turn off'
by setting the system calcium levels to zero for a while. This
is a somewhat unphysiological manipulation!
"""
solver = "gsl" # Pick any of gsl, gssa, ee..
#solver = "gssa" # Pick any of gsl, gssa, ee..
mfile = '../../genesis/acc35.g'
runtime = 2000.0
if ( len( sys.argv ) == 2 ):
solver = sys.argv[1]
modelId = moose.loadModel( mfile, 'model', solver )
# Increase volume so that the stochastic solver gssa
# gives an interesting output
compt = moose.element( '/model/kinetics' )
compt.volume = 5e-19
moose.reinit()
moose.start( 500 )
moose.element( '/model/kinetics/PDGFR/PDGF' ).concInit = 0.0001
moose.start( 400 )
moose.element( '/model/kinetics/PDGFR/PDGF' ).concInit = 0.0
moose.start( 2000 )
moose.element( '/model/kinetics/Ca' ).concInit = 0.0
moose.start( 500 )
moose.element( '/model/kinetics/Ca' ).concInit = 0.00008
moose.start( 2000 )
# Display all plots.
img = mpimg.imread( 'mapkFB.png' )
fig = plt.figure( figsize=(12, 10 ) )
png = fig.add_subplot( 211 )
imgplot = plt.imshow( img )
ax = fig.add_subplot( 212 )
x = moose.wildcardFind( '/model/#graphs/conc#/#' )
t = numpy.arange( 0, x[0].vector.size, 1 ) * x[0].dt
ax.plot( t, x[0].vector, 'b-', label=x[0].name )
ax.plot( t, x[1].vector, 'c-', label=x[1].name )
ax.plot( t, x[2].vector, 'r-', label=x[2].name )
ax.plot( t, x[3].vector, 'm-', label=x[3].name )
plt.ylabel( 'Conc (mM)' )
plt.xlabel( 'Time (seconds)' )
pylab.legend()
pylab.show()
开发者ID:2pysarthak,项目名称:moose-examples,代码行数:60,代码来源:mapkFB.py
示例18: make_prototype
def make_prototype(passive=True):
path = '%s/rc19' % (library.path)
pfile = 'rc19.p'
try:
return moose.element(path)
except ValueError:
pass
if not passive:
make_na()
make_kv()
make_km()
make_kca()
make_cat()
make_cahva()
make_h()
try:
proto = moose.element(path)
except ValueError:
print('Loading model %s to %s' % (pfile, path))
proto = moose.loadModel(pfile, path, 'ee') # hsolve is not functional yet
for comp in proto[0].children:
comp.initVm = -75e-3
for chan in moose.wildcardFind('%s/##[ISA=HHChannel]'):
chan.Gbar *= tadj
return proto
开发者ID:hrani,项目名称:moose-core,代码行数:25,代码来源:rc19.py
示例19: main
def main():
"""
This example illustrates loading and running a reaction system that
spans two volumes, that is, is in different compartments. It uses a
kkit model file. You can tell if it is working if you see nice
relaxation oscillations.
"""
# the kkit reader doesn't know how to do multicompt solver setup.
solver = "ee"
mfile = '../Genesis_files/OSC_diff_vols.g'
runtime = 3000.0
simDt = 1.0
modelId = moose.loadModel( mfile, 'model', solver )
#moose.delete( '/model/kinetics/A/Stot' )
compt0 = moose.element( '/model/kinetics' )
compt1 = moose.element( '/model/compartment_1' )
assert( deq( compt0.volume, 2e-20 ) )
assert( deq( compt1.volume, 1e-20 ) )
dy = compt0.dy
compt1.y1 += dy
compt1.y0 = dy
assert( deq( compt1.volume, 1e-20 ) )
# We now have two cubes adjacent to each other. Compt0 has 2x vol.
# Compt1 touches it.
stoich0 = moose.Stoich( '/model/kinetics/stoich' )
stoich1 = moose.Stoich( '/model/compartment_1/stoich' )
ksolve0 = moose.Ksolve( '/model/kinetics/ksolve' )
ksolve1 = moose.Ksolve( '/model/compartment_1/ksolve' )
stoich0.compartment = compt0
stoich0.ksolve = ksolve0
stoich0.path = '/model/kinetics/##'
stoich1.compartment = compt1
stoich1.ksolve = ksolve1
stoich1.path = '/model/compartment_1/##'
#stoich0.buildXreacs( stoich1 )
print ksolve0.numLocalVoxels, ksolve0.numPools, stoich0.numAllPools
assert( ksolve0.numLocalVoxels == 1 )
assert( ksolve0.numPools == 7 )
assert( stoich0.numAllPools == 6 )
print len( stoich0.proxyPools[stoich1] ),
print len( stoich1.proxyPools[stoich0] )
assert( len( stoich0.proxyPools[stoich1] ) == 1 )
assert( len( stoich1.proxyPools[stoich0] ) == 1 )
print ksolve1.numLocalVoxels, ksolve1.numPools, stoich1.numAllPools
assert( ksolve1.numLocalVoxels == 1 )
assert( ksolve1.numPools == 6 )
assert( stoich1.numAllPools == 5 )
stoich0.buildXreacs( stoich1 )
print moose.element( '/model/kinetics/endo' )
print moose.element( '/model/compartment_1/exo' )
moose.le( '/model/compartment_1' )
moose.reinit()
moose.start( runtime )
# Display all plots.
for x in moose.wildcardFind( '/model/#graphs/conc#/#' ):
t = numpy.arange( 0, x.vector.size, 1 ) * simDt
pylab.plot( t, x.vector, label=x.name )
pylab.legend()
pylab.show()
开发者ID:NeuroArchive,项目名称:moose,代码行数:60,代码来源:crossComptOscillator.py
示例20: loadAndRun
def loadAndRun(solver=True):
simtime = 500e-3
model = moose.loadModel('../data/h10.CNG.swc', '/cell')
comp = moose.element('/cell/apical_e_177_0')
soma = moose.element('/cell/soma')
for i in range(10):
moose.setClock(i, dt)
if solver:
solver = moose.HSolve('/cell/solver')
solver.target = soma.path
solver.dt = dt
stim = moose.PulseGen('/cell/stim')
stim.delay[0] = 50e-3
stim.delay[1] = 1e9
stim.level[0] = 1e-9
stim.width[0] = 2e-3
moose.connect(stim, 'output', comp, 'injectMsg')
tab = moose.Table('/cell/Vm')
moose.connect(tab, 'requestOut', comp, 'getVm')
tab_soma = moose.Table('/cell/Vm_soma')
moose.connect(tab_soma, 'requestOut', soma, 'getVm')
moose.reinit()
print('[INFO] Running for %s' % simtime)
moose.start(simtime )
vec = tab_soma.vector
moose.delete( '/cell' )
return vec
开发者ID:rahulgayatri23,项目名称:moose-core,代码行数:27,代码来源:issue_93.py
注:本文中的moose.loadModel函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论