import numpy Method = 'FEATURE_SVM' all_pos_prob = numpy.load("../results/prob_scores/"+Method+"/prob_y.dat")[:,1] all_y_true = numpy.load("../results/prob_scores/"+Method+"/true_y.dat") pos_ff_file = open('../data/ATP_ff/test.ff') neg_ff_file = open('../data/ATP_ff/test_neg.ff') pos_ff_list = list(pos_ff_file) neg_ff_list = list(neg_ff_file) for line in pos_ff_list: if line[0:4]=='Env_': ele=line.split() PDB_ID = ele[0].split('_')[1] x_=float(ele[-10]) y_=float(ele[-9]) z_=float(ele[-8]) res = ele[-2] res_no = ele[-1] chain = ele[-6] for line in neg_ff_list: if line[0:4]=='Env_': ele=line.split() PDB_ID = ele[0].split('_')[1] x_=float(ele[-10]) y_=float(ele[-9]) z_=float(ele[-8]) res = ele[-2] res_no = ele[-1] chain = ele[-6] pos_ptf_list = list(open('../data/ATP_ff/'+'test_pos_ff_order.ptf')) neg_ptf_list = list(open('../data/ATP_ff/'+'test_neg_ff_order.ptf')) combined_list = pos_ptf_list + neg_ptf_list PDB_dict = {} for i in range(all_pos_prob.shape[0]): prob = all_pos_prob[i] line = combined_list[i] ele = line.split() PDB_ID = ele[0] x_ = float(ele[1]) y_ = float(ele[2]) z_ = float(ele[3]) chain = ele[5] res = ele[-2] res_no = int(ele[-1]) if PDB_ID not in PDB_dict: PDB_dict[PDB_ID]={} PDB_dict[PDB_ID][(res,chain,res_no)]=prob for PDB_ID in PDB_dict: print PDB_ID pdb_file = open('../data/ATP_PDB/test/'+PDB_ID.lower()+'.pdb') out_file = open('../results/test_detect/'+PDB_ID.lower()+'_'+Method+'.pdb','w') for line1 in pdb_file: line=line1.split() if line[0]=="ATOM": atom=(line1[13:16].strip(' ')) res=(line1[17:20]) chain_ID=line1[21:26] chain=chain_ID[0] res_no=chain_ID[1:].strip(' ') res_no=int(res_no) chain_ID=(chain,res_no) if (res,chain,res_no) in PDB_dict[PDB_ID].keys(): out_file.write(line1[0:60]+'\t'+str("%.2f" % PDB_dict[PDB_ID][(res,chain,res_no)]).rjust(6)+' '+str(atom[0])+'\n') if line[0]=="ENDMDL": break