Exemplo n.º 1
0
def extract_results(X_test, Z_test, generative):
    global NUM_NUCLEOTIDES, FINAL_RESULTS_CSV, TYPE_NUCLEOTIDES
    headers = ("Sequence", "Degrees", "Score DB", "Score Generated")
    with open(FINAL_RESULTS_CSV, "w", newline="", encoding="utf-8") as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(headers)
    gen_imgs = generative.predict(X_test)
    for i in range(1, len(X_test)):
        pose_new = Pose()
        sequence = ""
        muestra = X_test[i]
        for no in range(0, NUM_NUCLEOTIDES):
            if muestra[0, no] == 1:
                sequence = sequence + "A[ADE]"
            elif muestra[1, no] == 1:
                sequence = sequence + "G[GUA]"
            elif muestra[2, no] == 1:
                sequence = sequence + "C[CYT]"
            elif muestra[3, no] == 1:
                sequence = sequence + "T[THY]"
        pose_new = pose_from_sequence(sequence)
        data = []
        gen_img = gen_imgs[i]
        for k in range(0, NUM_NUCLEOTIDES):
            data.append(gen_img[0, k, 0])
            pose_new.set_gamma(k + 1, gen_img[0, k, 0])
            data.append(gen_img[1, k, 0])
            pose_new.set_epsilon(k + 1, gen_img[1, k, 0])
            data.append(gen_img[2, k, 0])
            pose_new.set_delta(k + 1, gen_img[2, k, 0])
            data.append(gen_img[3, k, 0])
            pose_new.set_chi(k + 1, gen_img[3, k, 0])
            data.append(gen_img[4, k, 0])
            pose_new.set_zeta(k + 1, gen_img[4, k, 0])
        score = scorefxn(pose_new)
        table = [sequence, data, Z_test[i], score]
        with open(FINAL_RESULTS_CSV, "a", newline="",
                  encoding="utf-8") as csvfile:
            writer = csv.writer(csvfile)
            writer.writerow(table)
Exemplo n.º 2
0
def save_created_figures(epoch, my_generative, X_test):
    #noise = noise_nucleotides(1)
    idx = np.random.randint(0, X_test.shape[0], 1)
    X_test = X_test[idx]

    gen_img = my_generative.predict(X_test)
    pose_new = Pose()
    sequence = ""
    global NUM_NUCLEOTIDES
    for no in range(0, NUM_NUCLEOTIDES):
        if X_test[0, 0, no] == 1:
            sequence = sequence + "A[ADE]"
        elif X_test[0, 1, no] == 1:
            sequence = sequence + "G[GUA]"
        elif X_test[0, 2, no] == 1:
            sequence = sequence + "C[CYT]"
        elif X_test[0, 3, no] == 1:
            sequence = sequence + "T[THY]"
    pose_new = pose_from_sequence(sequence)

    data = []
    for k in range(0, NUM_NUCLEOTIDES):
        data.append(gen_img[0, 0, k, 0])
        pose_new.set_gamma(k + 1, gen_img[0, 0, k, 0])
        data.append(gen_img[0, 1, k, 0])
        pose_new.set_epsilon(k + 1, gen_img[0, 1, k, 0])
        data.append(gen_img[0, 2, k, 0])
        pose_new.set_delta(k + 1, gen_img[0, 2, k, 0])
        data.append(gen_img[0, 3, k, 0])
        pose_new.set_chi(k + 1, gen_img[0, 3, k, 0])
        data.append(gen_img[0, 4, k, 0])
        pose_new.set_zeta(k + 1, gen_img[0, 4, k, 0])

    score = scorefxn(pose_new)
    save_to_csv(sequence, data, score)
    create_pdb_and_save(pose_new, score, epoch)