From 5a8f4f3c85be4645c9a918bc25397170f4370341 Mon Sep 17 00:00:00 2001 From: Muriithi Frederick Muriuki Date: Tue, 20 Jul 2021 14:13:21 +0300 Subject: Add test for code to move over from GN1 Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/clustering.gmi * .gitignore: ignore emacs temporary files * gn3/computations/correlations2.py: add a dummy function * tests/unit/computations/test_correlation.py: add unit tests for the function As part of the move of the clustering and heatmap code over from GN1 to GN3, this commit begins by providing some unit tests for the correlation function used to ensure that the implementation that is built up here corresponds, and produces the same results as the original. This tests and the function might change in the new system, but for now, we try and maintain bug-to-bug compatibility. --- .gitignore | 3 +++ gn3/computations/correlations2.py | 4 ++++ tests/unit/computations/test_correlation.py | 26 ++++++++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 gn3/computations/correlations2.py diff --git a/.gitignore b/.gitignore index 5b9ff95..c5cf3e2 100644 --- a/.gitignore +++ b/.gitignore @@ -179,3 +179,6 @@ dmypy.json # Pyre type checker .pyre/ + +# emacs temporary files +/**/*~ \ No newline at end of file diff --git a/gn3/computations/correlations2.py b/gn3/computations/correlations2.py new file mode 100644 index 0000000..193f646 --- /dev/null +++ b/gn3/computations/correlations2.py @@ -0,0 +1,4 @@ +## From GN1: mostly for clustering and heatmap generation + +def compute_correlation(dbdata, userdata): + return tuple() diff --git a/tests/unit/computations/test_correlation.py b/tests/unit/computations/test_correlation.py index b1bc6ef..6153c8a 100644 --- a/tests/unit/computations/test_correlation.py +++ b/tests/unit/computations/test_correlation.py @@ -19,6 +19,7 @@ from gn3.computations.correlations import compute_all_lit_correlation from gn3.computations.correlations import compute_all_tissue_correlation from gn3.computations.correlations import map_shared_keys_to_values from gn3.computations.correlations import process_trait_symbol_dict +from gn3.computations.correlations2 import compute_correlation class QueryableMixin: @@ -464,3 +465,28 @@ class TestCorrelation(TestCase): trait_symbol_dict, tissue_values_dict) self.assertEqual(results, [expected_results]) + + def test_compute_correlation(self): + for dbdata,userdata,expected in [ + [[None,None,None,None,None,None,None,None,None,None], + [None,None,None,None,None,None,None,None,None,None], + (0.0, 0)], + [[None,None,None,None,None,None,None,None,None,0], + [None,None,None,None,None,None,None,None,None,None], + (0.0, 0)], + [[None,None,None,None,None,None,None,None,None,0], + [None,None,None,None,None,None,None,None,None,0], + (0.0, 1)], + [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0], + (0, 10)], + [[9.87,9.87,9.87,9.87,9.87,9.87,9.87,9.87,9.87,9.87], + [9.87,9.87,9.87,9.87,9.87,9.87,9.87,9.87,9.87,9.87], + (0.9999999999999998, 10)], + [[9.3,2.2,5.4,7.2,6.4,7.6,3.8,1.8,8.4,0.2], + [0.6,3.97,5.82,8.21,1.65,4.55,6.72,9.5,7.33,2.34], + (-0.12720361919462056, 10)], + [[0,1,2,3,4,5,6,7,8,9], + [None,None,None,None,2,None,None,3,None,None], + (0.0, 2)]]: + with self.subTest(dbdata=dbdata, userdata=userdata): + self.assertEqual(compute_correlation(dbdata,userdata), expected) -- cgit v1.2.3