def parse( self, rxnfile, metabolitefile = ''): precursor_predicate = {} rxnParser = ReactionFlatFileParser() smmParser = SmallMoleculeFlatFileParser() #smm = smmParser.parse( metabolitefile ) rxn = rxnParser.parse( rxnfile ) result = MetabolicNetwork( 'MetabolicNetwork' ) result.addReactionMap( rxn ) return result
def parseGenConfig(self,config,modelName): dir = config["basedir"] network = None fluxLimits = None smmData = None objective = None metaboliteData = None if config["rxnfile"] != '': rxnFile =dir + config["rxnfile"] network = self.networkParser.parse(rxnFile) else: network = MetabolicNetwork('') if config["smmfile"] != '': smmFile = dir + config["smmfile"] metaboliteData = self.smmParser.parse(smmFile) if config["fluxlimitfile"] != '': fluxLimitFile = dir + config["fluxlimitfile"] fluxLimits = self.fluxLimitParser.parse(fluxLimitFile) else: fluxLimits = FluxLimit() if config["objectivefile"] != '': objectiveFile = dir + config["objectivefile"] objective = self.objectiveParser.parse(objectiveFile) else: objective = Objective() if config["exchangefile"] != '': exchangeFile = dir + config["exchangefile"] ( reactions, objective, limit ) = self.exchangeParser.parse(exchangeFile) network.addReactionMap(reactions) fluxLimits.extend(limit) if self.directionCheck: fluxLimits = self.checkDirectionality(network, fluxLimits) #Add data to collector if network != None: result = FluxModel(network) if metaboliteData != None: result.setMetaboliteData(metaboliteData) if objective != None and fluxLimits != None: result.addAnalysis( modelName, objective, fluxLimits ) return result