def test_hommel(): #tested agains R stats p_adjust(pval0, method='hommel') pval0 = np.array( [ 0.00116, 0.00924, 0.01075, 0.01437, 0.01784, 0.01918, 0.02751, 0.02871, 0.03054, 0.03246, 0.04259, 0.06879, 0.0691 , 0.08081, 0.08593, 0.08993, 0.09386, 0.09412, 0.09718, 0.09758, 0.09781, 0.09788, 0.13282, 0.20191, 0.21757, 0.24031, 0.26061, 0.26762, 0.29474, 0.32901, 0.41386, 0.51479, 0.52461, 0.53389, 0.56276, 0.62967, 0.72178, 0.73403, 0.87182, 0.95384]) result_ho = np.array( [ 0.0464 , 0.25872 , 0.29025 , 0.3495714285714286, 0.41032 , 0.44114 , 0.57771 , 0.60291 , 0.618954 , 0.6492 , 0.7402725000000001, 0.86749 , 0.86749 , 0.8889100000000001, 0.8971477777777778, 0.8993 , 0.9175374999999999, 0.9175374999999999, 0.9175374999999999, 0.9175374999999999, 0.9175374999999999, 0.9175374999999999, 0.95384 , 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001]) rej, pvalscorr, _, _ = multipletests(pval0, alpha=0.1, method='ho') assert_almost_equal(pvalscorr, result_ho, 15) assert_equal(rej, result_ho < 0.1) #booleans
def test_hommel(): #tested agains R stats p_adjust(pval0, method='hommel') pval0 = np.array([ 0.00116, 0.00924, 0.01075, 0.01437, 0.01784, 0.01918, 0.02751, 0.02871, 0.03054, 0.03246, 0.04259, 0.06879, 0.0691, 0.08081, 0.08593, 0.08993, 0.09386, 0.09412, 0.09718, 0.09758, 0.09781, 0.09788, 0.13282, 0.20191, 0.21757, 0.24031, 0.26061, 0.26762, 0.29474, 0.32901, 0.41386, 0.51479, 0.52461, 0.53389, 0.56276, 0.62967, 0.72178, 0.73403, 0.87182, 0.95384 ]) result_ho = np.array([ 0.0464, 0.25872, 0.29025, 0.3495714285714286, 0.41032, 0.44114, 0.57771, 0.60291, 0.618954, 0.6492, 0.7402725000000001, 0.86749, 0.86749, 0.8889100000000001, 0.8971477777777778, 0.8993, 0.9175374999999999, 0.9175374999999999, 0.9175374999999999, 0.9175374999999999, 0.9175374999999999, 0.9175374999999999, 0.95384, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001, 0.9538400000000001 ]) rej, pvalscorr, _, _ = multipletests(pval0, alpha=0.1, method='ho') assert_almost_equal(pvalscorr, result_ho, 15) assert_equal(rej, result_ho < 0.1) #booleans
def test_multi_pvalcorrection(): #test against R package multtest mt.rawp2adjp #because of sort this doesn't check correct sequence - TODO: rewrite DONE rmethods = { 'rawp': (0, 'pval'), 'Bonferroni': (1, 'b'), 'Holm': (2, 'h'), 'Hochberg': (3, 'sh'), 'SidakSS': (4, 's'), 'SidakSD': (5, 'hs'), 'BH': (6, 'fdr_i'), 'BY': (7, 'fdr_n') } for k, v in rmethods.items(): if v[1] in ['b', 's', 'sh', 'hs', 'h', 'fdr_i', 'fdr_n']: #pvalscorr = np.sort(multipletests(pval0, alpha=0.1, method=v[1])[1]) r_sortindex = [6, 8, 9, 7, 5, 1, 2, 4, 0, 3] pvalscorr = multipletests(pval0, alpha=0.1, method=v[1])[1][r_sortindex] assert_almost_equal(pvalscorr, res_multtest[:, v[0]], 15) pvalscorr = np.sort(fdrcorrection0(pval0, method='n')[1]) assert_almost_equal(pvalscorr, res_multtest[:, 7], 15) pvalscorr = np.sort(fdrcorrection0(pval0, method='i')[1]) assert_almost_equal(pvalscorr, res_multtest[:, 6], 15)
def test_multi_pvalcorrection(): #test against R package multtest mt.rawp2adjp #because of sort this doesn't check correct sequence - TODO: rewrite DONE rmethods = {'rawp':(0,'pval'), 'Bonferroni':(1,'b'), 'Holm':(2,'h'), 'Hochberg':(3,'sh'), 'SidakSS':(4,'s'), 'SidakSD':(5,'hs'), 'BH':(6,'fdr_i'), 'BY':(7,'fdr_n')} for k,v in rmethods.items(): if v[1] in ['b', 's', 'sh', 'hs', 'h', 'fdr_i', 'fdr_n']: #pvalscorr = np.sort(multipletests(pval0, alpha=0.1, method=v[1])[1]) r_sortindex = [6, 8, 9, 7, 5, 1, 2, 4, 0, 3] pvalscorr = multipletests(pval0, alpha=0.1, method=v[1])[1][r_sortindex] assert_almost_equal(pvalscorr, res_multtest[:,v[0]], 15) pvalscorr = np.sort(fdrcorrection0(pval0, method='n')[1]) assert_almost_equal(pvalscorr, res_multtest[:,7], 15) pvalscorr = np.sort(fdrcorrection0(pval0, method='i')[1]) assert_almost_equal(pvalscorr, res_multtest[:,6], 15)