about summary refs log tree commit diff
path: root/wqflask/tests
diff options
context:
space:
mode:
authorzsloan2022-09-06 13:32:28 -0500
committerGitHub2022-09-06 13:32:28 -0500
commitd8bc7067b717e0b680d98b7cfcbc26c758a109bf (patch)
tree571677761b3bb464b55bc19f208f135214321ad2 /wqflask/tests
parente0626f40d8fe4fa83daba52b82c1b459b34b1849 (diff)
parent363237f11b9eb14f52c4f0c43a931c99c827c496 (diff)
downloadgenenetwork2-d8bc7067b717e0b680d98b7cfcbc26c758a109bf.tar.gz
Merge branch 'testing' into feature/generalize_tables
Diffstat (limited to 'wqflask/tests')
-rw-r--r--wqflask/tests/unit/wqflask/api/test_mapping.py13
-rw-r--r--wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py8
-rw-r--r--wqflask/tests/unit/wqflask/show_trait/test_export_trait_data.py140
3 files changed, 52 insertions, 109 deletions
diff --git a/wqflask/tests/unit/wqflask/api/test_mapping.py b/wqflask/tests/unit/wqflask/api/test_mapping.py
index 159c982b..006e9826 100644
--- a/wqflask/tests/unit/wqflask/api/test_mapping.py
+++ b/wqflask/tests/unit/wqflask/api/test_mapping.py
@@ -25,7 +25,9 @@ class TestMapping(unittest.TestCase):
             "maf": 0.01,
             "use_loco": True,
             "num_perm": 0,
-            "perm_check": False
+            "perm_check": False,
+            "transform": False,
+            "genofile": False
         }
 
         results = initialize_parameters(
@@ -40,8 +42,9 @@ class TestMapping(unittest.TestCase):
             "pair_scan": "true",
             "interval_mapping": "true",
             "use_loco": "true",
-            "num_perm": "14"
-
+            "num_perm": "14",
+            "transform": "qnorm",
+            "genofile": "BXD.8.geno"
         }
 
         results_2 = initialize_parameters(
@@ -53,7 +56,9 @@ class TestMapping(unittest.TestCase):
             "maf": 0.01,
             "use_loco": True,
             "num_perm": 14,
-            "perm_check": "ON"
+            "perm_check": "ON",
+            "transform": "qnorm",
+            "genofile": "BXD.8.geno"
         }
 
         self.assertEqual(results_2, expected_results)
