|
1 | 1 | import unittest |
2 | | -import cmapPy.pandasGEXpress.setup_GCToo_logger as setup_logger |
3 | 2 | import logging |
4 | 3 | import pandas as pd |
5 | | -import sys |
| 4 | +import cmapPy.pandasGEXpress.setup_GCToo_logger as setup_logger |
6 | 5 | import cmapPy.math.robust_zscore as robust_zscore |
7 | 6 |
|
8 | 7 | logger = logging.getLogger(setup_logger.LOGGER_NAME) |
9 | 8 |
|
10 | 9 | test_mat = pd.DataFrame({'A':[4,2,3], 'B': [2,8,6], 'C': [6,5,9], 'D': [5,2,1]}) |
11 | 10 | test_ctl_mat = pd.DataFrame({'E':[8,8,6], 'F': [7,6,6]}) |
| 11 | +test_ctl_mat2 = pd.DataFrame({'E':[8,8,6], 'F': [8,6,6]}) |
| 12 | + |
12 | 13 |
|
13 | 14 | class TestRobustZscore(unittest.TestCase): |
14 | 15 | def test_zscore_pc(self): |
15 | | - pc_zscores = robust_zscore.calc_zscore(test_mat) |
16 | | - self.assertTrue(pc_zscores.shape == (3,4)) |
| 16 | + pc_zscores = robust_zscore.robust_zscore(test_mat) |
| 17 | + self.assertTrue(pc_zscores.shape == (3, 4)) |
17 | 18 |
|
18 | | - pd.util.testing.assert_frame_equal(pc_zscores, pd.DataFrame({'A': [-0.3372, -0.6745, -0.4047], |
19 | | - 'B': [-1.6862, 2.0235, 0.4047], |
20 | | - 'C': [1.0117, 0.6745, 1.2141], |
21 | | - 'D': [0.3372, -0.6745, -0.9443]})) |
| 19 | + pd.util.testing.assert_frame_equal(pc_zscores, pd.DataFrame( |
| 20 | + {'A': [-0.3372, -0.6745, -0.4047], |
| 21 | + 'B': [-1.6862, 2.0235, 0.4047], |
| 22 | + 'C': [1.0117, 0.6745, 1.2141], |
| 23 | + 'D': [0.3372, -0.6745, -0.9443]})) |
22 | 24 |
|
23 | 25 | def test_zscore_vc(self): |
24 | | - vc_zscores = robust_zscore.calc_zscore(test_mat, ctrl_mat = test_ctl_mat) |
| 26 | + vc_zscores = robust_zscore.robust_zscore(test_mat, ctrl_mat=test_ctl_mat) |
25 | 27 | self.assertTrue(vc_zscores.shape == (3, 4)) |
26 | | - pd.util.testing.assert_frame_equal(vc_zscores, pd.DataFrame({'A': [-4.7214, -3.3725, -20.2347], |
27 | | - 'B': [-7.4194, 0.6745, 0.0], |
28 | | - 'C': [-2.0235, -1.349, 20.2347], |
29 | | - 'D': [-3.3725, -3.3725, -33.7245]})) |
| 28 | + pd.util.testing.assert_frame_equal(vc_zscores, pd.DataFrame( |
| 29 | + {'A': [-4.7214, -3.3725, -20.2347], |
| 30 | + 'B': [-7.4194, 0.6745, 0.0], |
| 31 | + 'C': [-2.0235, -1.349, 20.2347], |
| 32 | + 'D': [-3.3725, -3.3725, -33.7245]})) |
| 33 | + |
| 34 | + # check that min_mad works |
| 35 | + vc_zscores2 = robust_zscore.robust_zscore(test_mat, ctrl_mat=test_ctl_mat2) |
| 36 | + self.assertEqual(vc_zscores2.iloc[0, 0], -26.9796) |
| 37 | + self.assertEqual(vc_zscores2.iloc[1, 1], 0.6745) |
| 38 | + |
| 39 | +if __name__ == "__main__": |
| 40 | + setup_logger.setup(verbose=True) |
| 41 | + unittest.main() |
0 commit comments