@@ -77,45 +77,54 @@ def create_predictions_by_antiSMASH_out(antiSMASH_outs, outdir, log):
7777 predictions_info_file = os .path .join (outdir , "predictions.info" )
7878 predictions_info_list = []
7979 for dirname in antiSMASH_outs :
80- if dirname [- 1 ] == '\n ' :
81- dirname = dirname [:- 1 ]
82-
83- orf_pos = handle_helper .get_orf_position (dirname )
84- orf_ori = handle_helper .get_orf_orientation (dirname )
85- orf_domains = handle_helper .get_orf_domain_list (dirname )
86-
87- print ("====PARTS BEFORE: " )
88- parts = handle_helper .get_parts (dirname )
89- handle_helper .debug_print_parts (dirname , parts , orf_domains , orf_ori , orf_pos )
90-
91- #print("====SPLIT BY DIST:")
92- parts = splitter .split_by_dist (parts , orf_pos )
93- #handle_helper.debug_print_parts(dirname, parts, orf_domains, orf_ori, orf_pos)
94-
95- #print("====SPLIT BY SINGLE ORF WITH Starter-TE")
96- parts = splitter .split_by_one_orf_Starter_TE (parts , orf_ori , orf_domains )
97- #handle_helper.debug_print_parts(dirname, parts, orf_domains, orf_ori, orf_pos)
98-
99- #print("====REMOVE SINGLE DOMAINs ORFS")
100- parts = splitter .split_by_single_domain_orf (parts , orf_ori , orf_domains )
101- #handle_helper.debug_print_parts(dirname, parts, orf_domains, orf_ori, orf_pos)
102-
103- print ("====SPLIT AND REORDER" )
104- parts = splitter .split_and_reorder (parts , orf_ori , orf_pos , orf_domains )
105- handle_helper .debug_print_parts (dirname , parts , orf_domains , orf_ori , orf_pos )
106-
107-
108- nrpspred_dir = os .path .join (dirname , "nrpspks_predictions_txt" )
109- if os .path .isdir (nrpspred_dir ):
110- for filename in os .listdir (nrpspred_dir ):
111- if filename .endswith ('nrpspredictor2_codes.txt' ):
112- base_antiSMASHout_name = os .path .basename (dirname )
113- base_pred_name = os .path .basename (filename )
114- #predictions_info_list.append(os.path.join(dir_for_predictions, base_antiSMASHout_name + "_" + base_pred_name))
115- #shutil.copyfile(os.path.join(nrpspred_dir, filename), os.path.join(dir_for_predictions, base_antiSMASHout_name + "_" + base_pred_name))
116- gen_predictions (parts , os .path .join (nrpspred_dir , filename ),
117- os .path .join (dir_for_predictions , base_antiSMASHout_name + "_" + base_pred_name )[:- 4 ],
118- 0 , predictions_info_list , dirname )
80+ try :
81+ if dirname [- 1 ] == '\n ' :
82+ dirname = dirname [:- 1 ]
83+
84+ orf_pos = handle_helper .get_orf_position (dirname )
85+ orf_ori = handle_helper .get_orf_orientation (dirname )
86+ orf_domains = handle_helper .get_orf_domain_list (dirname )
87+
88+ print ("====PARTS BEFORE: " )
89+ parts = handle_helper .get_parts (dirname )
90+ handle_helper .debug_print_parts (dirname , parts , orf_domains , orf_ori , orf_pos )
91+
92+ #print("====SPLIT BY DIST:")
93+ parts = splitter .split_by_dist (parts , orf_pos )
94+ #handle_helper.debug_print_parts(dirname, parts, orf_domains, orf_ori, orf_pos)
95+
96+ #print("====SPLIT BY SINGLE ORF WITH Starter-TE")
97+ parts = splitter .split_by_one_orf_Starter_TE (parts , orf_ori , orf_domains )
98+ #handle_helper.debug_print_parts(dirname, parts, orf_domains, orf_ori, orf_pos)
99+
100+ #print("====REMOVE SINGLE DOMAINs ORFS")
101+ parts = splitter .split_by_single_domain_orf (parts , orf_ori , orf_domains )
102+ #handle_helper.debug_print_parts(dirname, parts, orf_domains, orf_ori, orf_pos)
103+
104+ print ("====SPLIT AND REORDER" )
105+ parts = splitter .split_and_reorder (parts , orf_ori , orf_pos , orf_domains )
106+ handle_helper .debug_print_parts (dirname , parts , orf_domains , orf_ori , orf_pos )
107+
108+ if len (parts ) > 100 :
109+ raise RuntimeError (f'Too many parts: { len (parts )} ' )
110+
111+
112+ nrpspred_dir = os .path .join (dirname , "nrpspks_predictions_txt" )
113+ if os .path .isdir (nrpspred_dir ):
114+ for filename in os .listdir (nrpspred_dir ):
115+ if filename .endswith ('nrpspredictor2_codes.txt' ):
116+ base_antiSMASHout_name = os .path .basename (dirname )
117+ base_pred_name = os .path .basename (filename )
118+ #predictions_info_list.append(os.path.join(dir_for_predictions, base_antiSMASHout_name + "_" + base_pred_name))
119+ #shutil.copyfile(os.path.join(nrpspred_dir, filename), os.path.join(dir_for_predictions, base_antiSMASHout_name + "_" + base_pred_name))
120+ gen_predictions (parts , os .path .join (nrpspred_dir , filename ),
121+ os .path .join (dir_for_predictions , base_antiSMASHout_name + "_" + base_pred_name )[:- 4 ],
122+ 0 , predictions_info_list , dirname )
123+ except KeyboardInterrupt as e :
124+ raise e
125+ except Exception as e :
126+ print (f'Error: { type (e ).__name__ } : { e } ' )
127+ print (f'Skipping { dirname } ' )
119128
120129 f = open (predictions_info_file , 'w' )
121130 for line in predictions_info_list :
0 commit comments