def test_0(regtest): p_values = np.linspace(0.0, 1., 50) p_values = np.append(p_values, np.linspace(1.0 - 0.0001, 1.0, 50)) df = get_error_table_from_pvalues_new(p_values, use_pfdr=False).df print("without correction", file=regtest) print(df.head(), file=regtest) print(df.tail(), file=regtest) df = get_error_table_from_pvalues_new(p_values, use_pfdr=True).df # we should see non nan here for FDR: print("with correction", file=regtest) print(df.head(), file=regtest) print(df.tail(), file=regtest)
num_pos = m - num_negs pp = num_pos / float(m) qvalues = np.ones(m) qvalues[0] = pFDR[0] for i in range(m-1): qvalues[i+1] = min(qvalues[i], pFDR[i+1]) sens = ((1.0 - qvalues) * num_pos) / num_alt sens[sens > 1.0] = 1.0 df = pd.DataFrame(dict( pvalue=pvalues, qvalue=qvalues, FDR=pFDR, percentile_positive=pp, sens=sens )) df["svalue"] = df.sens[::-1].cummax()[::-1] return df, num_null, m errstat = get_error_table_from_pvalues_new(p_values, 0.4, True) fdr_pyprophet = errstat.df["FDR"] df, __, __ = calc(p_values, 0.4) fdr_storey = df["FDR"] fdrs = pd.DataFrame(dict(fdr_pp=fdr_pyprophet, fdr_storey=fdr_storey)) print(fdrs[:34]) print(fdrs[:])
num_pos = m - num_negs pp = num_pos / float(m) qvalues = np.ones(m) qvalues[0] = pFDR[0] for i in range(m - 1): qvalues[i + 1] = min(qvalues[i], pFDR[i + 1]) sens = ((1.0 - qvalues) * num_pos) / num_alt sens[sens > 1.0] = 1.0 df = pd.DataFrame( dict(pvalue=pvalues, qvalue=qvalues, FDR=pFDR, percentile_positive=pp, sens=sens)) df["svalue"] = df.sens[::-1].cummax()[::-1] return df, num_null, m errstat = get_error_table_from_pvalues_new(p_values, 0.4, True) fdr_pyprophet = errstat.df["FDR"] df, __, __ = calc(p_values, 0.4) fdr_storey = df["FDR"] fdrs = pd.DataFrame(dict(fdr_pp=fdr_pyprophet, fdr_storey=fdr_storey)) print(fdrs[:34]) print(fdrs[:])