about summary refs log tree commit diff
path: root/tests/unit/computations
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2021-11-18 11:59:53 +0300
committerFrederick Muriuki Muriithi2021-11-18 11:59:53 +0300
commit3dd5fbda7e08999b6470cfe1fbbd19d767adea9b (patch)
treefed4d0ae18d8d39a35184c7e9d80bd942c9f37a3 /tests/unit/computations
parent21fbbfd599c841f082d88ddfc5f4cb362e1eb869 (diff)
downloadgenenetwork3-3dd5fbda7e08999b6470cfe1fbbd19d767adea9b.tar.gz
Fix some linting errors
Issue:
https://github.com/genenetwork/gn-gemtext-threads/blob/main/topics/gn1-migration-to-gn2/partial-correlations.gmi

* Fix some obvious linting errors and remove obsolete code
Diffstat (limited to 'tests/unit/computations')
-rw-r--r--tests/unit/computations/test_partial_correlations.py111
1 files changed, 5 insertions, 106 deletions
diff --git a/tests/unit/computations/test_partial_correlations.py b/tests/unit/computations/test_partial_correlations.py
index 138155d..f77a066 100644
--- a/tests/unit/computations/test_partial_correlations.py
+++ b/tests/unit/computations/test_partial_correlations.py
@@ -1,14 +1,9 @@
 """Module contains tests for gn3.partial_correlations"""
 
-import csv
 from unittest import TestCase
 
 import pandas
 
-from gn3.settings import ROUND_TO
-from gn3.function_helpers import compose
-from gn3.data_helpers import partition_by
-
 from gn3.computations.partial_correlations import (
     fix_samples,
     control_samples,
@@ -99,102 +94,6 @@ dictified_control_samples = (
      "BXD1": {"sample_name": "BXD1", "value": 7.77141, "variance": None},
      "BXD2": {"sample_name": "BXD2", "value":  7.80944, "variance": None}})
 
-def parse_test_data_csv(filename):
-    """
-    Parse test data csv files for R -> Python conversion of some functions.
-    """
-    def __str__to_tuple(line, field):
-        return tuple(float(s.strip()) for s in line[field].split(","))
-
-    with open(filename, newline="\n") as csvfile:
-        reader = csv.DictReader(csvfile, delimiter=",", quotechar='"')
-        lines = tuple(row for row in reader)
-
-    methods = {"p": "pearson", "s": "spearman", "k": "kendall"}
-    return tuple({
-        **line,
-        "x": __str__to_tuple(line, "x"),
-        "y": __str__to_tuple(line, "y"),
-        "z": __str__to_tuple(line, "z"),
-        "method": methods[line["method"]],
-        "rm": line["rm"] == "TRUE",
-        "result": round(float(line["result"]), ROUND_TO)
-    } for line in lines)
-
-def parse_method(key_value):
-    """Parse the partial correlation method"""
-    key, value = key_value
-    if key == "method":
-        methods_dict = {"p": "pearson", "k": "kendall", "s": "spearman"}
-        return (key, methods_dict[value])
-    return key_value
-
-def parse_count(key_value):
-    """Parse the value of count into an integer"""
-    key, value = key_value
-    if key == "count":
-        return (key, int(value))
-    return key_value
-
-def parse_xyz(key_value):
-    """Parse the values of x, y, and z* items into sequences of floats"""
-    key, value = key_value
-    if (key in ("x", "y", "z")) or key.startswith("input.z"):
-        return (
-            key.replace("input", "").replace(".", ""),
-            tuple(float(val.strip("\n\t ")) for val in value.split(",")))
-    return key_value
-
-def parse_rm(key_value):
-    """Parse the rm value into a python True/False value."""
-    key, value = key_value
-    if key == "rm":
-        return (key, value == "TRUE")
-    return key_value
-
-def parse_result(key_value):
-    """Parse the result into a float value."""
-    key, value = key_value
-    if key == "result":
-        return (key, float(value))
-    return key_value
-
-parse_for_rec = compose(
-    parse_result,
-    parse_rm,
-    parse_xyz,
-    parse_count,
-    parse_method,
-    lambda k_v: tuple(item.strip("\n\t ") for item in k_v),
-    lambda s: s.split(":"))
-
-def parse_input_line(line, parser_function):
-    return tuple(
-        parser_function(item) for item in line if not item.startswith("------"))
-
-def merge_z(item):
-    without_z = {
-        key: val for key, val in item.items() if not key.startswith("z")}
-    return {
-        **without_z,
-        "z": item.get(
-            "z",
-            tuple(val for key, val in item.items() if key.startswith("z")))}
-
-def parse_input(lines, parser_function):
-    return tuple(
-        merge_z(dict(item))
-        for item in (parse_input_line(line, parser_function) for line in lines)
-        if len(item) != 0)
-
-def parse_test_data(filename, parser_function):
-    with open(filename, newline="\n") as fl:
-        input_lines = partition_by(
-            lambda s: s.startswith("------"),
-            (line.strip("\n\t ") for line in fl.readlines()))
-
-    return parse_input(input_lines, parser_function)
-
 class TestPartialCorrelations(TestCase):
     """Class for testing partial correlations computation functions"""
 
@@ -382,16 +281,16 @@ class TestPartialCorrelations(TestCase):
         Check that the function builds the correct data frame.
         """
         for xdata, ydata, zdata, expected in (
-                ((0.1, 1.1, 2.1), (2.1, 3.1, 4.1), (5.1, 6.1 ,7.1),
+                ((0.1, 1.1, 2.1), (2.1, 3.1, 4.1), (5.1, 6.1, 7.1),
                  pandas.DataFrame({
                      "x": (0.1, 1.1, 2.1), "y": (2.1, 3.1, 4.1),
-                     "z": (5.1, 6.1 ,7.1)})),
+                     "z": (5.1, 6.1, 7.1)})),
                 ((0.1, 1.1, 2.1), (2.1, 3.1, 4.1),
-                 ((5.1, 6.1 ,7.1), (5.2, 6.2, 7.2), (5.3, 6.3, 7.3)),
+                 ((5.1, 6.1, 7.1), (5.2, 6.2, 7.2), (5.3, 6.3, 7.3)),
                  pandas.DataFrame({
                      "x": (0.1, 1.1, 2.1), "y": (2.1, 3.1, 4.1),
-                     "z0": (5.1, 6.1, 7.1), "z1": (5.2, 6.2 ,7.2),
-                     "z2": (5.3, 6.3 ,7.3)}))):
+                     "z0": (5.1, 6.1, 7.1), "z1": (5.2, 6.2, 7.2),
+                     "z2": (5.3, 6.3, 7.3)}))):
             with self.subTest(xdata=xdata, ydata=ydata, zdata=zdata):
                 self.assertTrue(
                     build_data_frame(xdata, ydata, zdata).equals(expected))