aboutsummaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2021-10-19 09:16:38 +0300
committerFrederick Muriuki Muriithi2021-10-19 09:16:38 +0300
commit3304fa682924b8f6bff5126ecf2fb58f4201b968 (patch)
tree7f9d097e0234b086533c2eb36c9d57e59d267949 /tests/unit
parentc5355c5db72fdec9e7e360ceec19d5d50d15ce00 (diff)
downloadgenenetwork3-3304fa682924b8f6bff5126ecf2fb58f4201b968.tar.gz
Implement `dictify_by_samples`
Issue: https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi * gn3/partial_correlations.py: implement `dictify_by_samples` function * tests/unit/test_partial_correlations.py: implement tests for `dictify_by_samples` function Implement the `dictify_by_samples` function as a partial migration of the `web.webqtl.correlation.correlationFunction.fixStrains` function from GN1.
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/test_partial_correlations.py42
1 files changed, 41 insertions, 1 deletions
diff --git a/tests/unit/test_partial_correlations.py b/tests/unit/test_partial_correlations.py
index 0083ef7..6302f74 100644
--- a/tests/unit/test_partial_correlations.py
+++ b/tests/unit/test_partial_correlations.py
@@ -1,7 +1,7 @@
"""Module contains tests for gn3.partial_correlations"""
from unittest import TestCase
-from gn3.partial_correlations import control_samples
+from gn3.partial_correlations import control_samples, dictify_by_samples
sampleslist = ["B6cC3-1", "BXD1", "BXD12", "BXD16", "BXD19", "BXD2"]
control_traits = (
@@ -85,3 +85,43 @@ class TestPartialCorrelations(TestCase):
((None, None, None, None, None, None), (None, None, None, None),
(None, None, None)),
(6, 4, 3)))
+
+ def test_dictify_by_samples(self):
+ """
+ Given:
+ a sequence of sequences with sample names, values and variances, as
+ in the output of `gn3.partial_correlations.control_samples` or
+ the output of `gn3.db.traits.export_informative`
+ When:
+ the sequence is passed as an argument into the
+ `gn3.partial_correlations.dictify_by_sample`
+ Then:
+ return a sequence of dicts with keys being the values of the sample
+ names, and each of who's values being sub-dicts with the keys
+ 'sample_name', 'value' and 'variance' whose values correspond to the
+ values passed in.
+ """
+ self.assertEqual(
+ dictify_by_samples(
+ ((("B6cC3-1", "BXD1", "BXD12", "BXD16", "BXD19", "BXD2"),
+ ("BXD12", "BXD16", "BXD19", "BXD2"),
+ ("B6cC3-1", "BXD1", "BXD2")),
+ ((7.51879, 7.77141, 8.39265, 8.17443, 8.30401, 7.80944),
+ (8.39265, 8.17443, 8.30401, 7.80944),
+ (7.51879, 7.77141, 7.80944)),
+ ((None, None, None, None, None, None), (None, None, None, None),
+ (None, None, None)),
+ (6, 4, 3))),
+ ({"B6cC3-1": {"sample_name": "B6cC3-1", "value": 7.51879, "variance": None},
+ "BXD1": {"sample_name": "BXD1", "value": 7.77141, "variance": None},
+ "BXD12": {"sample_name": "BXD12", "value": 8.39265, "variance": None},
+ "BXD16": {"sample_name": "BXD16", "value": 8.17443, "variance": None},
+ "BXD19": {"sample_name": "BXD19", "value": 8.30401, "variance": None},
+ "BXD2": {"sample_name": "BXD2", "value": 7.80944, "variance": None}},
+ {"BXD12": {"sample_name": "BXD12", "value": 8.39265, "variance": None},
+ "BXD16": {"sample_name": "BXD16", "value": 8.17443, "variance": None},
+ "BXD19": {"sample_name": "BXD19", "value": 8.30401, "variance": None},
+ "BXD2": {"sample_name": "BXD2", "value": 7.80944, "variance": None}},
+ {"B6cC3-1": {"sample_name": "B6cC3-1", "value": 7.51879, "variance": None},
+ "BXD1": {"sample_name": "BXD1", "value": 7.77141, "variance": None},
+ "BXD2": {"sample_name": "BXD2", "value": 7.80944, "variance": None}}))