about summary refs log tree commit diff
path: root/gn3/computations
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/computations')
-rw-r--r--gn3/computations/rust_correlation.py42
1 files changed, 23 insertions, 19 deletions
diff --git a/gn3/computations/rust_correlation.py b/gn3/computations/rust_correlation.py
index 9f991b2..d206065 100644
--- a/gn3/computations/rust_correlation.py
+++ b/gn3/computations/rust_correlation.py
@@ -57,7 +57,7 @@ def generate_json_file(tmp_dir, tmp_file,
 
 
 def run_correlation(dataset, trait_vals:
-                    list[str],
+                    str,
                     method: str,
                     delimiter: str):
     """entry function to call rust correlation"""
@@ -84,6 +84,10 @@ def parse_correlation_output(result_file: str, top_n: int = 500) -> list[dict]:
 
     corr_results = []
 
+    breakpoint()
+
+
+
     with open(result_file, "r", encoding="utf-8") as file_reader:
 
         lines = [next(file_reader) for x in range(top_n)]
@@ -120,7 +124,7 @@ def get_samples(all_samples: dict[str, str],
 
         return data
 
-    return({key: float(val) for (key, val) in all_samples.items()
+    return({key: float(val.strip()) for (key, val) in all_samples.items()
             if key not in excluded and val.lower().strip() != "x"})
 
 
@@ -145,26 +149,26 @@ def get_sample_corr_data(sample_type: str,
     return data
 
 
-def parse_tissue_corr_data(tt_symbol: list[dict[str, str]],
-                           symbols_dict: [str, str],
-                           dataset_dict):
-    """get the correct datatype"""
+def parse_tissue_corr_data(symbol_name: str,
+                           symbol_dict: dict[list[str, list[str]]],
+                           dataset_symbols: dict[str, str],
+                           dataset_vals: dict[str, list[str, str]]):
+
+    if symbol_name and symbol_name.lower() in symbol_dict:
+        x_vals = ",".join([str(val)
+                           for val in symbol_dict[symbol_name.lower()]])
 
-    data = []
+        data = []
 
-    if not (tt_symbol):
-        return [[], []]
+        for (trait, symbol) in dataset_symbols.items():
+            try:
+                corr_vals = dataset_vals.get(symbol.lower())
 
-    for (name, symbol) in symbols_dict.items():
-        try:
-            exists = dataset_dict.get(symbol.lower())
-            if exists:
-                corr_values = insert(0, name)
-                ",".join([str(dt) for dt in data])
+                corr_vals.insert(0, trait)
 
-                data.append(corr_values)
+                data.append(",".join([str(val) for val in corr_vals]))
 
-        except Exception as e:
-            pass
+            except Exception as e:
+                pass
 
-    return [symbol[0], data]
+        return (x_vals, data)