diff --git a/wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py b/wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py
index 611c0d70..53d96d7f 100644
--- a/wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py
+++ b/wqflask/tests/unit/wqflask/marker_regression/test_gemma_mapping.py
@@ -165,12 +165,12 @@ X\tM5\t12\tQ\tE\tMMB\tR\t21.1\tW\t0.65\t0.6"""
                 this_dataset={}, gwa_output_filename=".xw/")
             expected_results = [
                 {'name': 'M1', 'chr': 'X/Y', 'Mb': 2.8457155e-05, 'p_value': 0.85,
-                 'additive': -23.3, 'lod_score': 0.07058107428570727},
+                 'additive': -11.65, 'lod_score': 0.07058107428570727},
                 {'name': 'M2', 'chr': 4, 'Mb': 1.2e-05, 'p_value': 0.5,
-                 'additive': -24.0, 'lod_score': 0.3010299956639812},
+                 'additive': -12.0, 'lod_score': 0.3010299956639812},
                 {'name': 'M4', 'chr': 'Y', 'Mb': 1.2e-05, 'p_value': 0.7,
-                 'additive': -11.6, 'lod_score': 0.1549019599857432},
-                {'name': 'M5', 'chr': 'X', 'Mb': 1.2e-05, 'p_value': 0.6, 'additive': -21.1, 'lod_score': 0.22184874961635637}]
+                 'additive': -5.8, 'lod_score': 0.1549019599857432},
+                {'name': 'M5', 'chr': 'X', 'Mb': 1.2e-05, 'p_value': 0.6, 'additive': -10.55, 'lod_score': 0.22184874961635637}]
             self.assertEqual(expected_results, results)
 
     @mock.patch("wqflask.marker_regression.gemma_mapping.TEMPDIR", "/home/tmp")
diff --git a/wqflask/tests/unit/wqflask/show_trait/test_export_trait_data.py b/wqflask/tests/unit/wqflask/show_trait/test_export_trait_data.py
index 41761944..fbe39f13 100644
--- a/wqflask/tests/unit/wqflask/show_trait/test_export_trait_data.py
+++ b/wqflask/tests/unit/wqflask/show_trait/test_export_trait_data.py
@@ -1,3 +1,4 @@
+import datetime
 import unittest
 from unittest import mock
 from wqflask.show_trait.export_trait_data import dict_to_sorted_list
@@ -13,116 +14,53 @@ class AttributesSetter:
 
 
 class TestExportTraits(unittest.TestCase):
-    """Test methods related to converting dict to sortedlist"""
-    @mock.patch("wqflask.show_trait.export_trait_data.create_trait")
-    @mock.patch("wqflask.show_trait.export_trait_data.data_set")
-    def test_get_export_metadata_no_publish(self, mock_dataset, mock_trait):
-        """test for exporting metadata with no publish"""
-        mock_dataset_attributes = AttributesSetter(
-            {"type": "no_publish", "dataset_name": "Temp", "name": "Temp"})
-
-        mock_nested_attributes = AttributesSetter({"name": "name"})
-        mock_dataset_attributes.group = mock_nested_attributes
-        mock_dataset.create_dataset.return_value = mock_dataset_attributes
-        mock_trait.return_value = AttributesSetter({"symbol": "", "description_display": "Description",
-                                                    "title": "research1", "journal": "", "authors": ""})
-
-        results = get_export_metadata("random_id", "Temp")
-        expected = [["Record ID: random_id"],
-                    ["Trait URL: http://genenetwork.org/show_trait?trait_id=random_id&dataset=Temp"],
-                    ["Dataset: Temp"],
-                    ["Group: name"], []]
-
-        mock_dataset.create_dataset.assert_called_with("Temp")
-        mock_trait.assert_called_with(
-            dataset=mock_dataset_attributes, name="random_id", cellid=None, get_qtl_info=False)
-        self.assertEqual(results, expected)
+    """Test methods for exporting traits and metadata"""
 
+    @mock.patch("wqflask.show_trait.export_trait_data.datetime")
     @mock.patch("wqflask.show_trait.export_trait_data.create_trait")
     @mock.patch("wqflask.show_trait.export_trait_data.data_set")
-    def test_get_export_metadata_with_publish(self, data_mock, trait_mock):
+    def test_get_export_metadata(self, data_mock, trait_mock, date_mock):
         """test for exporting metadata with dataset.type=Publish"""
-        mock_dataset_attributes = AttributesSetter({"type": "Publish", "dataset_name": "Temp",
-                                                    "name": "Temp", "description_display": "Description goes here"})
-
-        mock_nested_attributes = AttributesSetter({"name": "name"})
-        mock_dataset_attributes.group = mock_nested_attributes
-        data_mock.create_dataset.return_value = mock_dataset_attributes
-        trait_instance = AttributesSetter({"symbol": "", "description_display": "Description",
-                                           "title": "research1", "journal": "", "authors": ""})
-        trait_mock.return_value = trait_instance
+        mock_dataset = AttributesSetter({"type": "Publish",
+                                         "name": "HC_M2_0606_P",
+                                         "dataset_name": "HC_M2_0606_P"})
 
-        results = get_export_metadata(
-            "29ae0615-0d77-4814-97c7-c9e91f6bfd7b", "Temp")
+        mock_dataset.group = AttributesSetter({"name": "C"})
+        data_mock.create_dataset.return_value = mock_dataset
 
-        expected = [['Phenotype ID: 29ae0615-0d77-4814-97c7-c9e91f6bfd7b'],
-                    ['Phenotype URL: http://genenetwork.org/show_trait?trait_id=29ae0615-0d77-4814-97c7-c9e91f6bfd7b&dataset=Temp'], [
-                        'Group: name'], ['Phenotype: Description'],
-                    ['Authors: N/A'], ['Title: research1'],
-                    ['Journal: N/A'], ['Dataset Link: http://gn1.genenetwork.org/webqtl/main.py?FormID=sharinginfo&InfoPageName=Temp'], []]
+        trait_data = {
+            "symbol": "Nr3c1",
+            "description_display": "nuclear receptor subfamily 3,group C, member 1 (glucocorticoid receptor); distal 3' UTR",
+            "title": "Trait_1 title",
 
-        self.assertEqual(results, expected)
+            "authors": "XL_1",
+            "journal": ""
 
-    @mock.patch("wqflask.show_trait.export_trait_data.dict_to_sorted_list")
-    @mock.patch("wqflask.show_trait.export_trait_data.get_export_metadata")
-    def test_export_sample_table(self, exp_metadata, dict_list):
-        """test for  exporting sample table"""
-        targs_obj = {
-            "export_data": """{
-                "primary_samples": [
-                    {
-                        "other": "germanotta",
-                        "name": "Sauroniops",
-                        "se":{
-                        "name":"S2"
-                        },
-                        "num_cases":{
-                        "k1":"value"
-
-                        }
-                    }
-                ],
-                "other_samples": [
-                    {
-                        "se": 1,
-                        "num_cases": 4,
-                        "value": 6,
-                        "name": 3
-                    }
-                ]
-            }""",
-            "trait_display_name": "Hair_color",
-            "trait_id": "23177fdc-312e-4084-ad0c-f3eae785fff5",
-            "dataset": {
-            }
         }
-        exp_metadata.return_value = [
-            ["Phenotype ID:0a2be192-57f5-400b-bbbd-0cf50135995f"], ['Group:gp1'],
-            ["Phenotype:p1"], [
-                "Authors:N/A"],
-            ["Title:research1"],
-            ["Journal:N/A"],
-            ["Dataset Link: http://gn1.genenetwork.org/webqtl/main.py?FormID=sharinginfo&InfoPageName=name1"], []]
-        expected = ('Hair_color',
-                    [['Phenotype ID:0a2be192-57f5-400b-bbbd-0cf50135995f'],
-                     ['Group:gp1'],
-                     ['Phenotype:p1'],
-                     ['Authors:N/A'],
-                     ['Title:research1'],
-                     ['Journal:N/A'],
-                     ['Dataset Link: '
-                      'http://gn1.genenetwork.org/webqtl/main.py?FormID=sharinginfo&InfoPageName=name1'],
-                     [],
-                     ['Name', 'Value', 'SE', 'N'],
-                     ['Sauroniops', 'germanotta'],
-                     [3, 6, 1, 4]])
-
-        dict_list.side_effect = [['Sauroniops', 'germanotta'], [3, 6, 1, 4]]
-
-        self.assertEqual(export_sample_table(targs_obj), expected)
-        exp_metadata.assert_called_with(
-            "23177fdc-312e-4084-ad0c-f3eae785fff5", {})
-        self.assertEqual(dict_list.call_count, 2)
+
+        date_mock.datetime.now.return_value = datetime.datetime(
+            2022, 8, 8, 19, 2, 31, 628813)
+        trait_mock.return_value = AttributesSetter(trait_data)
+
+        results = get_export_metadata({
+            "trait_id": "1460303_at",
+            "trait_display_name": "1460303_at",
+            "dataset": "HC_M2_0606_P"
+        })
+
+        expected = [["Phenotype ID:", "1460303_at"],
+                    ["Phenotype URL: ", "http://genenetwork.org/show_trait?trait_id=1460303_at&dataset=HC_M2_0606_P"],
+                    ["Group: ", "C"],
+                    ["Phenotype: ",
+                        'nuclear receptor subfamily 3","group C"," member 1 (glucocorticoid receptor); distal 3\' UTR'],
+                    ["Authors: ", "XL_1"],
+                    ["Title: ", "Trait_1 title"],
+                    ["Journal: ", "N/A"],
+                    ["Dataset Link: ", "http://gn1.genenetwork.org/webqtl/main.py?FormID=sharinginfo&InfoPageName=HC_M2_0606_P"],
+                    ["Export Date: ", "August 08, 2022"],
+                    ["Export Time: ", "19:02 GMT"]]
+
+        self.assertEqual(results, expected)
 
     def test_dict_to_sortedlist(self):
         """test for conversion of dict to sorted list"""