def main(para): known = [] known += get_dock_list("set1_all.txt") known += get_dock_list("set2_all.txt") known += get_dock_list("set3_top3.txt") gs_set = [] with open("../data/GSset_docking.txt", "r") as infile: for line in infile: p1, p2 = line.strip().split() show(p1) show(p2) for P1, P2, PDB1, CH1, PDB2, CH2, Mark in known: if p1 == P1 and p2 == P2: gs_set.append((P1, P2, PDB1, CH1, PDB2, CH2)) show([PDB1, CH1, PDB2, CH2]) break elif p1 == P2 and p2 == P1: gs_set.append((P2, P1, PDB2, CH2, PDB1, CH1)) show([PDB2, CH2, PDB1, CH1]) break show() show("We have\t%s\tknown docking pairs.\n" % len(gs_set)) if not os.path.exists("GSset"): os.mkdir("GSset") from use_dock import UseZDOCK for p1, p2, pdb1, ch1, pdb2, ch2 in gs_set: dock1 = UseZDOCK(temp_path="GSset/%s_%s" % (p1, p2), pool_path="../data/dock_pool") dock1.prepare_data(pdb1, ch1, pdb2, ch2) dock1.dock_them(10) dock1.generate_complex(10)
def main(para): known = [] known += get_dock_list('set1_all.txt') known += get_dock_list('set2_all.txt') known += get_dock_list('set3_top3.txt') gs_set = [] with open('../data/GSset_docking.txt', 'r') as infile: for line in infile: p1, p2 = line.strip().split() show(p1) show(p2) for P1, P2, PDB1, CH1, PDB2, CH2, Mark in known: if p1 == P1 and p2 == P2: gs_set.append((P1, P2, PDB1, CH1, PDB2, CH2)) show([PDB1, CH1, PDB2, CH2]) break elif p1 == P2 and p2 == P1: gs_set.append((P2, P1, PDB2, CH2, PDB1, CH1)) show([PDB2, CH2, PDB1, CH1]) break show() show('We have\t%s\tknown docking pairs.\n' % len(gs_set)) if not os.path.exists('GSset'): os.mkdir('GSset') from use_dock import UseZDOCK for p1, p2, pdb1, ch1, pdb2, ch2 in gs_set: dock1 = UseZDOCK(temp_path='GSset/%s_%s' % (p1, p2), pool_path='../data/dock_pool') dock1.prepare_data(pdb1, ch1, pdb2, ch2) dock1.dock_them(10) dock1.generate_complex(10)
def save_all_files(info, pdb1, ch1, pdb2, ch2, sol_num=5, dock_pool='.'): from use_dock import UseZDOCK dock = UseZDOCK(pool_path=dock_pool) area_file = dock_area(dock, info, pdb1, ch1, pdb2, ch2, sol_num, skip=False)[0][0] rcf_file = zdock_rcf(info, pdb1, ch1, pdb2, ch2, sol_num, dock_pool)[0][0] f1 = feature_rcf(info, area_file, rcf_file) f2 = feature_area(info, area_file, sol_num) f3 = feature_residue(info, area_file) if f1 == [] or f2 == [] or f3 == []: dock.clean_temp_path() return [] dock.prepare_data(pdb1, ch1, pdb2, ch2) if not os.path.exists('zdock_pool'): os.mkdir('zdock_pool') if not os.path.exists('zdock_pdbs'): os.mkdir('zdock_pdbs') if not os.path.exists('zdock_pool/'+dock.solution.split('/')[-1]): ## check one sfiles = dock.generate_complex(sol_num) from shutil import copy copy(dock.solution, 'zdock_pool/'+dock.solution.split('/')[-1]) copy(area_file, 'zdock_pool/'+area_file.split('/')[-1]) copy(rcf_file, 'zdock_pool/'+rcf_file.split('/')[-1]) for i in xrange(sol_num): copy(sfiles[i], 'zdock_pdbs/%s-%s-%s-%s-ZDOCK-%d.pdb'%(pdb1,ch1,pdb2,ch2,i+1)) # break ## save only one for now dock.clean_temp_path() return [a1+a2[1:]+a3[1:] for a1,a2,a3 in zip(f1,f2,f3)]