import os import sys import numpy import scipy.ndimage from sets import Set import json import os from scipy import spatial import theano from atom_res_dict import * from generate_backbone_box_20A import * def pocket_pts_to_backbone_box(pts_list,input_dir,pdb_dir,max_nodes_in_poc=50): pocket_valid=True all_pocket=[] dat_num=0 for fn in pts_list: FV=[] PDB_ID = fn[0:4] f = open(os.path.join(input_dir,fn)) infile=list(f) for line in infile: S=line.split() if S!=[]: PDB_ID = S[0] label= int(S[-1]) pos=[float(S[1]),float(S[2]),float(S[3])] pos=numpy.array(pos) X, valid = cut_box(PDB_ID, pos, pdb_dir) if valid: FV.append((X,pos,label)) else: pocket_valid=False return all_pocket, pocket_valid f.close() num_res_in_poc = len(FV) if num_res_in_poc > max_nodes_in_poc: return all_pocket, False if num_res_in_pocbox_x_min),numpy.where(transformed_pos[:,0]box_y_min),numpy.where(transformed_pos[:,1]box_z_min),numpy.where(transformed_pos[:,2]