From 8752937bc1e3cea84eefd3e363b429157f25acb5 Mon Sep 17 00:00:00 2001 From: BonfaceKilz Date: Fri, 5 Mar 2021 12:06:54 +0300 Subject: Add generic fn for computing k and gwa values --- tests/unit/computations/test_gemma.py | 46 +++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'tests/unit') 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") + }) -- cgit v1.2.3