示例#1
0
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!"