diff options
author | BonfaceKilz | 2021-03-05 12:06:54 +0300 |
---|---|---|
committer | BonfaceKilz | 2021-03-08 21:09:58 +0300 |
commit | 8752937bc1e3cea84eefd3e363b429157f25acb5 (patch) | |
tree | 57ce328b6f0ac10adbb90f09e72962343fb83d49 /tests | |
parent | 5c56425d51ab6a6b4ffd6ec8f86121bd91ff5e63 (diff) | |
download | genenetwork3-8752937bc1e3cea84eefd3e363b429157f25acb5.tar.gz |
Add generic fn for computing k and gwa values
Diffstat (limited to 'tests')
-rw-r--r-- | tests/integration/test_gemma.py | 8 | ||||
-rw-r--r-- | tests/unit/computations/test_gemma.py | 46 |
2 files changed, 50 insertions, 4 deletions
diff --git a/tests/integration/test_gemma.py b/tests/integration/test_gemma.py index 822f088..f4ac685 100644 --- a/tests/integration/test_gemma.py +++ b/tests/integration/test_gemma.py @@ -162,7 +162,7 @@ class GemmaAPITest(unittest.TestCase): self.assertEqual(response.get_json(), {"status": "test"}) @mock.patch("gn3.api.gemma.queue_cmd") - @mock.patch("gn3.api.gemma.get_hash_of_files") + @mock.patch("gn3.computations.gemma.get_hash_of_files") @mock.patch("gn3.api.gemma.jsonfile_to_dict") @mock.patch("gn3.api.gemma.do_paths_exist") @mock.patch("gn3.api.gemma.redis.Redis") @@ -195,7 +195,7 @@ class GemmaAPITest(unittest.TestCase): }) @mock.patch("gn3.api.gemma.queue_cmd") - @mock.patch("gn3.api.gemma.get_hash_of_files") + @mock.patch("gn3.computations.gemma.get_hash_of_files") @mock.patch("gn3.api.gemma.jsonfile_to_dict") @mock.patch("gn3.api.gemma.do_paths_exist") @mock.patch("gn3.api.gemma.redis.Redis") @@ -223,9 +223,9 @@ class GemmaAPITest(unittest.TestCase): "-g /tmp/test-data/genofile.txt " "-p /tmp/test-data/phenofile.txt " "-a /tmp/test-data/snpfile.txt " - "-gk > /tmp/test-data/hash-k-output.json")) + "-gk > /tmp/test-data/hash-3R77Mz-k-output.json")) self.assertEqual(response.get_json(), { - "output_file": "hash-k-output.json", + "output_file": "hash-3R77Mz-k-output.json", "status": "queued", "unique_id": "my-unique-id" }) diff --git a/tests/unit/computations/test_gemma.py b/tests/unit/computations/test_gemma.py index 2d2fbf9..d3fb7aa 100644 --- a/tests/unit/computations/test_gemma.py +++ b/tests/unit/computations/test_gemma.py @@ -2,6 +2,7 @@ import unittest from unittest import mock +from gn3.computations.gemma import compute_k_values from gn3.computations.gemma import generate_hash_of_string from gn3.computations.gemma import generate_pheno_txt_file from gn3.computations.gemma import generate_gemma_computation_cmd @@ -50,3 +51,48 @@ class TestGemma(unittest.TestCase): "test.txt -a genofile_snps.txt " "-gk > /tmp/gn2/" "k_output_gUFhGu4rLG7k+CXLPk1OUg.txt")) + + @mock.patch("gn3.computations.gemma.get_hash_of_files") + def test_compute_k_values_without_loco(self, mock_get_hash): + """Test computing k valuse without loco""" + mock_get_hash.return_value = "my-hash" + self.assertEqual( + compute_k_values(gemma_cmd="gemma-wrapper", + output_dir="/tmp", + token="my-token", + gemma_kwargs={ + "g": "genofile", + "p": "phenofile", + "a": "snpsfile" + }), { + "output_file": + "my-hash-k-output.json", + "gemma_cmd": + ("gemma-wrapper --json -- -g genofile " + "-p phenofile -a snpsfile " + "-gk > /tmp/my-token/my-hash-k-output.json") + }) + + @mock.patch("gn3.computations.gemma.get_hash_of_files") + def test_compute_k_values_with_loco(self, mock_get_hash): + """Test computing k valuse with loco""" + mock_get_hash.return_value = "my-hash" + self.assertEqual( + compute_k_values(gemma_cmd="gemma-wrapper", + output_dir="/tmp", + token="my-token", + chromosomes="1,2,3,4,5", + gemma_kwargs={ + "g": "genofile", + "p": "phenofile", + "a": "snpsfile" + }), { + "output_file": + "my-hash-r+gF5a-k-output.json", + "gemma_cmd": ("gemma-wrapper --json " + "--loco --input 1,2,3,4,5 " + "-- -g genofile " + "-p phenofile -a snpsfile " + "-gk > /tmp/my-token/" + "my-hash-r+gF5a-k-output.json") + }) |