Skip to content

Commit 770ab53

Browse files
authored
readsbml: compartment name & Id is mapped to the values in comptSbmlidMooseIdMap,writesbml: added annotation for cplxpool, autolayout for cspaccemodels (#374)
1 parent 8d68b6d commit 770ab53

File tree

2 files changed

+10
-19
lines changed

2 files changed

+10
-19
lines changed

python/moose/SBML/readSBML.py

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
**********************************************************************/
1919
2019:
2020
Jun 06: - both compartment name and Id is mapped to the values in comptSbmlidMooseIdMap
21-
May 23: - check for interger for Assignment expr
21+
May 23: - checking for integer in Assignment expr
2222
Jan 19: - validator flag is set 'on' from True
2323
- groupname if missing in the sbml file then groupid is taken,
2424
if both are missing then its not a valide sbml file
@@ -935,24 +935,17 @@ def unitsforRates(model):
935935
def getMembers(node, ruleMemlist):
936936
msg = ""
937937
found = True
938+
938939
if node == None:
939940
pass
940941

941942
elif node.getType() == libsbml.AST_POWER:
942943
pass
943944

944945
elif node.getType() == libsbml.AST_FUNCTION:
945-
#print " function"
946-
#funcName = node.getName()
947-
#funcValue = []
948-
#functionfound = False
949946
for i in range(0,node.getNumChildren()):
950-
#functionfound = True
951-
#print " $$ ",node.getChild(i).getName()
952-
#funcValue.append(node.getChild(i).getName())
953947
getMembers(node.getChild(i),ruleMemlist)
954-
#funcKL[node.getName()] = funcValue
955-
948+
956949
elif node.getType() == libsbml.AST_PLUS:
957950
#print " plus ", node.getNumChildren()
958951
if node.getNumChildren() == 0:
@@ -996,7 +989,6 @@ def getMembers(node, ruleMemlist):
996989
for i in range(1, node.getNumChildren()):
997990
# Multiplication
998991
getMembers(node.getChild(i), ruleMemlist)
999-
1000992
elif node.getType() == libsbml.AST_LAMBDA:
1001993
#In lambda get Bvar values and getRighChild which will be kineticLaw
1002994
if node.getNumChildren() == 0:
@@ -1013,15 +1005,15 @@ def getMembers(node, ruleMemlist):
10131005
for i in range (0,node.getNumBvars()):
10141006
ruleMemlist.append(node.getChild(i).getName())
10151007
#funcD[funcName] = {"bvar" : bvar, "MathML":node.getRightChild()}
1016-
10171008
elif node.getType() == libsbml.AST_INTEGER:
10181009
#value is constant
10191010
#ruleMemlist.append(node.getValue())
10201011
pass
1021-
1012+
10221013
elif node.getType() == libsbml.AST_FUNCTION_POWER:
10231014
msg = msg + "\n moose is yet to handle \""+node.getName() + "\" operator"
10241015
found = False
1016+
10251017
elif node.getType() == libsbml.AST_FUNCTION_PIECEWISE:
10261018
#print " piecewise ", libsbml.formulaToL3String(node)
10271019
msg = msg + "\n moose is yet to handle \""+node.getName() + "\" operator"
@@ -1037,7 +1029,6 @@ def getMembers(node, ruleMemlist):
10371029
getMembers(rchild, ruleMemlist)
10381030
'''
10391031
else:
1040-
#print(" this case need to be handled", node.getName())
10411032
msg = msg + "\n moose is yet to handle \""+node.getName() + "\" operator"
10421033
found = False
10431034
# if len(ruleMemlist) > 2:
@@ -1122,7 +1113,6 @@ def createRules(model, specInfoMap, globparameterIdValue):
11221113
for mem in ruleMemlist:
11231114
if (mem in specInfoMap):
11241115
#exp1 = exp.replace(mem, str(speFunXterm[mem]))
1125-
#print " mem ",mem, "$ ", speFunXterm[mem], "$$ ",exp
11261116
exp1 = re.sub(r'\b%s\b'% (mem), speFunXterm[mem], exp)
11271117
exp = exp1
11281118
elif(mem in globparameterIdValue):
@@ -1449,10 +1439,8 @@ def createCompartment(basePath, model, comptSbmlidMooseIdMap):
14491439
mooseCmptId.volume = (msize * unitfactor)
14501440
#both compartment name and Id is mapped to the values
14511441
comptSbmlidMooseIdMap.update(dict.fromkeys([sbmlCmptId,name], {"MooseId": mooseCmptId, "spatialDim": dimension, "size": msize}))
1452-
14531442
#comptSbmlidMooseIdMap[sbmlCmptId] = {
14541443
# "MooseId": mooseCmptId, "spatialDim": dimension, "size": msize}
1455-
14561444
for key,value in endo_surr.items():
14571445
if value in comptSbmlidMooseIdMap:
14581446
endomesh = comptSbmlidMooseIdMap[key]["MooseId"]

python/moose/SBML/writeSBML.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ def mooseWriteSBML(modelpath, filename, sceneitems={}):
9797
filename = filenameExt[:filenameExt.find('.')]
9898
else:
9999
filename = filenameExt
100+
100101
# validatemodel
101102
sbmlOk = False
102103
global spe_constTrue
@@ -231,7 +232,6 @@ def mooseWriteSBML(modelpath, filename, sceneitems={}):
231232
writeTofile = filepath + "/" + filename + '.xml'
232233
else:
233234
writeTofile = filename+'.xml'
234-
235235
#writeTofile = filepath + "/" + filename + '.xml'
236236
writeSBMLToFile(sbmlDoc, writeTofile)
237237
return True, consistencyMessages, writeTofile
@@ -1027,6 +1027,7 @@ def writeSpecies(modelpath, cremodel_, sbmlDoc, sceneitems,speGroup):
10271027
s1.setConstant(False)
10281028
s1.setUnits("substance")
10291029
s1.setHasOnlySubstanceUnits(False)
1030+
10301031
if moose.exists(spe.path + '/info'):
10311032
Anno = moose.Annotator(spe.path + '/info')
10321033
if Anno.notes != "":
@@ -1067,6 +1068,7 @@ def writeSpecies(modelpath, cremodel_, sbmlDoc, sceneitems,speGroup):
10671068
if Anno.textColor:
10681069
speciAnno = speciAnno + "<moose:textColor>" + \
10691070
Anno.textColor + "</moose:textColor>\n"
1071+
10701072
speciAnno = speciAnno + "<moose:diffConstant>" + str(spe.diffConst) + "</moose:diffConstant>\n"
10711073
speciAnno = speciAnno + "<moose:motorConstant>" + str(spe.motorConst)+ "</moose:motorConstant>\n"
10721074
speciAnno = speciAnno + "</moose:ModelAnnotation>"
@@ -1247,6 +1249,7 @@ def recalculatecoordinates(modelpath, mObjlist,xcord,ycord):
12471249
setupItem(modelpath,srcdesConnection)
12481250
meshEntry,xmin,xmax,ymin,ymax,positionInfoExist,sceneitems = setupMeshObj(modelpath)
12491251
if not positionInfoExist:
1252+
12501253
sceneitems = autoCoordinates(meshEntry,srcdesConnection)
12511254
sceneitems = autoCoordinates(meshEntry,srcdesConnection)
12521255

@@ -1256,7 +1259,7 @@ def recalculatecoordinates(modelpath, mObjlist,xcord,ycord):
12561259
#if not positionInfoExist:
12571260
#cmin,cmax,sceneitems = autoCoordinates(meshEntry,srcdesConnection)
12581261
sceneitems = autoCoordinates(meshEntry,srcdesConnection)
1259-
'''
1262+
'''
12601263
def writeUnits(cremodel_):
12611264
unitVol = cremodel_.createUnitDefinition()
12621265
unitVol.setId("volume")

0 commit comments

Comments
 (0)