Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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)]