aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/computations/test_wgcna.py
blob: 8a68985153fe97b0605c0f3afd9653fcbdd61ec9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""module contains python code for wgcna"""
from unittest import TestCase
from gn3.computations.wgcna import dump_wgcna_data
from gn3.computations.wgcna import compose_wgcna_cmd


class TestWgcna(TestCase):
    """test class for wgcna"""

    def test_compose_wgcna_cmd(self):
        """test for composing wgcna cmd"""
        wgcna_cmd = compose_wgcna_cmd("/wgcna.r", "/tmp/wgcna.json")
        self.assertEqual(wgcna_cmd, f"Rscript /wgcna.r  /tmp/wgcna.json")

    def test_create_json_data(self):
        """test for writing the data to a csv file"""
        # # All the traits we have data for (should not contain duplicates)
        # All the strains we have data for (contains duplicates)

        trait_sample_data = {"1425642_at": {"129S1/SvImJ": 7.142, "A/J": 7.31, "AKR/J": 7.49,
                                            "B6D2F1": 6.899, "BALB/cByJ": 7.172, "BALB/cJ": 7.396},
                             "1457784_at": {"129S1/SvImJ": 7.071, "A/J": 7.05, "AKR/J": 7.313,
                                            "B6D2F1": 6.999, "BALB/cByJ": 7.293, "BALB/cJ": 7.117},
                             "1444351_at": {"129S1/SvImJ": 7.221, "A/J": 7.246, "AKR/J": 7.754,
                                            "B6D2F1": 6.866, "BALB/cByJ": 6.752, "BALB/cJ": 7.269}

                             }

        expected_input = {
            "trait_sample_data": trait_sample_data,
            "TOMtype": "unsigned",
            "minModuleSize": 30
        }

        _results = dump_wgcna_data(expected_input)