Esempio n. 1
0
def InteractionNetworkFidelity(native_file, native_index, prediction_file,
                               prediction_index):
    res_struct = pdb_utils.PDBStruct()
    res_struct.load(native_file, native_index)
    res_raw_seq = res_struct.raw_sequence()

    sol_struct = pdb_utils.PDBStruct()
    sol_struct.load(prediction_file, prediction_index)
    sol_raw_seq = sol_struct.raw_sequence()

    if (sol_raw_seq != res_raw_seq):
        sys.stderr.write("ERROR Result sequence != Solution sequence!\n")
        sys.stderr.write("DATA Solution sequence --> '%s'\n" % sol_raw_seq)
        sys.stderr.write("DATA Result sequence   --> '%s'\n" % res_raw_seq)
        return (-1)
    # computes the RMSD
    comparer = pdb_utils.PDBComparer()
    rmsd = comparer.rmsd(sol_struct, res_struct)
    INF_ALL = comparer.INF(sol_struct, res_struct, type="ALL")
    DI_ALL = rmsd / INF_ALL
    INF_WC = comparer.INF(sol_struct, res_struct, type="PAIR_2D")
    INF_NWC = comparer.INF(sol_struct, res_struct, type="PAIR_3D")
    INF_STACK = comparer.INF(sol_struct, res_struct, type="STACK")
    # return (rmsd,DI_ALL, INF_ALL, INF_WC, INF_NWC,INF_STACK)
    return (rmsd, DI_ALL, INF_ALL)
Esempio n. 2
0
def calc_RMSD(native_file,
              native_index,
              prediction_file,
              prediction_index,
              PVALUE="-"):
    res_struct = pdb_utils.PDBStruct()
    res_struct.load(native_file, native_index)
    res_raw_seq = res_struct.raw_sequence()

    sol_struct = pdb_utils.PDBStruct()
    sol_struct.load(prediction_file, prediction_index)
    sol_raw_seq = sol_struct.raw_sequence()

    if (sol_raw_seq != res_raw_seq):
        sys.stderr.write("ERROR Result sequence != Solution sequence!\n")
        sys.stderr.write("DATA Solution sequence --> '%s'\n" % sol_raw_seq)
        sys.stderr.write("DATA Result sequence   --> '%s'\n" % res_raw_seq)
        return (-1)
    # computes the RMSD
    comparer = pdb_utils.PDBComparer()
    rmsd = comparer.rmsd(sol_struct, res_struct)
    sys.stderr.write("INFO Partial RMSD --> %f\n" % rmsd)
    pvalue = comparer.pvalue(rmsd, len(sol_raw_seq), PVALUE)
    sys.stderr.write("INFO Partial P-Value --> %e\n" % pvalue)
    return (rmsd, pvalue)