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)
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)