def cntxtAnalysis(path, outpath, level=.8, cutoff=.8): dataPaths = tuple([file.rstrip() for file in os.popen("ls "+path+"*.tsv")]) print dataPaths outputFile = open(outpath, 'w').close() outputFile = open(outpath, 'a') model_path = '../../work/HumanFBA/validHumanFBAmodel.lp' stdFBAfluxDist = metabolism.Metabolism(util.ImportCplex(model_path)).fba() print "Standard FBA fluxDist: ", stdFBAfluxDist.getActiveFluxDist() print 2*"\n" reactionSets = list() lp = util.ImportCplex(model_path) cntxtFBA = ContextFBA(lp, rmfID='R("R_Obj")', level=level) for path in dataPaths: (cntxtFluxDist, incon) = cntxtFBA.contextFBA(loadReactionData(path), \ cutoff=cutoff) print "results for: ", path print "ContextFBA fluxDist: ", cntxtFluxDist.getActiveFluxDist() print "Inconsistency Score: ", incon print 2*'\n' stuff = "\t".join(cntxtFluxDist.getActiveReactions()) outputFile.write(path + '\t'+ str(incon) + "\t" + stuff + "\n") outputFile.close()
def checkInconsistencyForAllReactions(data, level=.8, cutoff=.8): model_path = '../../work/HumanFBA/validHumanFBAmodel.lp' lp = util.ImportCplex(model_path) reacs = metabolism.Metabolism(lp).getReactions() print reacs print 2*"\n" testReacs =reacs[0:5] testReacs.append('R("R_Obj")') for r in testReacs: print r lp = util.ImportCplex(model_path) cntxtFBA = ContextFBA(lp, rmfID=r, level=.8) if cntxtFBA.getObjVal() > 0: for path in data: print path (cntxtFluxDist, incon) = cntxtFBA.contextFBA(loadReactionData(path), \ cutoff=cutoff) print "results for: ", path print "ContextFBA fluxDist: ", cntxtFluxDist.getActiveFluxDist() print "Inconsistency Score: ", incon print 2*'\n' stuff = "\t".join(cntxtFluxDist.getActiveReactions()) else: print "no rmfID flux!"