def getSpecies(self): Parser.getSpecies(self) for k in range(0, len(self.listOfSpecies)): if ((len(self.writer.parsedModel.speciesId) - self.comp) < 9): self.writer.parsedModel.speciesId.append("species0" + repr(k + 1)) else: self.writer.parsedModel.speciesId.append("species" + repr(k + 1))
def parse(self): Parser.parse(self) self.getGlobalParameters() self.getSpecies() self.analyseModelStructure() self.analyseFunctions() self.analyseRules() self.analyseEvents() self.renameEverything()
def getGlobalParameters(self): Parser.getGlobalParameters(self) for i in range(0, self.writer.parsedModel.numGlobalParameters): if ((len(self.writer.parsedModel.parameterId) - self.comp) < 9): self.writer.parsedModel.parameterId.append("parameter0" + repr(i + 1)) else: self.writer.parsedModel.parameterId.append("parameter" + repr(i + 1))
def __init__(self, sbmlFileName, modelName, integrationType, method, inputPath="", outputPath=""): self.mathPython = [] self.mathCuda = [] Parser.__init__(self, sbmlFileName, modelName, integrationType, method, inputPath, outputPath)
def analyseModelStructure(self): Parser.analyseModelStructure(self) for i in range(0, len(self.listOfReactions)): for n in range(0, self.numLocalParameters[i]): self.parameterId.append(self.listOfReactions[i].getKineticLaw().getParameter(n).getId()) self.writer.parsedModel.parameterId.append("parameter"+repr(len(self.parameterId)-self.comp)) name = self.listOfReactions[i].getKineticLaw().getParameter(n).getId() new_name = 'parameter' + repr(len(self.parameterId) - self.comp) node = self.sbmlModel.getReaction(i).getKineticLaw().getMath() new_node = self.rename(node, name, new_name) self.writer.parsedModel.kineticLaw[i] = formulaToString(new_node)
def renameEverything(self): Parser.renameEverything(self) for nam in range(0, len(self.mathPython)): for k in range(0, len(self.writer.parsedModel.kineticLaw)): if re.search(self.mathPython[nam], self.writer.parsedModel.kineticLaw[k]): s = self.writer.parsedModel.kineticLaw[k] s = re.sub(self.mathPython[nam], self.mathCuda[nam], s) self.writer.parsedModel.kineticLaw[k] = s for k in range(0, len(self.writer.parsedModel.ruleFormula)): if re.search(self.mathPython[nam], self.writer.parsedModel.ruleFormula[k]): s = self.writer.parsedModel.ruleFormula[k] s = re.sub(self.mathPython[nam], self.mathCuda[nam], s) self.writer.parsedModel.ruleFormula[k] = s for k in range(0, len(self.writer.parsedModel.eventFormula)): for cond in range(0, len(self.listOfAssignmentRules)): if re.search( self.mathPython[nam], self.writer.parsedModel.eventFormula[k][cond]): s = self.writer.parsedModel.eventFormula[k][cond] s = re.sub(self.mathPython[nam], self.mathCuda[nam], s) self.writer.parsedModel.eventFormula[k][cond] = s for k in range(0, len(self.writer.parsedModel.eventCondition)): if re.search(self.mathPython[nam], self.writer.parsedModel.eventCondition[k]): s = self.writer.parsedModel.eventCondition[k] s = re.sub(self.mathPython[nam], self.mathCuda[nam], s) self.writer.parsedModel.eventCondition[k] = s for k in range(0, len(self.writer.parsedModel.functionBody)): if re.search(self.mathPython[nam], self.writer.parsedModel.functionBody[k]): s = self.writer.parsedModel.functionBody[k] s = re.sub(self.mathPython[nam], self.mathCuda[nam], s) self.writer.parsedModel.functionBody[k] = s for fun in range(0, len(self.writer.parsedModel.listOfFunctions)): for k in range( 0, len(self.writer.parsedModel.functionArgument[fun])): if re.search( self.mathPython[nam], self.writer.parsedModel.functionArgument[fun][k]): s = self.writer.parsedModel.functionArgument[fun][k] s = re.sub(self.mathPython[nam], self.mathCuda[nam], s) self.writer.parsedModel.functionArgument[fun][k] = s
def __init__(self, sbmlFileName, modelName, integrationType, method, inputPath="", outputPath=""): Parser.__init__(self, sbmlFileName, modelName, integrationType, method, inputPath, outputPath)
def getSpecies(self): Parser.getSpecies(self) for k in range(0, len(self.listOfSpecies)): self.writer.parsedModel.speciesId.append("species"+repr(k+1))
def getGlobalParameters(self): Parser.getGlobalParameters(self) for i in range(0,self.writer.parsedModel.numGlobalParameters): self.writer.parsedModel.parameterId.append("parameter"+repr(i+1))