def get_qFDR(p): """Calculate the q-values using FDR correction""" n = len(p) q = np.zeros((n,n)) for i in range(n): tmp = p[i] # hide the element refereing to i,i comparision tmp[i]=np.nan _,qTmp,_ = statsUtil.fdr_bh(tmp) q[i] = qTmp return(q)
def getImpInfo(outDir, labels, name="fullACEImpResults.dat"): """Get the importance scores, the p-values and the q-values for the importance score run results in indicated outDir. Scores are returned in the same order as labels.""" # get data impPath = outDir + "/" + name data = np.loadtxt(impPath, dtype=str, delimiter="\t") pTmp = np.array(data[:, 2], dtype=float) impTmp = np.array(data[:, 3], dtype=float) labelsTmp = data[:, 1] # arrange data _, qTmp, _ = statsUtil.fdr_bh(pTmp) # rearange n = len(labels) p = np.zeros(n) + np.nan q = np.zeros(n) + np.nan imp = np.zeros(n) + np.nan m = len(labelsTmp) for i in range(m): p[labels == labelsTmp[i]] = pTmp[i] q[labels == labelsTmp[i]] = qTmp[i] imp[labels == labelsTmp[i]] = impTmp[i] return (imp, p, q)