Пример #1
0
	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) )
Пример #2
0
	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 )
Пример #3
0
    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)