Пример #1
0
    def read_output(self, settings):
        # output_file = open(self.output_dir + "/output/banjo/top.graph.txt", 'r')

        output_file = open(self.output_dir + "./output/banjo/top.graph.txt", "r")

        import re

        network = []
        for i in range(len(self.gene_list)):
            row = []
            for j in range(len(self.gene_list)):
                row.append(0)
            network.append(row)

        lines = output_file.readlines()

        for i, line in enumerate(lines):
            line = line.strip()
            if line != "" and line[0] == '"':
                line = re.sub(r"\(.*?\)", "", line).replace('"', "").replace(";", "").strip().replace("->", "")
                # print line

                ls = line.split()
                edge = ls[1]
                gene = ls[0]
                network[int(gene)][int(edge)] = 1
                network[int(edge)][int(gene)] = 1
        net = Network()
        net.read_netmatrix(network, self.gene_list)
        self.network = net
    def read_output(self,settings):
      import scipy
      # Code to write for collecting the output files from the algorithm, writes to the
      # output list in the object
      # What we want to do here is get the prediction rate on the last time
      # point and the network so we can compare it against a gold std.
      # This file is a bunch of zscores, so we have to load the cutoff we want
      co_output = scipy.io.loadmat(self.output_dir + "/output/" + \
              "/convex_optimization_output.mat")

      self.raw_network = co_output["A"].tolist()


      net = Network()
      net.read_netmatrix(self.raw_network, self.gene_list)
      self.network = net

      return self.network
print jobman.queue
jobman.runQueue()
jobman.waitToClear()

accs = []
out = open("output_runs.txt", 'w')
csv_out = open("MastersThesis.csv", 'w')
header = 'k,n_models,lambda_w,eta_z,tau,tp,tn,fp,fn,sensitivity,specificity,accuracy,fanins_correct,fanins_incorrect,fanouts_correct,fanouts_incorrect,cascades_correct,cascades_incorrect,feedforward_loops_correct,feedforward_loops_incorrect\n'
csv_out.write(header)
for i, job in enumerate(jobman.finished):
    print job.alg.gene_list
    print job.alg.gather_output(settings)
    jobnet = Network()
    for k in xrange(len(job.alg.gene_list) * len(job.alg.gene_list) + 1):
        jobnet.read_netmatrix(job.alg.network, job.alg.gene_list, "timeseries")
        jobnet.cutoff_network(k)
        #print "\n\n\n\n\n\n"+"dfg4grn-small-net-test_ETAZ=" + str(p[0]) + "_LW="+str(p[1])+"_TAU="+str(p[2])
        MastersThesis = jobnet.calculateAccuracy(goldnet)
        report = jobnet.analyzeMotifs(goldnet)
        print report.ToString()
        out.write("dfg4grn-small-net-test_ETAZ-" + str(p[0]) + "_LW-"+str(p[1])+"_TAU-"+ str(p[2]) + "\n")
        out.write(str(jobnet.calculateAccuracy(goldnet)))
        out.write(report.ToString())
        out.write("\n\n\n")

        cstr = "{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21}\n".format(
        k,
        job.alg.n_models,
        job.alg.lambda_w,
        job.alg.eta_z,
goldnet = []
v = 1.0
counter = 0
for i in range(len(gene_list)):
    curvenet.append([])
    goldnet.append([])
    for j in range(len(gene_list)):
        counter += 1
        curvenet[i].append(v)
        if random.random() > prop_correct:
        #if counter > 7000 and random.random() > prop_correct / 2.0:
            goldnet[i].append(0)
        #elif random.random() > prop_correct * (1.0 / (counter / 30.0) ):
            #goldnet[i].append(0)
        else:
            goldnet[i].append(1)
        v -= 0.0001
goldnet[i][j] = 0

cnet = Network()
print goldnet
cnet.read_netmatrix(curvenet, gene_list)

gnet = Network()
gnet.read_netmatrix(goldnet, gene_list)



ps, rs, precs = GenerateMultiPRList([cnet], gnet, False, "./" + sys.argv[1] + "_pr.png")
print ps, rs, precs
jobman.waitToClear()

accs = []
out = open("output_runs.txt", 'w')
csv_out = open("results.csv", 'w')
header = 'k,n_models,lambda_w,eta_z,tau,tp,tn,fp,fn,sensitivity,specificity,accuracy,fanins_correct,fanins_incorrect,fanouts_correct,fanouts_incorrect,cascades_correct,cascades_incorrect,feedforward_loops_correct,feedforward_loops_incorrect\n'
csv_out.write(header)
max_n_genes = 500
print "Gathering results into results.csv..."
for i, job in enumerate(jobman.finished):
    #print job.alg.gene_list
    #print job.alg.gather_output(settings)
    jobnet = Network()
    for k in xrange(max_n_genes):
        print "On iteration ", k+1, " of ", max_n_genes
        jobnet.read_netmatrix(job.alg.network, job.alg.gene_list, True)
        jobnet.cutoff_network(k)
        #print "\n\n\n\n\n\n"+"dfg4grn-small-net-test_ETAZ=" + str(p[0]) + "_LW="+str(p[1])+"_TAU="+str(p[2])
        results = jobnet.calculateAccuracy(goldnet)
        report = jobnet.analyzeMotifs(goldnet)
        #print report.ToString()
        out.write("dfg4grn-small-net-test_ETAZ-" + str(p[0]) + "_LW-"+str(p[1])+"_TAU-"+ str(p[2]) + "\n")
        out.write(str(jobnet.calculateAccuracy(goldnet)))
        out.write(report.ToString())
        out.write("\n\n\n")

        cstr = "{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12},{13},{14},{15},{16},{17},{18},{19},{20},{21}\n".format(
        k,
        job.alg.n_models,
        job.alg.lambda_w,
        job.alg.eta_z,
Пример #6
0
def generate_random_network(gene_list):
    mat = numpy.random.randn(len(gene_list), len(gene_list))
    mat = mat / numpy.sqrt(len(gene_list))
    net = Network()
    net.read_netmatrix(mat.tolist(), gene_list, True)
    return net