From f469a15ad06cf6dcd9f545ac43465d784f56fa5a Mon Sep 17 00:00:00 2001 From: Jared Adolf-Bryfogle Date: Thu, 6 Oct 2022 17:27:03 -0400 Subject: [PATCH] add output file output and allow pred to be run from anywhere. --- deepscm-master/pred.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/deepscm-master/pred.py b/deepscm-master/pred.py index 99b2d4e..93283f2 100644 --- a/deepscm-master/pred.py +++ b/deepscm-master/pred.py @@ -1,4 +1,8 @@ +#!/usr/bin/env python3 + # Import libraries +import os.path + import numpy as np import argparse @@ -9,19 +13,24 @@ # Import custom functions from utils import one_hot_encoder, load_pred_data + parser = argparse.ArgumentParser(prog='pred.py') parser.add_argument("--infile", help="DeepSCM input file", type=str, default='DeepSCM_input.txt') +parser.add_argument('--outfile', help="DeepSCM output file", type=str, default='DeepSCM_output.txt') + args = parser.parse_args() name_list, seq_list = load_pred_data(args.infile) -json_file = open('Conv1D_regression.json', 'r') +script_dir = os.path.dirname(__file__) + +json_file = open(os.path.join(script_dir, 'Conv1D_regression.json'), 'r') loaded_model_json = json_file.read() json_file.close() loaded_model = model_from_json(loaded_model_json) # load weights into model -loaded_model.load_weights("Conv1D_regression.h5") +loaded_model.load_weights(os.path.join(script_dir, "Conv1D_regression.h5")) X = [one_hot_encoder(s=x) for x in seq_list] X = np.transpose(np.asarray(X), (0, 2, 1)) @@ -30,6 +39,11 @@ loaded_model.compile(optimizer='adam', loss='mae', metrics=[None]) y_pred = loaded_model.predict(X) +out = open(args.outfile, 'w') +out.write('name,SCM_score\n') for i in range(len(y_pred)): print("%s %.2f" % (name_list[i], y_pred[i])) + out.write(f'{name_list[i]},{float(y_pred[i])}\n') +out.close() +