Exemplo n.º 1
0
 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))
Exemplo n.º 2
0
 def parse(self):
     Parser.parse(self)
     self.getGlobalParameters()
     self.getSpecies()
     self.analyseModelStructure()
     self.analyseFunctions()
     self.analyseRules()
     self.analyseEvents()
     self.renameEverything()
Exemplo n.º 3
0
 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))
Exemplo n.º 4
0
 def __init__(self,
              sbmlFileName,
              modelName,
              integrationType,
              method,
              inputPath="",
              outputPath=""):
     self.mathPython = []
     self.mathCuda = []
     Parser.__init__(self, sbmlFileName, modelName, integrationType, method,
                     inputPath, outputPath)
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
    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
Exemplo n.º 7
0
 def __init__(self, sbmlFileName, modelName, integrationType, method, inputPath="", outputPath=""):
     Parser.__init__(self, sbmlFileName, modelName, integrationType, method, inputPath, outputPath)
Exemplo n.º 8
0
 def getSpecies(self):
     Parser.getSpecies(self)
     for k in range(0, len(self.listOfSpecies)):
         self.writer.parsedModel.speciesId.append("species"+repr(k+1))
Exemplo n.º 9
0
 def getGlobalParameters(self):
     Parser.getGlobalParameters(self)
     for i in range(0,self.writer.parsedModel.numGlobalParameters):
         self.writer.parsedModel.parameterId.append("parameter"+repr(i+1))