def writeAnnotatedTargets(self,objective,model,annotationName,regex,iteration,oPrediction={},nPrediction={},outputFileName=None): if outputFileName == None: outputFileName = "Target_Report_T_%s_C_%s_M_%s_N_%s_S_%s_K_%s_I_%s.txt" % (self.resultTag,self.control,self.modelName,self.naturalObjectiveName,self.syntheticObjectiveName,self.con.controlMax,iteration) aValue = self._annotateObjective(objective, model, annotationName, regex) controlValues = self._condenseObjective(objective) controlValues = self._annotateGenes(controlValues, model, annotationName, regex) controlScores = self._controlScore(objective,oPrediction, nPrediction) controlScores = self._annotateGenes(controlScores, model, annotationName, regex) controlScore = self._condenseMap(controlScores,sum) report = Report() report.addColumnHash("Control", aValue) report.addColumnHash("Flux", controlScore) report.addColumnHash("Reaction Control", controlValues) report.addColumnHash("Flux Changes", controlScores) oName = self.resultDirectory + outputFileName try: writer = ReportWriter() writer.setFile(oName) writer.write(report) writer.closeFile() if self.verbose: print "Report written [%s]" % (outputFileName) except: if self.verbose: print "Failed to write report [%s] " % (outputFileName) return None
def writeReport(self,ltReport,fluxModel, oPredVal,sPredVal,s2PredVal,neighborhood,iterations,fObjective,resultDir): if self.verbose: print "Preparing report ..." report = Report() reactionNames = fluxModel.network.getOrderedReactionNames() reactionMap = fluxModel.network.getReactionMap() for reactionName in reactionNames: reaction = reactionMap[reactionName] equation = reaction.getEquation() pathway = reaction.getAnnotation("Subsystem") name = reaction.getName()#Currently sensitivity values can be too large for control factors. report.addElement(reactionName,"name",name) report.addElement(reactionName,"equation", equation) report.addElement(reactionName,"Subsystem", pathway) #-------------------- #Analysis in report #-------------------- report.addColumnHash("Original", oPredVal) report.addColumnHash("Synthetic", sPredVal) report.addColumnHash("Synthetic mBio", s2PredVal) report.extend(ltReport) report.addColumnHash("Final Objective", fObjective) #-------------------- #Write Report #-------------------- if self.verbose: print "Writing report ..." outputFileName = resultDir + "RD_" + self.resultTag + "_" + self.modelName + "_" + self.syntheticObjectiveName + "_" + str(neighborhood) + "_" + str(iterations) + "_" + strftime('%Y%m%dT%H%M%S') + ".txt" writer = ReportWriter() writer.setFile(outputFileName) writer.write(report) writer.closeFile() if self.verbose: print "Report Written [%s]" % (outputFileName) return report