예제 #1
0
파일: lnr_ff.py 프로젝트: EricTing/script
def plotMccEnerRelation(complx_id):
    # loading
    weight_fn = "/work/jaydy/dat/08ff_opt"
    weight = np.loadtxt(weight_fn)
    # lnr_ff = Lnr_ff('08ff_all_decoy.h5', 'all_set')
    lnr_ff = Lnr_ff("all_decoy.h5", "all_set")
    all_set = lnr_ff.loadH5()

    mcc = all_set[:, 0]
    ener = all_set[:, 1:]
    total_ener = np.dot(ener, weight)

    mcc_total = np.column_stack((mcc, total_ener))

    # sampling
    sample_sz = 2000
    if sample_sz <= mcc_total.shape[0]:
        mcc_total = sortMccTotalByMcc(mcc_total)
        sampled_mcc_total = np.vstack(row for row in sampleMccTotalByMcc(mcc_total, sample_sz))
        mcc_total = sampled_mcc_total

    mcc, ener = mcc_total[:, 0], mcc_total[:, 1]

    # scatter_ofn = 'weighted_lnr' + '_scatter.pdf'
    scatter_ofn = complx_id + "_scatter.pdf"
    plot.scatter(mcc, ener, ofn=scatter_ofn, x_label="mcc", y_label="diff")

    # line_ofn = 'weighted_lnr' + '_line.pdf'
    line_ofn = complx_id + "_line.pdf"
    plot.two_scales(ener, mcc, ofn=line_ofn, right_label="ener", left_label="diff")