def checkResults( self, csv_file, value_file, method, arity_lim, log_file, true_k, true_lam, true_comb_list, alternative ): fw = open( RESULT_FILE, 'a+' ) sys.stdout = fw enrich_lst, k, lam, columnid2name \ = lamp.run( csv_file, value_file, self.sig_level, method, None, arity_lim, log_file, alternative ) sys.stdout.write("\n\n") sys.stdout = sys.__stdout__ fw.close() sys.stderr.write("check minimum support...") self.assertEqual(lam, true_lam) sys.stderr.write("check correction factor...") self.assertEqual(k, true_k) sys.stderr.write("\n") sys.stderr.write("check the significance combinations...\n") for comb in enrich_lst: detect_set = set() for i in comb[0]: detect_set.add( columnid2name[i-1] ) flag = False; true_comb = set(); true_p = -1; true_support = 0; true_score = -1 for true_comb, true_p, true_support, true_score in true_comb_list: if detect_set.issubset( true_comb ) and true_comb.issubset( detect_set ): flag = True break print comb self.assertTrue( flag ) self.assertAlmostEqual( comb[1], true_p ) self.assertEqual( comb[2], true_support ) self.assertAlmostEqual( comb[3], true_score ) self.assertEqual( len(enrich_lst), len(true_comb_list) )
def testUTest(self): d = datetime.datetime.today() log_file = "lamp_testutest_log_" + d.strftime("%Y%m%d") + "_" + d.strftime("%H%M%S") + ".txt" true_k = 5; true_p = 0.00602414187918; true_zscore = 2.510727 true_comb = set(["TF1", "TF2", "TF3"]) enrich_lst, k, columnid2name \ = lamp.run( self.csv_file, self.value_file, self.sig_level, "u_test", None, -1, log_file, ',' ) sys.stderr.write("check correction factor...") self.assertAlmostEqual(k, true_k) sys.stderr.write("\n") sys.stderr.write("check the significance combinations...\n") for comb in enrich_lst: sys.stderr.write(" check combination name...") detect_set = set() for i in comb[0]: detect_set.add( columnid2name[i-1] ) flag = detect_set.issubset( true_comb ) and true_comb.issubset( detect_set ) self.assertTrue( flag ) sys.stderr.write("\n") sys.stderr.write(" check U-value..") self.assertAlmostEqual( comb[3], true_zscore ) sys.stderr.write("\n") sys.stderr.write(" check P-value..") self.assertAlmostEqual( comb[1], true_p )
def testUTest(self): d = datetime.datetime.today() log_file = "lamp_testutest_log_" + d.strftime( "%Y%m%d") + "_" + d.strftime("%H%M%S") + ".txt" true_k = 5 true_p = 0.00602414187918 true_zscore = 2.510727 true_comb = set(["TF1", "TF2", "TF3"]) enrich_lst, k, columnid2name \ = lamp.run( self.csv_file, self.value_file, self.sig_level, "u_test", None, -1, log_file, ',' ) sys.stderr.write("check correction factor...") self.assertAlmostEqual(k, true_k) sys.stderr.write("\n") sys.stderr.write("check the significance combinations...\n") for comb in enrich_lst: sys.stderr.write(" check combination name...") detect_set = set() for i in comb[0]: detect_set.add(columnid2name[i - 1]) flag = detect_set.issubset(true_comb) and true_comb.issubset( detect_set) self.assertTrue(flag) sys.stderr.write("\n") sys.stderr.write(" check U-value..") self.assertAlmostEqual(comb[3], true_zscore) sys.stderr.write("\n") sys.stderr.write(" check P-value..") self.assertAlmostEqual(comb[1], true_p)