コード例 #1
0
ファイル: identify_interface.py プロジェクト: bioragul/ddg
def get_close_residues_dict():
    if os.path.isfile('.close_residues.pickle'):
        with open('.close_residues.pickle', 'r') as f:
            return pickle.load(f)

    mut_data_dict = setup_alanine_scanning.parse_mutations_file()
    close_residues_dict = {}
    for pdb_id in mut_data_dict:
        mut_data = mut_data_dict[pdb_id]

        for i, pdb_res in enumerate(mut_data.pdb_res_list):
            insertion_code = mut_data.insertion_code_list[i]
            chain = mut_data.chain_list[i]
            close_residues = find_resnums_around_mutation(pdb_id, int(pdb_res), insertion_code, chain)

            print 'Mutation %s:%d%s has %d residues within %.1f angstroms' % (pdb_id, pdb_res, insertion_code, len(close_residues), cutoff_dist)

            if pdb_id not in close_residues_dict:
                close_residues_dict[pdb_id] = {}
            reskey = (pdb_res, chain, insertion_code)
            assert( reskey not in close_residues_dict[pdb_id] )
            close_residues_dict[pdb_id][reskey] = close_residues

    with open('.close_residues.pickle', 'w') as f:
        pickle.dump(close_residues_dict, f)

    return close_residues_dict
コード例 #2
0
ファイル: identify_interface.py プロジェクト: ajasja/ddg
def get_close_residues_dict():
    if os.path.isfile('.close_residues.pickle'):
        with open('.close_residues.pickle', 'rb') as f:
            return pickle.load(f)

    mut_data_dict = setup_alanine_scanning.parse_mutations_file()
    close_residues_dict = {}
    for pdb_id in mut_data_dict:
        mut_data = mut_data_dict[pdb_id]

        for i, pdb_res in enumerate(mut_data.pdb_res_list):
            insertion_code = mut_data.insertion_code_list[i]
            chain = mut_data.chain_list[i]
            close_residues = find_resnums_around_mutation(
                pdb_id, int(pdb_res), insertion_code, chain)

            print('Mutation %s:%d%s has %d residues within %.1f angstroms' %
                  (pdb_id, pdb_res, insertion_code, len(close_residues),
                   cutoff_dist))

            if pdb_id not in close_residues_dict:
                close_residues_dict[pdb_id] = {}
            reskey = (pdb_res, chain, insertion_code)
            assert (reskey not in close_residues_dict[pdb_id])
            close_residues_dict[pdb_id][reskey] = close_residues

    with open('.close_residues.pickle', 'wb') as f:
        pickle.dump(close_residues_dict, f)

    return close_residues_dict
コード例 #3
0
def get_mutations_data_from_pdb_dict(pdb_data_dict, PDBPosID):
    for m in pdb_data_dict.values():
        if PDBPosID in m.PDBPosID_list:
            return m
    raise Exception("Couldn't match ID %s" % str(PDBPosID))

if __name__ == '__main__':

    parser = argparse.ArgumentParser()
    parser.add_argument('output_dirs',
                        nargs='*',
                        help = 'Output directories')
    args = parser.parse_args()

    mutations_data = parse_mutations_file()

    for output_dir in args.output_dirs:

        analysis_output_dir = os.path.join(global_analysis_output_dir, os.path.basename(output_dir))
        if not os.path.isdir(analysis_output_dir):
            os.makedirs(analysis_output_dir)

        assert( os.path.isdir(output_dir) )
        job_pickle_file = os.path.join(
            output_dir, pickle_name
        )
        
        with open(job_pickle_file,'r') as p:
            job_dict = pickle.load(p)